Lines Matching refs:can_periph
52 void can_deinit(uint32_t can_periph) in can_deinit() argument
54 if(CAN0 == can_periph) { in can_deinit()
160 ErrStatus can_init(uint32_t can_periph, can_parameter_struct *can_parameter_init) in can_init() argument
166 CAN_CTL(can_periph) &= ~CAN_CTL_SLPWMOD; in can_init()
168 CAN_CTL(can_periph) |= CAN_CTL_IWMOD; in can_init()
170 while((CAN_STAT_IWS != (CAN_STAT(can_periph) & CAN_STAT_IWS)) && (0U != timeout)) { in can_init()
174 if(CAN_STAT_IWS != (CAN_STAT(can_periph) & CAN_STAT_IWS)) { in can_init()
178 CAN_BT(can_periph) = (BT_MODE((uint32_t)can_parameter_init->working_mode) | \ in can_init()
186 CAN_CTL(can_periph) |= CAN_CTL_TTC; in can_init()
188 CAN_CTL(can_periph) &= ~CAN_CTL_TTC; in can_init()
192 CAN_CTL(can_periph) |= CAN_CTL_ABOR; in can_init()
194 CAN_CTL(can_periph) &= ~CAN_CTL_ABOR; in can_init()
198 CAN_CTL(can_periph) |= CAN_CTL_AWU; in can_init()
200 CAN_CTL(can_periph) &= ~CAN_CTL_AWU; in can_init()
204 CAN_CTL(can_periph) |= CAN_CTL_ARD; in can_init()
206 CAN_CTL(can_periph) &= ~CAN_CTL_ARD; in can_init()
210 CAN_CTL(can_periph) |= CAN_CTL_RFOD; in can_init()
212 CAN_CTL(can_periph) &= ~CAN_CTL_RFOD; in can_init()
216 CAN_CTL(can_periph) |= CAN_CTL_TFO; in can_init()
218 CAN_CTL(can_periph) &= ~CAN_CTL_TFO; in can_init()
221 CAN_CTL(can_periph) &= ~CAN_CTL_IWMOD; in can_init()
224 while((CAN_STAT_IWS == (CAN_STAT(can_periph) & CAN_STAT_IWS)) && (0U != timeout)) { in can_init()
341 void can_debug_freeze_enable(uint32_t can_periph) in can_debug_freeze_enable() argument
344 CAN_CTL(can_periph) |= CAN_CTL_DFZ; in can_debug_freeze_enable()
346 if(CAN0 == can_periph) { in can_debug_freeze_enable()
360 void can_debug_freeze_disable(uint32_t can_periph) in can_debug_freeze_disable() argument
363 CAN_CTL(can_periph) &= ~CAN_CTL_DFZ; in can_debug_freeze_disable()
365 if(CAN0 == can_periph) { in can_debug_freeze_disable()
379 void can_time_trigger_mode_enable(uint32_t can_periph) in can_time_trigger_mode_enable() argument
384 CAN_CTL(can_periph) |= CAN_CTL_TTC; in can_time_trigger_mode_enable()
387 CAN_TMP(can_periph, mailbox_number) |= CAN_TMP_TSEN; in can_time_trigger_mode_enable()
398 void can_time_trigger_mode_disable(uint32_t can_periph) in can_time_trigger_mode_disable() argument
403 CAN_CTL(can_periph) &= ~CAN_CTL_TTC; in can_time_trigger_mode_disable()
406 CAN_TMP(can_periph, mailbox_number) &= ~CAN_TMP_TSEN; in can_time_trigger_mode_disable()
424 uint8_t can_message_transmit(uint32_t can_periph, can_trasnmit_message_struct *transmit_message) in can_message_transmit() argument
429 if(CAN_TSTAT_TME0 == (CAN_TSTAT(can_periph)&CAN_TSTAT_TME0)) { in can_message_transmit()
431 } else if(CAN_TSTAT_TME1 == (CAN_TSTAT(can_periph)&CAN_TSTAT_TME1)) { in can_message_transmit()
433 } else if(CAN_TSTAT_TME2 == (CAN_TSTAT(can_periph)&CAN_TSTAT_TME2)) { in can_message_transmit()
443 CAN_TMI(can_periph, mailbox_number) &= CAN_TMI_TEN; in can_message_transmit()
446 CAN_TMI(can_periph, mailbox_number) |= (uint32_t)(TMI_SFID(transmit_message->tx_sfid) | \ in can_message_transmit()
450 CAN_TMI(can_periph, mailbox_number) |= (uint32_t)(TMI_EFID(transmit_message->tx_efid) | \ in can_message_transmit()
455 CAN_TMP(can_periph, mailbox_number) &= ~CAN_TMP_DLENC; in can_message_transmit()
456 CAN_TMP(can_periph, mailbox_number) |= transmit_message->tx_dlen; in can_message_transmit()
458 CAN_TMDATA0(can_periph, mailbox_number) = TMDATA0_DB3(transmit_message->tx_data[3]) | \ in can_message_transmit()
462 CAN_TMDATA1(can_periph, mailbox_number) = TMDATA1_DB7(transmit_message->tx_data[7]) | \ in can_message_transmit()
467 CAN_TMI(can_periph, mailbox_number) |= CAN_TMI_TEN; in can_message_transmit()
482 can_transmit_state_enum can_transmit_states(uint32_t can_periph, uint8_t mailbox_number) in can_transmit_states() argument
491 val = CAN_TSTAT(can_periph) & (CAN_TSTAT_MTF0 | CAN_TSTAT_MTFNERR0 | CAN_TSTAT_TME0); in can_transmit_states()
495 val = CAN_TSTAT(can_periph) & (CAN_TSTAT_MTF1 | CAN_TSTAT_MTFNERR1 | CAN_TSTAT_TME1); in can_transmit_states()
499 val = CAN_TSTAT(can_periph) & (CAN_TSTAT_MTF2 | CAN_TSTAT_MTFNERR2 | CAN_TSTAT_TME2); in can_transmit_states()
541 void can_transmission_stop(uint32_t can_periph, uint8_t mailbox_number) in can_transmission_stop() argument
544 CAN_TSTAT(can_periph) |= CAN_TSTAT_MST0; in can_transmission_stop()
545 while(CAN_TSTAT_MST0 == (CAN_TSTAT(can_periph) & CAN_TSTAT_MST0)) { in can_transmission_stop()
548 CAN_TSTAT(can_periph) |= CAN_TSTAT_MST1; in can_transmission_stop()
549 while(CAN_TSTAT_MST1 == (CAN_TSTAT(can_periph) & CAN_TSTAT_MST1)) { in can_transmission_stop()
552 CAN_TSTAT(can_periph) |= CAN_TSTAT_MST2; in can_transmission_stop()
553 while(CAN_TSTAT_MST2 == (CAN_TSTAT(can_periph) & CAN_TSTAT_MST2)) { in can_transmission_stop()
576 void can_message_receive(uint32_t can_periph, uint8_t fifo_number, can_receive_message_struct *rece… in can_message_receive() argument
579 receive_message->rx_ff = (uint8_t)(CAN_RFIFOMI_FF & CAN_RFIFOMI(can_periph, fifo_number)); in can_message_receive()
582 … receive_message->rx_sfid = (uint32_t)(GET_RFIFOMI_SFID(CAN_RFIFOMI(can_periph, fifo_number))); in can_message_receive()
585 … receive_message->rx_efid = (uint32_t)(GET_RFIFOMI_EFID(CAN_RFIFOMI(can_periph, fifo_number))); in can_message_receive()
589 receive_message->rx_ft = (uint8_t)(CAN_RFIFOMI_FT & CAN_RFIFOMI(can_periph, fifo_number)); in can_message_receive()
591 receive_message->rx_fi = (uint8_t)(GET_RFIFOMP_FI(CAN_RFIFOMP(can_periph, fifo_number))); in can_message_receive()
593 receive_message->rx_dlen = (uint8_t)(GET_RFIFOMP_DLENC(CAN_RFIFOMP(can_periph, fifo_number))); in can_message_receive()
596 …receive_message -> rx_data[0] = (uint8_t)(GET_RFIFOMDATA0_DB0(CAN_RFIFOMDATA0(can_periph, fifo_num… in can_message_receive()
597 …receive_message -> rx_data[1] = (uint8_t)(GET_RFIFOMDATA0_DB1(CAN_RFIFOMDATA0(can_periph, fifo_num… in can_message_receive()
598 …receive_message -> rx_data[2] = (uint8_t)(GET_RFIFOMDATA0_DB2(CAN_RFIFOMDATA0(can_periph, fifo_num… in can_message_receive()
599 …receive_message -> rx_data[3] = (uint8_t)(GET_RFIFOMDATA0_DB3(CAN_RFIFOMDATA0(can_periph, fifo_num… in can_message_receive()
600 …receive_message -> rx_data[4] = (uint8_t)(GET_RFIFOMDATA1_DB4(CAN_RFIFOMDATA1(can_periph, fifo_num… in can_message_receive()
601 …receive_message -> rx_data[5] = (uint8_t)(GET_RFIFOMDATA1_DB5(CAN_RFIFOMDATA1(can_periph, fifo_num… in can_message_receive()
602 …receive_message -> rx_data[6] = (uint8_t)(GET_RFIFOMDATA1_DB6(CAN_RFIFOMDATA1(can_periph, fifo_num… in can_message_receive()
603 …receive_message -> rx_data[7] = (uint8_t)(GET_RFIFOMDATA1_DB7(CAN_RFIFOMDATA1(can_periph, fifo_num… in can_message_receive()
607 CAN_RFIFO0(can_periph) |= CAN_RFIFO0_RFD0; in can_message_receive()
609 CAN_RFIFO1(can_periph) |= CAN_RFIFO1_RFD1; in can_message_receive()
623 void can_fifo_release(uint32_t can_periph, uint8_t fifo_number) in can_fifo_release() argument
626 CAN_RFIFO0(can_periph) |= CAN_RFIFO0_RFD0; in can_fifo_release()
628 CAN_RFIFO1(can_periph) |= CAN_RFIFO1_RFD1; in can_fifo_release()
645 uint8_t can_receive_message_length_get(uint32_t can_periph, uint8_t fifo_number) in can_receive_message_length_get() argument
651 val = (uint8_t)(CAN_RFIFO0(can_periph) & CAN_RFIF_RFL_MASK); in can_receive_message_length_get()
654 val = (uint8_t)(CAN_RFIFO1(can_periph) & CAN_RFIF_RFL_MASK); in can_receive_message_length_get()
673 ErrStatus can_working_mode_set(uint32_t can_periph, uint8_t working_mode) in can_working_mode_set() argument
681 CAN_CTL(can_periph) &= (~(uint32_t)CAN_CTL_SLPWMOD); in can_working_mode_set()
683 CAN_CTL(can_periph) |= (uint8_t)CAN_CTL_IWMOD; in can_working_mode_set()
685 while((CAN_STAT_IWS != (CAN_STAT(can_periph) & CAN_STAT_IWS)) && (0U != timeout)) { in can_working_mode_set()
688 if(CAN_STAT_IWS != (CAN_STAT(can_periph) & CAN_STAT_IWS)) { in can_working_mode_set()
695 CAN_CTL(can_periph) &= ~(uint32_t)(CAN_CTL_SLPWMOD | CAN_CTL_IWMOD); in can_working_mode_set()
697 while((0U != (CAN_STAT(can_periph) & (CAN_STAT_IWS | CAN_STAT_SLPWS))) && (0U != timeout)) { in can_working_mode_set()
700 if(0U != (CAN_STAT(can_periph) & (CAN_STAT_IWS | CAN_STAT_SLPWS))) { in can_working_mode_set()
707 CAN_CTL(can_periph) &= (~(uint32_t)CAN_CTL_IWMOD); in can_working_mode_set()
709 CAN_CTL(can_periph) |= (uint8_t)CAN_CTL_SLPWMOD; in can_working_mode_set()
711 while((CAN_STAT_SLPWS != (CAN_STAT(can_periph) & CAN_STAT_SLPWS)) && (0U != timeout)) { in can_working_mode_set()
714 if(CAN_STAT_SLPWS != (CAN_STAT(can_periph) & CAN_STAT_SLPWS)) { in can_working_mode_set()
732 ErrStatus can_wakeup(uint32_t can_periph) in can_wakeup() argument
738 CAN_CTL(can_periph) &= ~CAN_CTL_SLPWMOD; in can_wakeup()
740 while((0U != (CAN_STAT(can_periph) & CAN_STAT_SLPWS)) && (0x00U != timeout)) { in can_wakeup()
744 if(0U != (CAN_STAT(can_periph) & CAN_STAT_SLPWS)) { in can_wakeup()
767 can_error_enum can_error_get(uint32_t can_periph) in can_error_get() argument
773 error = (can_error_enum)(GET_ERR_ERRN(CAN_ERR(can_periph))); in can_error_get()
784 uint8_t can_receive_error_number_get(uint32_t can_periph) in can_receive_error_number_get() argument
789 val = (uint8_t)(GET_ERR_RECNT(CAN_ERR(can_periph))); in can_receive_error_number_get()
800 uint8_t can_transmit_error_number_get(uint32_t can_periph) in can_transmit_error_number_get() argument
804 val = (uint8_t)(GET_ERR_TECNT(CAN_ERR(can_periph))); in can_transmit_error_number_get()
851 FlagStatus can_flag_get(uint32_t can_periph, can_flag_enum flag) in can_flag_get() argument
854 if(RESET != (CAN_REG_VAL(can_periph, flag) & BIT(CAN_BIT_POS(flag)))) { in can_flag_get()
889 void can_flag_clear(uint32_t can_periph, can_flag_enum flag) in can_flag_clear() argument
891 CAN_REG_VAL(can_periph, flag) = BIT(CAN_BIT_POS(flag)); in can_flag_clear()
917 void can_interrupt_enable(uint32_t can_periph, uint32_t interrupt) in can_interrupt_enable() argument
919 CAN_INTEN(can_periph) |= interrupt; in can_interrupt_enable()
945 void can_interrupt_disable(uint32_t can_periph, uint32_t interrupt) in can_interrupt_disable() argument
947 CAN_INTEN(can_periph) &= ~interrupt; in can_interrupt_disable()
975 FlagStatus can_interrupt_flag_get(uint32_t can_periph, can_interrupt_flag_enum flag) in can_interrupt_flag_get() argument
982 ret1 = can_receive_message_length_get(can_periph, CAN_FIFO0); in can_interrupt_flag_get()
984 ret1 = can_receive_message_length_get(can_periph, CAN_FIFO1); in can_interrupt_flag_get()
986 ret1 = can_error_get(can_periph); in can_interrupt_flag_get()
988 ret1 = CAN_REG_VALS(can_periph, flag) & BIT(CAN_BIT_POS0(flag)); in can_interrupt_flag_get()
991 ret2 = CAN_INTEN(can_periph) & BIT(CAN_BIT_POS1(flag)); in can_interrupt_flag_get()
1018 void can_interrupt_flag_clear(uint32_t can_periph, can_interrupt_flag_enum flag) in can_interrupt_flag_clear() argument
1020 CAN_REG_VALS(can_periph, flag) = BIT(CAN_BIT_POS0(flag)); in can_interrupt_flag_clear()