This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AWR1642BOOST-ODS: Data packet format-TLV header -Type

Expert 2050 points
Part Number: AWR1642BOOST-ODS

In user's guide of obstacle demo, there are 4 TLV types in data packet format.  

As I understand, these types should match with the MmwDemo_output_message_type. In mss_main.c, function Get_CanMessageIdentifier checks the message type and assign the CAN ID. But it looks like the TLV type: cluster and range elevation heat map are not included.  

mmwDemo_can_message_type Get_CanMessageIdentifier(MmwDemo_output_message_type type)
{
    mmwDemo_can_message_type can_msgId;

    if(type == MMWDEMO_OUTPUT_MSG_DETECTED_POINTS)
    {
        can_msgId = (mmwDemo_can_message_type)CAN_MESSAGE_MMWDEMO_DETECTED_POINTS;
    }
    else if(type == MMWDEMO_OUTPUT_MSG_RANGE_PROFILE)
    {
        can_msgId = (mmwDemo_can_message_type)CAN_MESSAGE_MMWDEMO_RANGE_PROFILE;
    }
    else if(type == MMWDEMO_OUTPUT_MSG_NOISE_PROFILE)
    {
        can_msgId = (mmwDemo_can_message_type)CAN_MESSAGE_MMWDEMO_NOISE_PROFILE;
    }
    else if(type == MMWDEMO_OUTPUT_MSG_AZIMUT_STATIC_HEAT_MAP)
    {
        can_msgId = (mmwDemo_can_message_type)CAN_MESSAGE_MMWDEMO_AZIMUT_STATIC_HEAT_MAP;
    }
    else if(type == MMWDEMO_OUTPUT_MSG_RANGE_DOPPLER_HEAT_MAP)
    {
        can_msgId = (mmwDemo_can_message_type)CAN_MESSAGE_MMWDEMO_RANGE_DOPPLER_HEAT_MAP;
    }
    else if (type == MMWDEMO_OUTPUT_MSG_STATS)
    {
        can_msgId = (mmwDemo_can_message_type)CAN_MESSAGE_MMWDEMO_STATS;
    }
    else if (type == MMWDEMO_HEADER)
    {
        can_msgId = (mmwDemo_can_message_type)CAN_MESSAGE_MMWDEMO_HEADER;
    }
    else if (type == MMWDEMO_PADDING)
    {
        can_msgId = (mmwDemo_can_message_type)CAN_MESSAGE_MMWDEMO_PADDING;
    }
    else
    {
        can_msgId = (mmwDemo_can_message_type)CAN_MESSAGE_MMWDEMO_MAX;
    }

    if(txMsgObjectParams.msgIdType == CANFD_MCANXidType_29_BIT)
    {
        can_msgId |= ~(0xFFFFFFFF);
    }
    return can_msgId;
}

Could you please check if TLV types are included in MmwDemo_output_message_type?

Kind regards

  • Hello Ree,

    DSS sends different type of object result where it forms a packet (MmwDemo_output_message_tl struct).

    So to mark each object data type to different CAN MsgID, please 

    MmwDemo_mboxReadTask(...) 

    {

    case MMWDEMO_DSS2MSS_DETOBJ_READY:

    /* Send TLVs */
    for (itemIdx = 0; itemIdx < message.body.detObj.header.numTLVs; itemIdx++)
    {

    Get_CanMessageIdentifier(message.body.detObj.tlv[itemIdx].type);

    .....

    }

    Also you need to modify Get_CanMessageIdentifier if-else cases to match with msg-type of obstacle detection demo, object types which are sent by DSS_main.c: MmwDemo_dssSendProcessOutputToMSS.

    Regards,

    Jitendra

  • Thanks JG