#include <stddef.h>#include "../include/hcs12/asm-m68hc12/portsaccess.h"#include "../include/hcs12/asm-m68hc12/ports_def.h"#include "../include/hcs12/asm-m68hc12/ports.h"#include "../include/data.h"#include "../include/hcs12/applicfg.h"#include "../include/hcs12/candriver.h"#include "../include/hcs12/interrupt.h"#include "../include/hcs12/canOpenDriver.h"#include "../include/can.h"#include "../include/objdictdef.h"#include "../include/timer.h"Include dependency graph for canOpenDriver.c:

Go to the source code of this file.
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) |
| #define DEBUG_ERR_CONSOLE_ON |
Definition at line 24 of file canOpenDriver.c.
| #define DEBUG_WAR_CONSOLE_ON |
Definition at line 23 of file canOpenDriver.c.
| #define max | ( | a, | |||
| b | ) | a>b?a:b |
| void __attribute__ | ( | (interrupt) | ) |
Message transmitted on MSCAN 0
Definition at line 54 of file canOpenDriver.c.
References IO_PORTS_16, and TC4H.
| char canAddIdToFilter | ( | UNS16 | adrCAN, | |
| UNS8 | nFilter, | |||
| UNS16 | id | |||
| ) |
Definition at line 210 of file canOpenDriver.c.
References CANIDAR0, CANIDAR2, CANIDAR4, CANIDAR6, canTestInitMode(), IO_PORTS_16, IO_PORTS_8, MSG_WAR, and UNS8.
Here is the call graph for this function:

| char canChangeFilter | ( | UNS16 | adrCAN, | |
| canBusFilterInit | fi | |||
| ) |
Definition at line 250 of file canOpenDriver.c.
References canInitFilter(), canInitMode(), canInitModeQ(), canSetInterrupt(), canSleepMode(), canSleepModeQ(), and canTestInitMode().
Referenced by gene_SYNC_operational(), and gene_SYNC_preOperational().
Here is the call graph for this function:

| char canEnable | ( | UNS16 | adrCAN | ) |
Definition at line 266 of file canOpenDriver.c.
References CANCTL1, and IO_PORTS_8.
Referenced by canInit().
| char canInit | ( | UNS16 | adrCAN, | |
| canBusInit | bi | |||
| ) |
Definition at line 277 of file canOpenDriver.c.
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.
Here is the call graph for this function:

| char canInit1Filter | ( | UNS16 | adrCAN, | |
| UNS8 | nFilter, | |||
| UNS16 | ar, | |||
| UNS16 | mr | |||
| ) |
Definition at line 335 of file canOpenDriver.c.
References CANIDAR0, CANIDAR2, CANIDAR4, CANIDAR6, canTestInitMode(), IO_PORTS_8, MSG_WAR, and UNS8.
Here is the call graph for this function:

| char canInitClock | ( | UNS16 | adrCAN, | |
| canBusTime | clk | |||
| ) |
Definition at line 313 of file canOpenDriver.c.
References canBusTime::brp, CANBTR0, CANBTR1, CANCTL1, canTestInitMode(), canBusTime::clksrc, IO_PORTS_8, MSG_WAR, canBusTime::samp, canBusTime::sjw, canBusTime::tseg1, and canBusTime::tseg2.
Referenced by canInit().
Here is the call graph for this function:

| char canInitFilter | ( | UNS16 | adrCAN, | |
| canBusFilterInit | fi | |||
| ) |
Definition at line 364 of file canOpenDriver.c.
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.
Referenced by canChangeFilter(), and canInit().
Here is the call graph for this function:

| char canInitMode | ( | UNS16 | adrCAN | ) |
Definition at line 392 of file canOpenDriver.c.
References CANCTL0, canTestInitMode(), and IO_PORTS_8.
Referenced by canChangeFilter(), and canInit().
Here is the call graph for this function:

| char canInitModeQ | ( | UNS16 | adrCAN | ) |
Definition at line 401 of file canOpenDriver.c.
References CANCTL0, canTestInitMode(), and IO_PORTS_8.
Referenced by canChangeFilter(), and canInit().
Here is the call graph for this function:

| char canMsgTransmit | ( | UNS16 | adrCAN, | |
| Message | msg | |||
| ) |
Definition at line 410 of file canOpenDriver.c.
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.
Referenced by canSend().
| UNS8 canSend | ( | UNS8 | notused, | |
| Message * | m | |||
| ) |
Definition at line 505 of file canOpenDriver.c.
References canMsgTransmit(), and CANOPEN_LINE_NUMBER_USED.
Referenced by canSend(), LoadCanDriver(), masterSendNMTnodeguard(), masterSendNMTstateChange(), proceedNODE_GUARD(), ProducerHearbeatAlarm(), sendPDO(), sendSDO(), sendSYNC(), and slaveSendBootUp().
Here is the call graph for this function:

| char canSetInterrupt | ( | UNS16 | adrCAN | ) |
Definition at line 445 of file canOpenDriver.c.
References CANRIER, CANTIER, and IO_PORTS_8.
Referenced by canChangeFilter(), and canInit().
| char canSleepMode | ( | UNS16 | adrCAN | ) |
Definition at line 452 of file canOpenDriver.c.
References CANCTL0, canTestSleepMode(), and IO_PORTS_8.
Referenced by canChangeFilter(), and canInit().
Here is the call graph for this function:

| char canSleepModeQ | ( | UNS16 | adrCAN | ) |
Definition at line 466 of file canOpenDriver.c.
References CANCTL0, canTestInitMode(), canTestSleepMode(), IO_PORTS_8, and MSG_WAR.
Referenced by canChangeFilter(), and canInit().
Here is the call graph for this function:

| char canSleepWupMode | ( | UNS16 | adrCAN | ) |
Definition at line 480 of file canOpenDriver.c.
References CANCTL0, canTestInitMode(), canTestSleepMode(), IO_PORTS_8, and MSG_WAR.
Here is the call graph for this function:

| char canTestInitMode | ( | UNS16 | adrCAN | ) |
Definition at line 493 of file canOpenDriver.c.
References CANCTL1, and IO_PORTS_8.
Referenced by canAddIdToFilter(), canChangeFilter(), canInit(), canInit1Filter(), canInitClock(), canInitFilter(), canInitMode(), canInitModeQ(), canSleepModeQ(), and canSleepWupMode().
| char canTestSleepMode | ( | UNS16 | adrCAN | ) |
Definition at line 499 of file canOpenDriver.c.
References CANCTL1, and IO_PORTS_8.
Referenced by canSleepMode(), canSleepModeQ(), and canSleepWupMode().
| UNS8 f_can_receive | ( | UNS8 | notused, | |
| Message * | m | |||
| ) |
Definition at line 513 of file canOpenDriver.c.
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.
Referenced by main().
| TIMEVAL getElapsedTime | ( | void | ) |
| char* hex_convert | ( | char * | buf, | |
| unsigned long | value, | |||
| char | lastCar | |||
| ) |
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 = '
' buf[0] = '0' buf[1] = 'X' buf[2] = 'A' .... buf[7] = 'F' buf[8] = '
' buf[9] = ''
Definition at line 135 of file canOpenDriver.c.
Referenced by printSCI_nbr().
| void initHCS12 | ( | void | ) |
Put here all the code to init the HCS12.
Definition at line 199 of file canOpenDriver.c.
References initPLL(), and MSG_WAR.
Referenced by initSensor().
Here is the call graph for this function:

| void initPLL | ( | void | ) |
to start using the PLL. Bus clock becomes 24 MHz if the quartz on the board is at 16 MHz
Definition at line 188 of file canOpenDriver.c.
References CLKSEL, CRGFLG, IO_PORTS_8, PLLCTL, REFDV, and SYNR.
Referenced by initHCS12().
| void initSCI_0 | ( | void | ) |
Initialisation of the serial port 0.
Definition at line 115 of file canOpenDriver.c.
References BUS_CLOCK, IO_PORTS_16, IO_PORTS_8, SCI0, SCIBDH, SCICR1, SCICR2, and SERIAL_SCI0_BAUD_RATE.
| void initSCI_1 | ( | void | ) |
Initialisation of the serial port 1.
Definition at line 124 of file canOpenDriver.c.
References BUS_CLOCK, IO_PORTS_16, IO_PORTS_8, SCI1, SCIBDH, SCICR1, SCICR2, and SERIAL_SCI1_BAUD_RATE.
| void initTimer | ( | void | ) |
| void printSCI_nbr | ( | char | sci, | |
| unsigned long | nbr, | |||
| char | lastCar | |||
| ) |
Print the number in hexadecimal to the serial port sci (sci takes the values SCI0 or SCI1)
Definition at line 179 of file canOpenDriver.c.
References hex_convert(), and printSCI_str().
Here is the call graph for this function:

| void printSCI_str | ( | char | sci, | |
| const char * | str | |||
| ) |
Print the string to the serial port sci (sci takes the values SCI0 or SCI1)
Definition at line 162 of file canOpenDriver.c.
References IO_PORTS_8, SCIDRL, and SCISR1.
Referenced by printSCI_nbr().
| void resetTimer | ( | void | ) |
Definition at line 73 of file canOpenDriver.c.
1.5.1