__interrupt #endif static void can1_wakeup_handler(void) { CANIF_clr_interrupt_status(1); CAN_stream_tx[1]->transmission_active=false; }
__interrupt #endif static void can0_busoff_handler(void) { CANIF_clr_interrupt_status(0); CAN_stream_tx[0]->transmission_active=false; }
__interrupt #endif static void can1_cerr_handler(void) { CANIF_clr_interrupt_status(1); CANIF_mob_disable(1, CAN_TX_MOB); // switch off (no retransmission attempt) CAN_stream_tx[1]->transmission_active=false; }
//! Call Back called by can_drv void can_out_callback_channel0(U8 handle, U8 event) { /* Reception of Wakeup frame */ if (handle == NO_MOB) { /* Disable Wake-Up Mode */ CANIF_disable_wakeup(CAN_CHANNEL_EXAMPLE); /* Clear Interrupt Flag */ CANIF_clr_interrupt_status(CAN_CHANNEL_EXAMPLE); gpio_clr_gpio_pin(LED0_GPIO); } else { /* Reception of Data frame */ appli_rx_msg.can_msg->data.u64 = can_get_mob_data(CAN_CHANNEL_EXAMPLE,handle).u64; appli_rx_msg.can_msg->id = can_get_mob_id(CAN_CHANNEL_EXAMPLE,handle); appli_rx_msg.dlc = can_get_mob_dlc(CAN_CHANNEL_EXAMPLE,handle); appli_rx_msg.status = event; can_mob_free(CAN_CHANNEL_EXAMPLE,handle); nb_message_received_on_channel0 = 1; gpio_clr_gpio_pin(LED1_GPIO); } }