blob: 1bdf6e8bc9d6e578113e7310b5fa3e56a6362029 [file] [log] [blame]
Brian Silverman8d3816a2017-07-03 18:52:15 -07001#ifndef PERIPHERAL_CAN_H_
2#define PERIPHERAL_CAN_H_
3
4#include <stdint.h>
5
6// The code defined here calls functions in vesc/vesc_can.h from various
7// interrupts and expects them to call back into this file to do something.
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13void can_init(void);
14
Brian Silverman110205a2018-01-15 14:33:50 -080015// Mailbox is 2 or 3 for the two send mailboxes.
16int can_send(uint32_t can_id, const unsigned char *data, unsigned int length,
17 unsigned int mailbox);
Brian Silverman8d3816a2017-07-03 18:52:15 -070018
19// Sets *length to -1 if there isn't a new piece of data to receive.
20void can_receive_command(unsigned char *data, int *length);
21
22#ifdef __cplusplus
23}
24#endif
25
26#endif // PERIPHERAL_CAN_H_