EmSACAN_SetCANEvents
Prototype
emsacan_result_t EmSACAN_SetCANEvents(
emsacan_handle_t Handle,
uint8_t ChannelNumber,
void *NewMessageEvent,
void *BusErrorEvent );
Description
Registers event handles signalled when new CAN data or bus errors occur on the specified port.
Parameters
| Parameter | Direction | Type | Description |
|---|---|---|---|
Handle | in | emsacan_handle_t | Session handle from EmSACAN_Connect. |
ChannelNumber | in | uint8_t | Zero-based port index (0 … NumberofChannels−1). |
NewMessageEvent | in | void | Event set when at least one message is waiting to be read on this port. |
BusErrorEvent | in | void | Event set on bus error on this port. |
Return value
EMSACAN_OK on success, or another emsacan_result_t code on failure.
Example
HANDLE rx_event = CreateEvent(NULL, FALSE, FALSE, NULL);
HANDLE err_event = CreateEvent(NULL, FALSE, FALSE, NULL);
EmSACAN_SetCANEvents(handle, 0, rx_event, err_event);
DWORD w = WaitForSingleObject(rx_event, 100);
if (w == WAIT_OBJECT_0)
EmSACAN_Read(handle, 0, &msg);
