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.

AM6442: Endat CMD in loadshare

Part Number: AM6442

Hi

I am following-up to the original thread

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1576552/am6442-endat-cmd-in-loadshare/6155622

 

1 ) When will the support for different cmd in loadshare mode will be made available

2) Do we have resolution for cmd=9 on CH0 and CH1 in loadshare

 

Thanks

Alan I

 

  • Hi Alan,

    1 ) When will the support for different cmd in loadshare mode will be made available

    Currently, there is no plan to include this feature in the next release, which is planned for this week. We will consider it for future releases. As discussed, the firmware does not impose any limitations, and both channels can operate independently in load share mode. The driver and application need to be modified to enable handling and configuration of two different commands.

    • The following changes are required:

      1. Update the endat_command_build function to build two separate commands for each channel.
        1. Modify the function to construct channel-specific commands when load share mode is enabled.
      2. When invoking the endat_recvd_process function, ensure that different arguments (commands) are used for each channel.
    2) Do we have resolution for cmd=9 on CH0 and CH1 in loadshare

    We have resolved this issue, and the fix will be included in the next SDK release, which is planned for this week. In the meantime, I am sharing the updated firmware that contains the resolution for this issue. You can use this updated firmware and build it to apply the fix on the 11.00.00.06 SDK release

    1460.endat_main.asm

    Thanks & regards,

    Achala Ram 

  • Hi Achala

    Thank you for updated firmware.

    It has resolved some issues. Now I can run cmd=9 on both CH0 and CH1 in periodic trigger  There is caveat though. If I ran cmd=9 in periodic on both channels immediately after power-up , the PosWod2 are not updated while PosWord0 and Posword1 are OK.

    I found out adding endat_command_process and Endat_addinfo_track  before calling endat_config_periodic_trigger seems to "solve" the problem with stale posword2

     

    I am still having problem to run CH0 and CH1 with 2 different command in periodic trigger mode.

    I need to be able to run  Endat Force Dynamic sampling  ( FDS) sequence on CH0 while CH1 continuously run with CMD=9

    FDS will require these commands


    int translate_endat_mode_to_driver_layer ( int endat_mode ) {

    switch (endat_mode) {

    case 0x38: { // Encoder Sends Position Values and AI
    return 8;
    }
    break;

    case 0x09: { // Encoder Send Position values and AI and receive selection of memory area
    return 9;
    }
    break;


    case 0x2B: { // Encoder Send position value and receive parameter
    return 10;
    }

    case 0x24: { // Encoder Send position value and send parameter
    return 11;
    }
    break;

    case 0x2d: { // Encoder Send position value and reset error
    return 12;
    }
    break;


    case 0x36 :{ // Encoder Send Position value and receive test command
    return 13;
    }
    break;

    }
    return 0 ;
    }

    May I know when the 2 different commands support will be available

    Thank you

    Alan I

  • Hi Alan,

    I found out adding endat_command_process and Endat_addinfo_track  before calling endat_config_periodic_trigger seems to "solve" the problem with stale posword2

    Yes, this is the expected sequence to enable and allow reading additional information before sending the 2.2 cmd for additional info. You must run the sequence once more to enable add Info 2 if required.

    endat_addinfo_track() enables tracking of additional information based on the previously executed command. If the current command sets the MRS bit to enable additional info, the application/driver becomes ready to read that additional information with the 2_2 commands.

    I am still having problem to run CH0 and CH1 with 2 different command in periodic trigger mode.

    Ensure DMEM contains the correct command before starting periodic mode. The application function that reads DMEM should print the responses for both channels according to the command written for each channel.

    In periodic mode the firmware continuously reads command data from DMEM, sends the command to the encoder, receives the response, and writes the result back to DMEM.

    Thanks & regards,

    Achala Ram