Support for CAN Interface
Posted: Thu Apr 28, 2016 4:16 pm
Hello
is there any support for the CAN 2.0B interface planned? To make a multi master bus with CAN is really easy.
My suggestion for functions managing the CAN stuff would be (in pseudo code):
An RX FIFO, evtl. a TX buffer FIFO (besides that in HW in some controllers)
function "set_CAN_param": error=set_param(BITRATE=..., STATUS=..., FILEid=..., CAN_C=cancontroller#)
function "get_CAN_param"
function "read_CAN_queue": error=read_CAN_queue(FILEID, R ID, R DLC. R data$(8), [R timestamp])
function "read_CAN_queue_wait": error=read_CAN_queue_wait(FILEID, R ID, R DLC. R data$(8), TIMEOUT=timeout, [R timestamp]) ' Waits for a message if there is none
function "write_CAN_queue": error=WRITE_CAN_queue(FILEID, ID, DLC. data$(8)) ' Writes to buffer and returns immediately
function "write_CAN_queue_wait": error=WRITE_CAN_queue_wait(FILEID, ID, DLC. data$(8), TIMEOUT=timeout) ' Writes and waits until ID is transmitted or error occured
function "get_CAN_status": error=get_CAN_status(FILEID, R ERROR_FLAGS)
Any comments from other users or developers?
RMB
is there any support for the CAN 2.0B interface planned? To make a multi master bus with CAN is really easy.
My suggestion for functions managing the CAN stuff would be (in pseudo code):
An RX FIFO, evtl. a TX buffer FIFO (besides that in HW in some controllers)
function "set_CAN_param": error=set_param(BITRATE=..., STATUS=..., FILEid=..., CAN_C=cancontroller#)
function "get_CAN_param"
function "read_CAN_queue": error=read_CAN_queue(FILEID, R ID, R DLC. R data$(8), [R timestamp])
function "read_CAN_queue_wait": error=read_CAN_queue_wait(FILEID, R ID, R DLC. R data$(8), TIMEOUT=timeout, [R timestamp]) ' Waits for a message if there is none
function "write_CAN_queue": error=WRITE_CAN_queue(FILEID, ID, DLC. data$(8)) ' Writes to buffer and returns immediately
function "write_CAN_queue_wait": error=WRITE_CAN_queue_wait(FILEID, ID, DLC. data$(8), TIMEOUT=timeout) ' Writes and waits until ID is transmitted or error occured
function "get_CAN_status": error=get_CAN_status(FILEID, R ERROR_FLAGS)
Any comments from other users or developers?
RMB