avr-fw-modules/can/src/rb2_canlink.c

66 lines
1003 B
C
Executable File

#include <can/can.h>
#include <rb2/regbus.h>
typedef struct {
RB2_LINK link;
uint16_t axes_on_can;
uint16_t nodes_on_can;
canframe_t rxframe;
canframe_t txframe;
canfilter_t filter_rx;
list_t pool;
} rb2_canlink_t;
rb2_telegram_buffer_t * rb2_can_receive (RB2_LINK *link);
uint8_t rb2_can_send (RB2_LINK *link,rb2_telegram_buffer_t *telegram);
rb2_canlink_t
*rb2_canlink;
RB2_LINK* rb2_create_can_link(void){
if (rb2_canlink){
return &(rb2_canlink->link);
};
rb2_canlink = malloc(sizeof(rb2_canlink_t));
if (rb2_canlink){
memset(rb2_canlink, 0x00, sizeof(rb2_canlink_t));
rb2_canlink->filter_rx.id = (canid_t){
ide: 1,
addr: (1L<<25)
};
rb2_canlink->filter_rx.mask = (canid_t){
ide: 1,
addr: 0x1EFF0000
};
};
return &(rb2_canlink->link);
};
rb2_telegram_buffer_t* rb2_can_receive (RB2_LINK *link){
return NULL;
};
uint8_t rb2_can_send (RB2_LINK *link,rb2_telegram_buffer_t *telegram){
return 0;
};