]> rtime.felk.cvut.cz Git - sysless.git/blob - arch/arm/mach-lpc21xx/libs/can/periph/can.h
Added new can feature - can_baud.c - CAN init with autobaudrate calculation
[sysless.git] / arch / arm / mach-lpc21xx / libs / can / periph / can.h
1 #include <stdlib.h>
2 #include <types.h>
3 #include <lpc21xx.h>
4
5 typedef struct _can_msg_t {
6 #define CAN_MSG_RTR    0x40000000
7 #define CAN_MSG_EXTID  0x80000000
8   uint32_t flags;
9   unsigned short dlc;
10   uint32_t id;
11   unsigned char data[8];
12 } can_msg_t;
13
14 typedef void (*can_rx_callback)(can_msg_t *msg);
15
16 /* private global variables */
17 can_rx_callback can_rx_cb;
18
19 /* public global variables */
20 extern volatile int can_msg_received;
21 extern volatile can_msg_t can_rx_msg;
22
23 /* function prototypes */
24 void can_init(uint32_t btr, unsigned rx_isr_vect, can_rx_callback rx_cb); // Marek Peca function btr is register        
25
26 void can_init_baudrate(uint32_t baudrate, unsigned rx_isr_vect, can_rx_callback rx_cb); // Jiri Kubias function  auto baudrate calculation
27 void can_off();
28 int can_tx_msg(can_msg_t *tx_msg);
29
30 void can_rx_isr();
31
32 /*EOF*/