#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"
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.
char canChangeFilter | ( | UNS16 | adrCAN, | |
canBusFilterInit | fi | |||
) |
Definition at line 250 of file canOpenDriver.c.
References canInitFilter(), canInitMode(), canInitModeQ(), canSetInterrupt(), canSleepMode(), canSleepModeQ(), and canTestInitMode().
char canEnable | ( | UNS16 | adrCAN | ) |
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.
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.
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.
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.
char canInitMode | ( | UNS16 | adrCAN | ) |
Definition at line 392 of file canOpenDriver.c.
References CANCTL0, canTestInitMode(), and IO_PORTS_8.
char canInitModeQ | ( | UNS16 | adrCAN | ) |
Definition at line 401 of file canOpenDriver.c.
References CANCTL0, canTestInitMode(), and IO_PORTS_8.
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.
UNS8 canSend | ( | UNS8 | notused, | |
Message * | m | |||
) |
Definition at line 505 of file canOpenDriver.c.
References canMsgTransmit(), and CANOPEN_LINE_NUMBER_USED.
char canSetInterrupt | ( | UNS16 | adrCAN | ) |
char canSleepMode | ( | UNS16 | adrCAN | ) |
Definition at line 452 of file canOpenDriver.c.
References CANCTL0, canTestSleepMode(), and IO_PORTS_8.
char canSleepModeQ | ( | UNS16 | adrCAN | ) |
Definition at line 466 of file canOpenDriver.c.
References CANCTL0, canTestInitMode(), canTestSleepMode(), IO_PORTS_8, and MSG_WAR.
char canSleepWupMode | ( | UNS16 | adrCAN | ) |
Definition at line 480 of file canOpenDriver.c.
References CANCTL0, canTestInitMode(), canTestSleepMode(), IO_PORTS_8, and MSG_WAR.
char canTestInitMode | ( | UNS16 | adrCAN | ) |
char canTestSleepMode | ( | UNS16 | adrCAN | ) |
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.
TIMEVAL getElapsedTime | ( | void | ) |
Definition at line 66 of file canOpenDriver.c.
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.
void initHCS12 | ( | void | ) |
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.
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 | ) |
Definition at line 79 of file canOpenDriver.c.
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().
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.
void resetTimer | ( | void | ) |
Definition at line 73 of file canOpenDriver.c.