AnsweredAssumed Answered

S32K144 CAN Extended ID (FCAN_Send)

Question asked by Gustavo Ramirez on Oct 23, 2018
Latest reply on Oct 24, 2018 by Gustavo Ramirez

Hi,

 

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    };
321
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,

 

Gustavo

Outcomes