Lines Matching refs:can_periph
50 void can_deinit(uint32_t can_periph) in can_deinit() argument
52 if(CAN0 == can_periph){ in can_deinit()
159 ErrStatus can_init(uint32_t can_periph, can_parameter_struct* can_parameter_init) in can_init() argument
165 CAN_CTL(can_periph) &= ~CAN_CTL_SLPWMOD; in can_init()
167 CAN_CTL(can_periph) |= CAN_CTL_IWMOD; in can_init()
169 while((CAN_STAT_IWS != (CAN_STAT(can_periph) & CAN_STAT_IWS)) && (0U != timeout)){ in can_init()
173 if(CAN_STAT_IWS != (CAN_STAT(can_periph) & CAN_STAT_IWS)){ in can_init()
177 CAN_BT(can_periph) = (BT_MODE((uint32_t)can_parameter_init->working_mode) | \ in can_init()
185 CAN_CTL(can_periph) |= CAN_CTL_TTC; in can_init()
187 CAN_CTL(can_periph) &= ~CAN_CTL_TTC; in can_init()
191 CAN_CTL(can_periph) |= CAN_CTL_ABOR; in can_init()
193 CAN_CTL(can_periph) &= ~CAN_CTL_ABOR; in can_init()
197 CAN_CTL(can_periph) |= CAN_CTL_AWU; in can_init()
199 CAN_CTL(can_periph) &= ~CAN_CTL_AWU; in can_init()
203 CAN_CTL(can_periph) |= CAN_CTL_ARD; in can_init()
205 CAN_CTL(can_periph) &= ~CAN_CTL_ARD; in can_init()
209 CAN_CTL(can_periph) |= CAN_CTL_RFOD; in can_init()
211 CAN_CTL(can_periph) &= ~CAN_CTL_RFOD; in can_init()
215 CAN_CTL(can_periph) |= CAN_CTL_TFO; in can_init()
217 CAN_CTL(can_periph) &= ~CAN_CTL_TFO; in can_init()
220 CAN_CTL(can_periph) &= ~CAN_CTL_IWMOD; in can_init()
223 while((CAN_STAT_IWS == (CAN_STAT(can_periph) & CAN_STAT_IWS)) && (0U != timeout)){ in can_init()
340 void can_debug_freeze_enable(uint32_t can_periph) in can_debug_freeze_enable() argument
342 CAN_CTL(can_periph) |= CAN_CTL_DFZ; in can_debug_freeze_enable()
344 if(CAN0 == can_periph){ in can_debug_freeze_enable()
358 void can_debug_freeze_disable(uint32_t can_periph) in can_debug_freeze_disable() argument
360 CAN_CTL(can_periph) &= ~CAN_CTL_DFZ; in can_debug_freeze_disable()
362 if(CAN0 == can_periph){ in can_debug_freeze_disable()
376 void can_time_trigger_mode_enable(uint32_t can_periph) in can_time_trigger_mode_enable() argument
381 CAN_CTL(can_periph) |= CAN_CTL_TTC; in can_time_trigger_mode_enable()
384 CAN_TMP(can_periph, mailbox_number) |= CAN_TMP_TSEN; in can_time_trigger_mode_enable()
395 void can_time_trigger_mode_disable(uint32_t can_periph) in can_time_trigger_mode_disable() argument
400 CAN_CTL(can_periph) &= ~CAN_CTL_TTC; in can_time_trigger_mode_disable()
403 CAN_TMP(can_periph, mailbox_number) &= ~CAN_TMP_TSEN; in can_time_trigger_mode_disable()
421 uint8_t can_message_transmit(uint32_t can_periph, can_trasnmit_message_struct* transmit_message) in can_message_transmit() argument
426 if(CAN_TSTAT_TME0 == (CAN_TSTAT(can_periph)&CAN_TSTAT_TME0)){ in can_message_transmit()
428 }else if(CAN_TSTAT_TME1 == (CAN_TSTAT(can_periph)&CAN_TSTAT_TME1)){ in can_message_transmit()
430 }else if(CAN_TSTAT_TME2 == (CAN_TSTAT(can_periph)&CAN_TSTAT_TME2)){ in can_message_transmit()
440 CAN_TMI(can_periph, mailbox_number) &= CAN_TMI_TEN; in can_message_transmit()
443 CAN_TMI(can_periph, mailbox_number) |= (uint32_t)(TMI_SFID(transmit_message->tx_sfid) | \ in can_message_transmit()
447 CAN_TMI(can_periph, mailbox_number) |= (uint32_t)(TMI_EFID(transmit_message->tx_efid) | \ in can_message_transmit()
452 CAN_TMP(can_periph, mailbox_number) &= ~CAN_TMP_DLENC; in can_message_transmit()
453 CAN_TMP(can_periph, mailbox_number) |= transmit_message->tx_dlen; in can_message_transmit()
455 CAN_TMDATA0(can_periph, mailbox_number) = TMDATA0_DB3(transmit_message->tx_data[3]) | \ in can_message_transmit()
459 CAN_TMDATA1(can_periph, mailbox_number) = TMDATA1_DB7(transmit_message->tx_data[7]) | \ in can_message_transmit()
464 CAN_TMI(can_periph, mailbox_number) |= CAN_TMI_TEN; in can_message_transmit()
479 can_transmit_state_enum can_transmit_states(uint32_t can_periph, uint8_t mailbox_number) in can_transmit_states() argument
488 val = CAN_TSTAT(can_periph) & (CAN_TSTAT_MTF0 | CAN_TSTAT_MTFNERR0 | CAN_TSTAT_TME0); in can_transmit_states()
492 val = CAN_TSTAT(can_periph) & (CAN_TSTAT_MTF1 | CAN_TSTAT_MTFNERR1 | CAN_TSTAT_TME1); in can_transmit_states()
496 val = CAN_TSTAT(can_periph) & (CAN_TSTAT_MTF2 | CAN_TSTAT_MTFNERR2 | CAN_TSTAT_TME2); in can_transmit_states()
538 void can_transmission_stop(uint32_t can_periph, uint8_t mailbox_number) in can_transmission_stop() argument
541 CAN_TSTAT(can_periph) |= CAN_TSTAT_MST0; in can_transmission_stop()
542 while(CAN_TSTAT_MST0 == (CAN_TSTAT(can_periph) & CAN_TSTAT_MST0)){ in can_transmission_stop()
545 CAN_TSTAT(can_periph) |= CAN_TSTAT_MST1; in can_transmission_stop()
546 while(CAN_TSTAT_MST1 == (CAN_TSTAT(can_periph) & CAN_TSTAT_MST1)){ in can_transmission_stop()
549 CAN_TSTAT(can_periph) |= CAN_TSTAT_MST2; in can_transmission_stop()
550 while(CAN_TSTAT_MST2 == (CAN_TSTAT(can_periph) & CAN_TSTAT_MST2)){ in can_transmission_stop()
573 void can_message_receive(uint32_t can_periph, uint8_t fifo_number, can_receive_message_struct* rece… in can_message_receive() argument
576 receive_message->rx_ff = (uint8_t)(CAN_RFIFOMI_FF & CAN_RFIFOMI(can_periph, fifo_number)); in can_message_receive()
579 … receive_message->rx_sfid = (uint32_t)(GET_RFIFOMI_SFID(CAN_RFIFOMI(can_periph, fifo_number))); in can_message_receive()
582 … receive_message->rx_efid = (uint32_t)(GET_RFIFOMI_EFID(CAN_RFIFOMI(can_periph, fifo_number))); in can_message_receive()
586 … receive_message->rx_ft = (uint8_t)(CAN_RFIFOMI_FT & CAN_RFIFOMI(can_periph, fifo_number)); in can_message_receive()
588 receive_message->rx_fi = (uint8_t)(GET_RFIFOMP_FI(CAN_RFIFOMP(can_periph, fifo_number))); in can_message_receive()
590 receive_message->rx_dlen = (uint8_t)(GET_RFIFOMP_DLENC(CAN_RFIFOMP(can_periph, fifo_number))); in can_message_receive()
593 …receive_message -> rx_data[0] = (uint8_t)(GET_RFIFOMDATA0_DB0(CAN_RFIFOMDATA0(can_periph, fifo_num… in can_message_receive()
594 …receive_message -> rx_data[1] = (uint8_t)(GET_RFIFOMDATA0_DB1(CAN_RFIFOMDATA0(can_periph, fifo_num… in can_message_receive()
595 …receive_message -> rx_data[2] = (uint8_t)(GET_RFIFOMDATA0_DB2(CAN_RFIFOMDATA0(can_periph, fifo_num… in can_message_receive()
596 …receive_message -> rx_data[3] = (uint8_t)(GET_RFIFOMDATA0_DB3(CAN_RFIFOMDATA0(can_periph, fifo_num… in can_message_receive()
597 …receive_message -> rx_data[4] = (uint8_t)(GET_RFIFOMDATA1_DB4(CAN_RFIFOMDATA1(can_periph, fifo_num… in can_message_receive()
598 …receive_message -> rx_data[5] = (uint8_t)(GET_RFIFOMDATA1_DB5(CAN_RFIFOMDATA1(can_periph, fifo_num… in can_message_receive()
599 …receive_message -> rx_data[6] = (uint8_t)(GET_RFIFOMDATA1_DB6(CAN_RFIFOMDATA1(can_periph, fifo_num… in can_message_receive()
600 …receive_message -> rx_data[7] = (uint8_t)(GET_RFIFOMDATA1_DB7(CAN_RFIFOMDATA1(can_periph, fifo_num… in can_message_receive()
604 CAN_RFIFO0(can_periph) |= CAN_RFIFO0_RFD0; in can_message_receive()
606 CAN_RFIFO1(can_periph) |= CAN_RFIFO1_RFD1; in can_message_receive()
620 void can_fifo_release(uint32_t can_periph, uint8_t fifo_number) in can_fifo_release() argument
623 CAN_RFIFO0(can_periph) |= CAN_RFIFO0_RFD0; in can_fifo_release()
625 CAN_RFIFO1(can_periph) |= CAN_RFIFO1_RFD1; in can_fifo_release()
642 uint8_t can_receive_message_length_get(uint32_t can_periph, uint8_t fifo_number) in can_receive_message_length_get() argument
648 val = (uint8_t)(CAN_RFIFO0(can_periph) & CAN_RFIF_RFL_MASK); in can_receive_message_length_get()
651 val = (uint8_t)(CAN_RFIFO1(can_periph) & CAN_RFIF_RFL_MASK); in can_receive_message_length_get()
670 ErrStatus can_working_mode_set(uint32_t can_periph, uint8_t working_mode) in can_working_mode_set() argument
678 CAN_CTL(can_periph) &= (~(uint32_t)CAN_CTL_SLPWMOD); in can_working_mode_set()
680 CAN_CTL(can_periph) |= (uint8_t)CAN_CTL_IWMOD; in can_working_mode_set()
682 while((CAN_STAT_IWS != (CAN_STAT(can_periph) & CAN_STAT_IWS)) && (0U != timeout)){ in can_working_mode_set()
685 if(CAN_STAT_IWS != (CAN_STAT(can_periph) & CAN_STAT_IWS)){ in can_working_mode_set()
692 CAN_CTL(can_periph) &= ~(uint32_t)(CAN_CTL_SLPWMOD | CAN_CTL_IWMOD); in can_working_mode_set()
694 while((0U != (CAN_STAT(can_periph) & (CAN_STAT_IWS | CAN_STAT_SLPWS))) && (0U != timeout)){ in can_working_mode_set()
697 if(0U != (CAN_STAT(can_periph) & (CAN_STAT_IWS | CAN_STAT_SLPWS))){ in can_working_mode_set()
704 CAN_CTL(can_periph) &= (~(uint32_t)CAN_CTL_IWMOD); in can_working_mode_set()
706 CAN_CTL(can_periph) |= (uint8_t)CAN_CTL_SLPWMOD; in can_working_mode_set()
708 while((CAN_STAT_SLPWS != (CAN_STAT(can_periph) & CAN_STAT_SLPWS)) && (0U != timeout)){ in can_working_mode_set()
711 if(CAN_STAT_SLPWS != (CAN_STAT(can_periph) & CAN_STAT_SLPWS)){ in can_working_mode_set()
729 ErrStatus can_wakeup(uint32_t can_periph) in can_wakeup() argument
735 CAN_CTL(can_periph) &= ~CAN_CTL_SLPWMOD; in can_wakeup()
737 while((0U != (CAN_STAT(can_periph) & CAN_STAT_SLPWS)) && (0x00U != timeout)){ in can_wakeup()
741 if(0U != (CAN_STAT(can_periph) & CAN_STAT_SLPWS)){ in can_wakeup()
764 can_error_enum can_error_get(uint32_t can_periph) in can_error_get() argument
770 error = (can_error_enum)(GET_ERR_ERRN(CAN_ERR(can_periph))); in can_error_get()
781 uint8_t can_receive_error_number_get(uint32_t can_periph) in can_receive_error_number_get() argument
786 val = (uint8_t)(GET_ERR_RECNT(CAN_ERR(can_periph))); in can_receive_error_number_get()
797 uint8_t can_transmit_error_number_get(uint32_t can_periph) in can_transmit_error_number_get() argument
801 val = (uint8_t)(GET_ERR_TECNT(CAN_ERR(can_periph))); in can_transmit_error_number_get()
828 void can_interrupt_enable(uint32_t can_periph, uint32_t interrupt) in can_interrupt_enable() argument
830 CAN_INTEN(can_periph) |= interrupt; in can_interrupt_enable()
856 void can_interrupt_disable(uint32_t can_periph, uint32_t interrupt) in can_interrupt_disable() argument
858 CAN_INTEN(can_periph) &= ~interrupt; in can_interrupt_disable()
904 FlagStatus can_flag_get(uint32_t can_periph, can_flag_enum flag) in can_flag_get() argument
907 if(RESET != (CAN_REG_VAL(can_periph, flag) & BIT(CAN_BIT_POS(flag)))){ in can_flag_get()
942 void can_flag_clear(uint32_t can_periph, can_flag_enum flag) in can_flag_clear() argument
944 CAN_REG_VAL(can_periph, flag) = BIT(CAN_BIT_POS(flag)); in can_flag_clear()
972 FlagStatus can_interrupt_flag_get(uint32_t can_periph, can_interrupt_flag_enum flag) in can_interrupt_flag_get() argument
979 ret1 = can_receive_message_length_get(can_periph, CAN_FIFO0); in can_interrupt_flag_get()
981 ret1 = can_receive_message_length_get(can_periph, CAN_FIFO1); in can_interrupt_flag_get()
983 ret1 = can_error_get(can_periph); in can_interrupt_flag_get()
985 ret1 = CAN_REG_VALS(can_periph, flag) & BIT(CAN_BIT_POS0(flag)); in can_interrupt_flag_get()
988 ret2 = CAN_INTEN(can_periph) & BIT(CAN_BIT_POS1(flag)); in can_interrupt_flag_get()
1015 void can_interrupt_flag_clear(uint32_t can_periph, can_interrupt_flag_enum flag) in can_interrupt_flag_clear() argument
1017 CAN_REG_VALS(can_periph, flag) = BIT(CAN_BIT_POS0(flag)); in can_interrupt_flag_clear()