nico@207: nico@207: nico@207: CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/hcs12/canOpenDriver.c File Reference nico@207: nico@207: nico@207: nico@207: nico@207:
nico@207:
nico@207:
nico@207:
nico@207:

/home/epimerde/documents/tc11/CanFestival-3/drivers/hcs12/canOpenDriver.c File Reference

#include <stddef.h>
nico@207: #include "../include/hcs12/asm-m68hc12/portsaccess.h"
nico@207: #include "../include/hcs12/asm-m68hc12/ports_def.h"
nico@207: #include "../include/hcs12/asm-m68hc12/ports.h"
nico@207: #include "../include/data.h"
nico@207: #include "../include/hcs12/applicfg.h"
nico@207: #include "../include/hcs12/candriver.h"
nico@207: #include "../include/hcs12/interrupt.h"
nico@207: #include "../include/hcs12/canOpenDriver.h"
nico@207: #include "../include/can.h"
nico@207: #include "../include/objdictdef.h"
nico@207: #include "../include/timer.h"
nico@207: nico@207:

nico@207: Go to the source code of this file. nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:

Defines

#define DEBUG_WAR_CONSOLE_ON
#define DEBUG_ERR_CONSOLE_ON
#define max(a, b)   a>b?a:b

Functions

UNS8 f_can_receive (UNS8 notused, Message *m)
UNS8 canSend (UNS8 notused, Message *m)
void __attribute__ ((interrupt))
TIMEVAL getElapsedTime ()
void resetTimer (void)
void initTimer (void)
void initSCI_0 (void)
 Initialisation of the serial port 0.
void initSCI_1 (void)
 Initialisation of the serial port 1.
char * hex_convert (char *buf, unsigned long value, char lastCar)
void printSCI_str (char sci, const char *str)
void printSCI_nbr (char sci, unsigned long nbr, char lastCar)
void initPLL (void)
void initHCS12 (void)
 Put here all the code to init the HCS12.
char canAddIdToFilter (UNS16 adrCAN, UNS8 nFilter, UNS16 id)
char canChangeFilter (UNS16 adrCAN, canBusFilterInit fi)
char canEnable (UNS16 adrCAN)
char canInit (UNS16 adrCAN, canBusInit bi)
char canInitClock (UNS16 adrCAN, canBusTime clk)
char canInit1Filter (UNS16 adrCAN, UNS8 nFilter, UNS16 ar, UNS16 mr)
char canInitFilter (UNS16 adrCAN, canBusFilterInit fi)
char canInitMode (UNS16 adrCAN)
char canInitModeQ (UNS16 adrCAN)
char canMsgTransmit (UNS16 adrCAN, Message msg)
char canSetInterrupt (UNS16 adrCAN)
char canSleepMode (UNS16 adrCAN)
char canSleepModeQ (UNS16 adrCAN)
char canSleepWupMode (UNS16 adrCAN)
char canTestInitMode (UNS16 adrCAN)
char canTestSleepMode (UNS16 adrCAN)
nico@207:


Define Documentation

nico@207: nico@207:
nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207:
#define DEBUG_ERR_CONSOLE_ON
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 24 of file canOpenDriver.c. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207:
#define DEBUG_WAR_CONSOLE_ON
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 23 of file canOpenDriver.c. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
#define max (a,
 )    a>b?a:b
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207:

nico@207:


Function Documentation

nico@207: nico@207:
nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
void __attribute__ ((interrupt)   ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: Message transmitted on MSCAN 0 nico@207:

nico@207: Definition at line 54 of file canOpenDriver.c. nico@207:

nico@207: References IO_PORTS_16, and TC4H. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canAddIdToFilter (UNS16  adrCAN,
UNS8  nFilter,
UNS16  id 
)
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 210 of file canOpenDriver.c. nico@207:

nico@207: References CANIDAR0, CANIDAR2, CANIDAR4, CANIDAR6, canTestInitMode(), IO_PORTS_16, IO_PORTS_8, MSG_WAR, and UNS8. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canChangeFilter (UNS16  adrCAN,
canBusFilterInit  fi 
)
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 250 of file canOpenDriver.c. nico@207:

nico@207: References canInitFilter(), canInitMode(), canInitModeQ(), canSetInterrupt(), canSleepMode(), canSleepModeQ(), and canTestInitMode(). nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canEnable (UNS16  adrCAN  ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 266 of file canOpenDriver.c. nico@207:

nico@207: References CANCTL1, and IO_PORTS_8. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canInit (UNS16  adrCAN,
canBusInit  bi 
)
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 277 of file canOpenDriver.c. nico@207:

nico@207: References CANCTL0, CANCTL1, canBusInit::cane, canEnable(), canInitClock(), canInitFilter(), canInitMode(), canInitModeQ(), canSetInterrupt(), canSleepMode(), canSleepModeQ(), canTestInitMode(), canBusInit::clk, canBusInit::cswai, canBusInit::fi, IO_PORTS_8, canBusInit::listen, canBusInit::loopb, canBusInit::time, and canBusInit::wupm. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canInit1Filter (UNS16  adrCAN,
UNS8  nFilter,
UNS16  ar,
UNS16  mr 
)
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 335 of file canOpenDriver.c. nico@207:

nico@207: References CANIDAR0, CANIDAR2, CANIDAR4, CANIDAR6, canTestInitMode(), IO_PORTS_8, MSG_WAR, and UNS8. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canInitClock (UNS16  adrCAN,
canBusTime  clk 
)
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 313 of file canOpenDriver.c. nico@207:

nico@207: References canBusTime::brp, CANBTR0, CANBTR1, CANCTL1, canTestInitMode(), canBusTime::clksrc, IO_PORTS_8, MSG_WAR, canBusTime::samp, canBusTime::sjw, canBusTime::tseg1, and canBusTime::tseg2. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canInitFilter (UNS16  adrCAN,
canBusFilterInit  fi 
)
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 364 of file canOpenDriver.c. nico@207:

nico@207: References CANIDAC, CANIDAR0, canBusFilterInit::canidar0, CANIDAR1, canBusFilterInit::canidar1, CANIDAR2, canBusFilterInit::canidar2, CANIDAR3, canBusFilterInit::canidar3, CANIDAR4, canBusFilterInit::canidar4, CANIDAR5, canBusFilterInit::canidar5, CANIDAR6, canBusFilterInit::canidar6, CANIDAR7, canBusFilterInit::canidar7, CANIDMR0, canBusFilterInit::canidmr0, CANIDMR1, canBusFilterInit::canidmr1, CANIDMR2, canBusFilterInit::canidmr2, CANIDMR3, canBusFilterInit::canidmr3, CANIDMR4, canBusFilterInit::canidmr4, CANIDMR5, canBusFilterInit::canidmr5, CANIDMR6, canBusFilterInit::canidmr6, CANIDMR7, canBusFilterInit::canidmr7, canTestInitMode(), canBusFilterInit::idam, IO_PORTS_8, and MSG_WAR. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canInitMode (UNS16  adrCAN  ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 392 of file canOpenDriver.c. nico@207:

nico@207: References CANCTL0, canTestInitMode(), and IO_PORTS_8. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canInitModeQ (UNS16  adrCAN  ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 401 of file canOpenDriver.c. nico@207:

nico@207: References CANCTL0, canTestInitMode(), and IO_PORTS_8. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canMsgTransmit (UNS16  adrCAN,
Message  msg 
)
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 410 of file canOpenDriver.c. nico@207:

nico@207: References CANTBSEL, CANTFLG, CANTRSDTA, CANTRSID, CANTRSLEN, CANTRSPRI, Message::cob_id, Message::data, IO_PORTS_8, Message::len, MSG_WAR, Message::rtr, UNS8, and SHORT_CAN::w. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
UNS8 canSend (UNS8  notused,
Message m 
)
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 505 of file canOpenDriver.c. nico@207:

nico@207: References canMsgTransmit(), and CANOPEN_LINE_NUMBER_USED. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canSetInterrupt (UNS16  adrCAN  ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 445 of file canOpenDriver.c. nico@207:

nico@207: References CANRIER, CANTIER, and IO_PORTS_8. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canSleepMode (UNS16  adrCAN  ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 452 of file canOpenDriver.c. nico@207:

nico@207: References CANCTL0, canTestSleepMode(), and IO_PORTS_8. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canSleepModeQ (UNS16  adrCAN  ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 466 of file canOpenDriver.c. nico@207:

nico@207: References CANCTL0, canTestInitMode(), canTestSleepMode(), IO_PORTS_8, and MSG_WAR. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canSleepWupMode (UNS16  adrCAN  ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 480 of file canOpenDriver.c. nico@207:

nico@207: References CANCTL0, canTestInitMode(), canTestSleepMode(), IO_PORTS_8, and MSG_WAR. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canTestInitMode (UNS16  adrCAN  ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 493 of file canOpenDriver.c. nico@207:

nico@207: References CANCTL1, and IO_PORTS_8. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char canTestSleepMode (UNS16  adrCAN  ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 499 of file canOpenDriver.c. nico@207:

nico@207: References CANCTL1, and IO_PORTS_8. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
UNS8 f_can_receive (UNS8  notused,
Message m 
)
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 513 of file canOpenDriver.c. nico@207:

nico@207: References CAN0, CAN1, CAN2, CAN3, CAN4, CANOPEN_LINE_NUMBER_USED, Message::cob_id, Message::data, Message::len, MAX_STACK_MSG_RCV, t_pointerStack::r, Message::rtr, UNS8, and SHORT_CAN::w. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
TIMEVAL getElapsedTime (void   ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 66 of file canOpenDriver.c. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
char* hex_convert (char *  buf,
unsigned long  value,
char  lastCar 
)
nico@207:
nico@207:
nico@207: nico@207:

nico@207: Convert an integer to a string in hexadecimal format If you do not wants to use a lastCar, put lastCar = '' (end of string) ex : value = 0XABCDEF and lastCar = '
nico@207: ' buf[0] = '0' buf[1] = 'X' buf[2] = 'A' .... buf[7] = 'F' buf[8] = '
nico@207: ' buf[9] = '' nico@207:

nico@207: Definition at line 135 of file canOpenDriver.c. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
void initHCS12 (void   ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: Put here all the code to init the HCS12. nico@207:

nico@207: nico@207:

nico@207: Definition at line 199 of file canOpenDriver.c. nico@207:

nico@207: References initPLL(), and MSG_WAR. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
void initPLL (void   ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: to start using the PLL. Bus clock becomes 24 MHz if the quartz on the board is at 16 MHz nico@207:

nico@207: Definition at line 188 of file canOpenDriver.c. nico@207:

nico@207: References CLKSEL, CRGFLG, IO_PORTS_8, PLLCTL, REFDV, and SYNR. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
void initSCI_0 (void   ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: Initialisation of the serial port 0. nico@207:

nico@207: nico@207:

nico@207: Definition at line 115 of file canOpenDriver.c. nico@207:

nico@207: References BUS_CLOCK, IO_PORTS_16, IO_PORTS_8, SCI0, SCIBDH, SCICR1, SCICR2, and SERIAL_SCI0_BAUD_RATE. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
void initSCI_1 (void   ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: Initialisation of the serial port 1. nico@207:

nico@207: nico@207:

nico@207: Definition at line 124 of file canOpenDriver.c. nico@207:

nico@207: References BUS_CLOCK, IO_PORTS_16, IO_PORTS_8, SCI1, SCIBDH, SCICR1, SCICR2, and SERIAL_SCI1_BAUD_RATE. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
void initTimer (void   ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 79 of file canOpenDriver.c. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
void printSCI_nbr (char  sci,
unsigned long  nbr,
char  lastCar 
)
nico@207:
nico@207:
nico@207: nico@207:

nico@207: Print the number in hexadecimal to the serial port sci (sci takes the values SCI0 or SCI1) nico@207:

nico@207: Definition at line 179 of file canOpenDriver.c. nico@207:

nico@207: References hex_convert(), and printSCI_str(). nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
void printSCI_str (char  sci,
const char *  str 
)
nico@207:
nico@207:
nico@207: nico@207:

nico@207: Print the string to the serial port sci (sci takes the values SCI0 or SCI1) nico@207:

nico@207: Definition at line 162 of file canOpenDriver.c. nico@207:

nico@207: References IO_PORTS_8, SCIDRL, and SCISR1. nico@207:

nico@207:

nico@207: nico@207:

nico@207:
nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207: nico@207:
void resetTimer (void   ) 
nico@207:
nico@207:
nico@207: nico@207:

nico@207: nico@207:

nico@207: Definition at line 73 of file canOpenDriver.c. nico@207:

nico@207:

nico@207:


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  nico@207: nico@207: doxygen 1.5.1
nico@207: nico@207: