Lines Matching +full:- +full:r

5     \version 2020-03-10, V1.0.0, firmware for GD32E50x
6 \version 2021-03-23, V1.2.0, firmware for GD32E50x
161 CAN_ERROR_HANDLE("struct parameter can not be NULL \r\n"); in can_struct_para_init()
167 ((can_parameter_struct*)p_struct)->auto_bus_off_recovery = DISABLE; in can_struct_para_init()
168 ((can_parameter_struct*)p_struct)->auto_retrans = DISABLE; in can_struct_para_init()
169 ((can_parameter_struct*)p_struct)->auto_wake_up = DISABLE; in can_struct_para_init()
170 ((can_parameter_struct*)p_struct)->prescaler = 0x0400U; in can_struct_para_init()
171 ((can_parameter_struct*)p_struct)->rec_fifo_overwrite = DISABLE; in can_struct_para_init()
172 ((can_parameter_struct*)p_struct)->resync_jump_width = CAN_BT_SJW_1TQ; in can_struct_para_init()
173 ((can_parameter_struct*)p_struct)->time_segment_1 = CAN_BT_BS1_3TQ; in can_struct_para_init()
174 ((can_parameter_struct*)p_struct)->time_segment_2 = CAN_BT_BS2_1TQ; in can_struct_para_init()
175 ((can_parameter_struct*)p_struct)->time_triggered = DISABLE; in can_struct_para_init()
176 ((can_parameter_struct*)p_struct)->trans_fifo_order = DISABLE; in can_struct_para_init()
177 ((can_parameter_struct*)p_struct)->working_mode = CAN_NORMAL_MODE; in can_struct_para_init()
182 ((can_filter_parameter_struct*)p_struct)->filter_bits = CAN_FILTERBITS_32BIT; in can_struct_para_init()
183 ((can_filter_parameter_struct*)p_struct)->filter_enable = DISABLE; in can_struct_para_init()
184 ((can_filter_parameter_struct*)p_struct)->filter_fifo_number = CAN_FIFO0; in can_struct_para_init()
185 ((can_filter_parameter_struct*)p_struct)->filter_list_high = 0x0000U; in can_struct_para_init()
186 ((can_filter_parameter_struct*)p_struct)->filter_list_low = 0x0000U; in can_struct_para_init()
187 ((can_filter_parameter_struct*)p_struct)->filter_mask_high = 0x0000U; in can_struct_para_init()
188 ((can_filter_parameter_struct*)p_struct)->filter_mask_low = 0x0000U; in can_struct_para_init()
189 ((can_filter_parameter_struct*)p_struct)->filter_mode = CAN_FILTERMODE_MASK; in can_struct_para_init()
190 ((can_filter_parameter_struct*)p_struct)->filter_number = 0U; in can_struct_para_init()
196 ((can_fdframe_struct*)p_struct)->data_prescaler = 0x0400U; in can_struct_para_init()
197 ((can_fdframe_struct*)p_struct)->data_resync_jump_width = 1U - 1U; in can_struct_para_init()
198 ((can_fdframe_struct*)p_struct)->data_time_segment_1 = 3U - 1U; in can_struct_para_init()
199 ((can_fdframe_struct*)p_struct)->data_time_segment_2 = 2U - 1U; in can_struct_para_init()
200 ((can_fdframe_struct*)p_struct)->delay_compensation = DISABLE; in can_struct_para_init()
201 ((can_fdframe_struct*)p_struct)->esi_mode = CAN_ESIMOD_HARDWARE; in can_struct_para_init()
202 ((can_fdframe_struct*)p_struct)->excp_event_detect = ENABLE; in can_struct_para_init()
203 ((can_fdframe_struct*)p_struct)->fd_frame = DISABLE; in can_struct_para_init()
204 ((can_fdframe_struct*)p_struct)->iso_bosch = CAN_FDMOD_ISO; in can_struct_para_init()
205 ((can_fdframe_struct*)p_struct)->p_delay_compensation = 0U; in can_struct_para_init()
210 ((can_trasnmit_message_struct*)p_struct)->fd_brs = CAN_BRS_DISABLE; in can_struct_para_init()
211 ((can_trasnmit_message_struct*)p_struct)->fd_esi = CAN_ESI_DOMINANT; in can_struct_para_init()
212 ((can_trasnmit_message_struct*)p_struct)->fd_flag = CAN_FDF_CLASSIC; in can_struct_para_init()
215 ((can_trasnmit_message_struct*)p_struct)->tx_data[i] = 0U; in can_struct_para_init()
218 ((can_trasnmit_message_struct*)p_struct)->tx_dlen = 0u; in can_struct_para_init()
219 ((can_trasnmit_message_struct*)p_struct)->tx_efid = 0U; in can_struct_para_init()
220 ((can_trasnmit_message_struct*)p_struct)->tx_ff = (uint8_t)CAN_FF_STANDARD; in can_struct_para_init()
221 ((can_trasnmit_message_struct*)p_struct)->tx_ft = (uint8_t)CAN_FT_DATA; in can_struct_para_init()
222 ((can_trasnmit_message_struct*)p_struct)->tx_sfid = 0U; in can_struct_para_init()
227 ((can_receive_message_struct*)p_struct)->fd_brs = CAN_BRS_DISABLE; in can_struct_para_init()
228 ((can_receive_message_struct*)p_struct)->fd_esi = CAN_ESI_DOMINANT; in can_struct_para_init()
229 ((can_receive_message_struct*)p_struct)->fd_flag = CAN_FDF_CLASSIC; in can_struct_para_init()
232 ((can_receive_message_struct*)p_struct)->rx_data[i] = 0U; in can_struct_para_init()
235 ((can_receive_message_struct*)p_struct)->rx_dlen = 0U; in can_struct_para_init()
236 ((can_receive_message_struct*)p_struct)->rx_efid = 0U; in can_struct_para_init()
237 ((can_receive_message_struct*)p_struct)->rx_ff = (uint8_t)CAN_FF_STANDARD; in can_struct_para_init()
238 ((can_receive_message_struct*)p_struct)->rx_fi = 0U; in can_struct_para_init()
239 ((can_receive_message_struct*)p_struct)->rx_ft = (uint8_t)CAN_FT_DATA; in can_struct_para_init()
240 ((can_receive_message_struct*)p_struct)->rx_sfid = 0U; in can_struct_para_init()
247 ((can_trasnmit_message_struct*)p_struct)->tx_data[i] = 0U; in can_struct_para_init()
250 ((can_trasnmit_message_struct*)p_struct)->tx_dlen = 0u; in can_struct_para_init()
251 ((can_trasnmit_message_struct*)p_struct)->tx_efid = 0U; in can_struct_para_init()
252 ((can_trasnmit_message_struct*)p_struct)->tx_ff = (uint8_t)CAN_FF_STANDARD; in can_struct_para_init()
253 ((can_trasnmit_message_struct*)p_struct)->tx_ft = (uint8_t)CAN_FT_DATA; in can_struct_para_init()
254 ((can_trasnmit_message_struct*)p_struct)->tx_sfid = 0U; in can_struct_para_init()
260 ((can_receive_message_struct*)p_struct)->rx_data[i] = 0U; in can_struct_para_init()
263 ((can_receive_message_struct*)p_struct)->rx_dlen = 0U; in can_struct_para_init()
264 ((can_receive_message_struct*)p_struct)->rx_efid = 0U; in can_struct_para_init()
265 ((can_receive_message_struct*)p_struct)->rx_ff = (uint8_t)CAN_FF_STANDARD; in can_struct_para_init()
266 ((can_receive_message_struct*)p_struct)->rx_fi = 0U; in can_struct_para_init()
267 ((can_receive_message_struct*)p_struct)->rx_ft = (uint8_t)CAN_FT_DATA; in can_struct_para_init()
268 ((can_receive_message_struct*)p_struct)->rx_sfid = 0U; in can_struct_para_init()
274 CAN_ERROR_HANDLE("parameter is invalid \r\n"); in can_struct_para_init()
284 \arg resync_jump_width: 0x00 - 0x07
285 \arg time_segment_1: 0x00 - 0x7F
286 \arg time_segment_2: 0x00 - 0x1F
293 \arg prescaler: 0x0001 - 0x0400
311 timeout--; in can_init()
324 CAN_BT(can_periph) = (BT_MODE((uint32_t)can_parameter_init->working_mode) | \ in can_init()
325 BT_SJW((uint32_t)can_parameter_init->resync_jump_width) | \ in can_init()
326 BT_BS1((uint32_t)can_parameter_init->time_segment_1) | \ in can_init()
327 BT_BS2((uint32_t)can_parameter_init->time_segment_2) | \ in can_init()
328 BT_BAUDPSC(((uint32_t)(can_parameter_init->prescaler) - 1U))); in can_init()
333 CAN_BT(can_periph) = (BT_MODE((uint32_t)can_parameter_init->working_mode) | \ in can_init()
334 BT_SJW((uint32_t)can_parameter_init->resync_jump_width) | \ in can_init()
335 BT_BS1((uint32_t)can_parameter_init->time_segment_1) | \ in can_init()
336 BT_BS2((uint32_t)can_parameter_init->time_segment_2) | \ in can_init()
337 BT_BAUDPSC(((uint32_t)(can_parameter_init->prescaler) - 1U))); in can_init()
341 CAN_BT(can_periph) = (BT_MODE((uint32_t)can_parameter_init->working_mode) | \ in can_init()
342 BT_SJW((uint32_t)can_parameter_init->resync_jump_width) | \ in can_init()
343 BT_BS1((uint32_t)can_parameter_init->time_segment_1) | \ in can_init()
344 BT_BS2((uint32_t)can_parameter_init->time_segment_2) | \ in can_init()
345 BT_BAUDPSC(((uint32_t)(can_parameter_init->prescaler) - 1U))); in can_init()
349 if(ENABLE == can_parameter_init->time_triggered){ in can_init()
354 /* automatic bus-off managment */ in can_init()
355 if(ENABLE == can_parameter_init->auto_bus_off_recovery){ in can_init()
361 if(ENABLE == can_parameter_init->auto_wake_up){ in can_init()
367 if(ENABLE == can_parameter_init->auto_retrans){ in can_init()
373 if(ENABLE == can_parameter_init->rec_fifo_overwrite){ in can_init()
379 if(ENABLE == can_parameter_init->trans_fifo_order){ in can_init()
389 timeout--; in can_init()
404 \arg filter_list_high: 0x0000 - 0xFFFF
405 \arg filter_list_low: 0x0000 - 0xFFFF
406 \arg filter_mask_high: 0x0000 - 0xFFFF
407 \arg filter_mask_low: 0x0000 - 0xFFFF
409 \arg filter_number: In CAN0(0 - 27), In CAN2(0 - 14)
420 val = ((uint32_t)1) << (can_filter_parameter_init->filter_number); in can_filter_init()
427 if(CAN_FILTERBITS_16BIT == can_filter_parameter_init->filter_bits){ in can_filter_init()
431 CAN_FDATA0(can_periph, can_filter_parameter_init->filter_number) = \ in can_filter_init()
432 … FDATA_MASK_HIGH((can_filter_parameter_init->filter_mask_low) & CAN_FILTER_MASK_16BITS) | \ in can_filter_init()
433 … FDATA_MASK_LOW((can_filter_parameter_init->filter_list_low) & CAN_FILTER_MASK_16BITS); in can_filter_init()
435 CAN_FDATA1(can_periph, can_filter_parameter_init->filter_number) = \ in can_filter_init()
436 … FDATA_MASK_HIGH((can_filter_parameter_init->filter_mask_high) & CAN_FILTER_MASK_16BITS) | \ in can_filter_init()
437 … FDATA_MASK_LOW((can_filter_parameter_init->filter_list_high) & CAN_FILTER_MASK_16BITS); in can_filter_init()
440 if(CAN_FILTERBITS_32BIT == can_filter_parameter_init->filter_bits){ in can_filter_init()
444 CAN_FDATA0(can_periph, can_filter_parameter_init->filter_number) = \ in can_filter_init()
445 … FDATA_MASK_HIGH((can_filter_parameter_init->filter_list_high) & CAN_FILTER_MASK_16BITS) | in can_filter_init()
446 … FDATA_MASK_LOW((can_filter_parameter_init->filter_list_low) & CAN_FILTER_MASK_16BITS); in can_filter_init()
448 CAN_FDATA1(can_periph, can_filter_parameter_init->filter_number) = \ in can_filter_init()
449 … FDATA_MASK_HIGH((can_filter_parameter_init->filter_mask_high) & CAN_FILTER_MASK_16BITS) | in can_filter_init()
450 … FDATA_MASK_LOW((can_filter_parameter_init->filter_mask_low) & CAN_FILTER_MASK_16BITS); in can_filter_init()
454 if(CAN_FILTERMODE_MASK == can_filter_parameter_init->filter_mode){ in can_filter_init()
463 if(CAN_FIFO0 == (can_filter_parameter_init->filter_fifo_number)){ in can_filter_init()
472 if(ENABLE == can_filter_parameter_init->filter_enable){ in can_filter_init()
485 \param[in] id: extended(11-bits) or standard(29-bits) identifier
486 \arg 0x00000000 - 0x1FFFFFFF
487 \param[in] mask: extended(11-bits) or standard(29-bits) identifier mask
488 \arg 0x00000000 - 0x1FFFFFFF
496 \arg In CAN0:0 - 27 ,In CAN2:0 - 14
567 CAN_ERROR_HANDLE("parameter is invalid \r\n"); in can_filter_mask_mode_init()
599 timeout--; in can_monitor_mode_set()
613 timeout--; in can_monitor_mode_set()
638 tdc_filter: 0x00 - 0x07
639 tdc_offset: 0x00 - 0x07
642 \arg data_resync_jump_width: 0x00 - 0x07
643 \arg data_time_segment_1: 0x00 - 0x0F
644 \arg data_time_segment_2: 0x00 - 0x07
645 \arg data_prescaler: 0x0001 - 0x0400
664 timeout--; in can_fd_init()
671 CAN_DBT(can_periph) = (BT_DSJW((uint32_t)can_fdframe_init->data_resync_jump_width) | \ in can_fd_init()
672 BT_DBS1((uint32_t)can_fdframe_init->data_time_segment_1) | \ in can_fd_init()
673 BT_DBS2((uint32_t)can_fdframe_init->data_time_segment_2) | \ in can_fd_init()
674 BT_BAUDPSC(((uint32_t)can_fdframe_init->data_prescaler) - 1U)); in can_fd_init()
676 tempreg = can_fdframe_init->esi_mode | can_fdframe_init->iso_bosch; in can_fd_init()
679 if(ENABLE == can_fdframe_init->excp_event_detect){ in can_fd_init()
686 if(ENABLE == can_fdframe_init->delay_compensation){ in can_fd_init()
689 if(0 != can_fdframe_init->p_delay_compensation){ in can_fd_init()
690 tempreg |= (can_fdframe_init->p_delay_compensation->tdc_mode & CAN_FDCTL_TDCMOD); in can_fd_init()
691 …) = (FDTDC_TDCF(can_fdframe_init->p_delay_compensation->tdc_filter) | FDTDC_TDCO(can_fdframe_init- in can_fd_init()
701 if(ENABLE == can_fdframe_init->fd_frame){ in can_fd_init()
713 timeout--; in can_fd_init()
991 \arg tx_sfid: 0x00000000 - 0x000007FF
992 \arg tx_efid: 0x00000000 - 0x1FFFFFFF
995 \arg tx_dlen: 0 - 8 (FD mode: 0 - 8, or 12, 16, 20, 24, 32, 48, 64)
996 \arg tx_data[]: 0x00 - 0xFF
1027 if(CAN_FF_STANDARD == transmit_message->tx_ff){
1029 CAN_TMI(can_periph, mailbox_number) |= (uint32_t)(TMI_SFID(transmit_message->tx_sfid) | \
1030 transmit_message->tx_ft);
1033 CAN_TMI(can_periph, mailbox_number) |= (uint32_t)(TMI_EFID(transmit_message->tx_efid) | \
1034 transmit_message->tx_ff | \
1035 transmit_message->tx_ft);
1039 if(CAN_FDF_CLASSIC == transmit_message->fd_flag){
1042 CAN_TMP(can_periph, mailbox_number) |= transmit_message->tx_dlen;
1044 CAN_TMDATA0(can_periph, mailbox_number) = TMDATA0_DB3(transmit_message->tx_data[3]) | \
1045 TMDATA0_DB2(transmit_message->tx_data[2]) | \
1046 TMDATA0_DB1(transmit_message->tx_data[1]) | \
1047 TMDATA0_DB0(transmit_message->tx_data[0]);
1048 CAN_TMDATA1(can_periph, mailbox_number) = TMDATA1_DB7(transmit_message->tx_data[7]) | \
1049 TMDATA1_DB6(transmit_message->tx_data[6]) | \
1050 TMDATA1_DB5(transmit_message->tx_data[5]) | \
1051 TMDATA1_DB4(transmit_message->tx_data[4]);
1056 if(transmit_message->tx_dlen <= 8U){
1058 reg_temp |= transmit_message->tx_dlen;
1062 if(transmit_message->tx_dlen == g_can_fdlength_table[i]){
1071 CAN_ERROR_HANDLE("dlen is invalid \r\n");
1074 …|= (((uint32_t)transmit_message->fd_brs << 5U) | ((uint32_t)transmit_message->fd_esi << 4U) | ((ui…
1078 i = transmit_message->tx_dlen / 4U;
1080 /* data length is 5-7 need send 2 word */
1081 if((1U==i) && (4U!=transmit_message->tx_dlen)){
1084 p_temp = (uint32_t)transmit_message->tx_data;
1088 for(; i>0U; i--){
1095 CAN_ERROR_HANDLE("CAN FD function disabled \r\n");
1101 CAN_TMP(can_periph, mailbox_number) |= transmit_message->tx_dlen;
1103 CAN_TMDATA0(can_periph, mailbox_number) = TMDATA0_DB3(transmit_message->tx_data[3]) | \
1104 TMDATA0_DB2(transmit_message->tx_data[2]) | \
1105 TMDATA0_DB1(transmit_message->tx_data[1]) | \
1106 TMDATA0_DB0(transmit_message->tx_data[0]);
1107 CAN_TMDATA1(can_periph, mailbox_number) = TMDATA1_DB7(transmit_message->tx_data[7]) | \
1108 TMDATA1_DB6(transmit_message->tx_data[6]) | \
1109 TMDATA1_DB5(transmit_message->tx_data[5]) | \
1110 TMDATA1_DB4(transmit_message->tx_data[4]);
1213 \arg rx_sfid: 0x00000000 - 0x000007FF
1214 \arg rx_efid: 0x00000000 - 0x1FFFFFFF
1217 \arg rx_dlen: 0 - 8 (FD mode: 0 - 8, or 12, 16, 20, 24, 32, 48, 64)
1218 \arg rx_data[]: 0x00 - 0xFF
1219 \arg rx_fi: 0 - 27
1233 receive_message->rx_ff = (uint8_t)(CAN_RFIFOMI_FF & CAN_RFIFOMI(can_periph, fifo_number));
1234 if(CAN_FF_STANDARD == receive_message->rx_ff){
1236 … receive_message->rx_sfid = (uint32_t)(GET_RFIFOMI_SFID(CAN_RFIFOMI(can_periph, fifo_number)));
1239 … receive_message->rx_efid = (uint32_t)(GET_RFIFOMI_EFID(CAN_RFIFOMI(can_periph, fifo_number)));
1243 receive_message->rx_ft = (uint8_t)(CAN_RFIFOMI_FT & CAN_RFIFOMI(can_periph, fifo_number));
1245 receive_message->rx_fi = (uint8_t)(GET_RFIFOMP_FI(CAN_RFIFOMP(can_periph, fifo_number)));
1248 … receive_message->fd_flag = (uint8_t)((CAN_RFIFOMP_FDF & CAN_RFIFOMP(can_periph, fifo_number))>>7);
1252 if(CAN_FDF_CLASSIC == receive_message->fd_flag){
1254 … receive_message->rx_dlen = (uint8_t)(GET_RFIFOMP_DLENC(CAN_RFIFOMP(can_periph, fifo_number)));
1256 …receive_message->rx_data[0] = (uint8_t)(GET_RFIFOMDATA0_DB0(CAN_RFIFOMDATA0(can_periph, fifo_numbe…
1257 …receive_message->rx_data[1] = (uint8_t)(GET_RFIFOMDATA0_DB1(CAN_RFIFOMDATA0(can_periph, fifo_numbe…
1258 …receive_message->rx_data[2] = (uint8_t)(GET_RFIFOMDATA0_DB2(CAN_RFIFOMDATA0(can_periph, fifo_numbe…
1259 …receive_message->rx_data[3] = (uint8_t)(GET_RFIFOMDATA0_DB3(CAN_RFIFOMDATA0(can_periph, fifo_numbe…
1260 …receive_message->rx_data[4] = (uint8_t)(GET_RFIFOMDATA1_DB4(CAN_RFIFOMDATA1(can_periph, fifo_numbe…
1261 …receive_message->rx_data[5] = (uint8_t)(GET_RFIFOMDATA1_DB5(CAN_RFIFOMDATA1(can_periph, fifo_numbe…
1262 …receive_message->rx_data[6] = (uint8_t)(GET_RFIFOMDATA1_DB6(CAN_RFIFOMDATA1(can_periph, fifo_numbe…
1263 …receive_message->rx_data[7] = (uint8_t)(GET_RFIFOMDATA1_DB7(CAN_RFIFOMDATA1(can_periph, fifo_numbe…
1265 CAN_ERROR_HANDLE("CAN FD function disabled \r\n");
1274 receive_message->rx_dlen = canfd_recv_cnt;
1276 receive_message->rx_dlen = g_can_fdlength_table[canfd_recv_cnt - 9U];
1279 …receive_message->fd_brs = (uint8_t)((CAN_RFIFOMP(can_periph, fifo_number) & CAN_RFIFOMP_BRS) >> 5);
1280 …receive_message->fd_esi = (uint8_t)((CAN_RFIFOMP(can_periph, fifo_number) & CAN_RFIFOMP_ESI) >> 4);
1283 i = receive_message->rx_dlen / 4U;
1285 /* data length is 5-7 need receive 2 word */
1286 if((1U==i) && (4U!=receive_message->rx_dlen)){
1289 p_temp = (uint32_t)(uint32_t)receive_message->rx_data;
1295 for(; i>0U; i--){
1304 receive_message->rx_dlen = (uint8_t)(GET_RFIFOMP_DLENC(CAN_RFIFOMP(can_periph, fifo_number)));
1307 …receive_message -> rx_data[0] = (uint8_t)(GET_RFIFOMDATA0_DB0(CAN_RFIFOMDATA0(can_periph, fifo_num…
1308 …receive_message -> rx_data[1] = (uint8_t)(GET_RFIFOMDATA0_DB1(CAN_RFIFOMDATA0(can_periph, fifo_num…
1309 …receive_message -> rx_data[2] = (uint8_t)(GET_RFIFOMDATA0_DB2(CAN_RFIFOMDATA0(can_periph, fifo_num…
1310 …receive_message -> rx_data[3] = (uint8_t)(GET_RFIFOMDATA0_DB3(CAN_RFIFOMDATA0(can_periph, fifo_num…
1311 …receive_message -> rx_data[4] = (uint8_t)(GET_RFIFOMDATA1_DB4(CAN_RFIFOMDATA1(can_periph, fifo_num…
1312 …receive_message -> rx_data[5] = (uint8_t)(GET_RFIFOMDATA1_DB5(CAN_RFIFOMDATA1(can_periph, fifo_num…
1313 …receive_message -> rx_data[6] = (uint8_t)(GET_RFIFOMDATA1_DB6(CAN_RFIFOMDATA1(can_periph, fifo_num…
1314 …receive_message -> rx_data[7] = (uint8_t)(GET_RFIFOMDATA1_DB7(CAN_RFIFOMDATA1(can_periph, fifo_num…
1343 CAN_ERROR_HANDLE("CAN FIFO NUM is invalid \r\n");
1398 timeout--;
1410 timeout--;
1424 timeout--;
1453 timeout--;
1535 \arg CAN_INT_BO: bus-off interrupt enable
1563 \arg CAN_INT_BO: bus-off interrupt enable
1613 \arg CAN_FLAG_BOERR: bus-off error
1681 \arg CAN_INT_FLAG_BOERR: bus-off error interrupt flag
1761 /* for CAN-FD:(BAUDPSC[9:0] + 1) * ((BS1[6:0] + 1) + (BS2[4:0] + 1) + SJW(always 1)) */
1776 temp = temp - bt_reg_config;
1778 temp = bt_reg_config - temp;
1787 baud_psc--;
1792 reval = (BT_BS1(brate_data.bits-bs_div_value))
1845 temp = temp - bt_reg_config;
1847 temp = bt_reg_config - temp;