AnsweredAssumed Answered

S32K144 CAN Extended ID (FCAN_Send)

Question asked by Gustavo Ramirez on Oct 23, 2018
Latest reply on Sep 9, 2019 by Constantin Razvan Chivu



I'm using a S32K144EVB, with the "Model-Based Design Toolbox for S32K1xx Series Version 2018.R1".


And, I'm trying to send a CAN message with Extended ID (29-bit). In the FCAN_Send block, I click the "Extended ID" checkbox and set the ID to 18FF0000.


But when I monitor the CAN bus, the ID is set to 0.

I tried using a Standard ID (Extended ID checkbox unchecked) and it works just fine.


I looked into the generated C code for this block I noticed the following.

308/* S-Function (fcan_s32k14_send): '<S8>/FCAN_Send' incorporates:
309 * Constant: '<S8>/TX_CAN_Data_Length'
310 */
311    {
312       uint8_t* data = &main_B.dr_TX_CAN_Data[0];
313       flexcan_data_info_t txInfo = {
314       .msg_id_type = FLEXCAN_MSG_ID_STD,
315       .data_length = ((uint8_T)8U),
316       .fd_enable = false,
317       .fd_padding = 0x0,
318       .enable_brs = false,
319       .is_remote = false
320    };
322    FLEXCAN_DRV_ConfigTxMb(0, 13, &txInfo, 0x800);
323    FLEXCAN_DRV_Send(0, 13, &txInfo, 0x800, data);
324 }

The msg_id_type is set to FLEXCAN_MSG_ID_STD, instead of FLEXCAN_MSG_ID_EXT


Is there a way to get this working, I really need to use the Extended ID since I'm working with J1939.


Thanks a lot,