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.

TIDEP-01032: Single Channel EnDAT, Disabling <multi channel load share> in sysconfig

Part Number: TIDEP-01032
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hi,

I have a simple question regarding a modification of example code "single_chip_servo_am243x-lp_r5fss0-0_nortos_ti-arm-clang".

Design Guide: TIDEP-01032, EtherCAT® Connected, Single-Chip, Dual-Servo Motor Drive Reference Design
describes a dual-channel motor control with 2 motors.

My individual motor control setup has only a single motor, using an EnDAT 2.2 encoder.
I can use the example code "single_chip_servo_am243x-lp_r5fss0-0_nortos_ti-arm-clang" for my single motor setup without problems by unchecking "Enable Channel 2" in the "EnDat Position Encoder" Section of sysconfig:

The code works well like this and I could just leave it like that.

Nevertheless I would like to understand, why the example code requires to have "Multi Channel Load Share" to be enabled.
If I uncheck the Multi Channel Load Share option in sysconfig, I get a compiler error "redefinition of EnDatFirmware_0":

My question:
Why does the Multi Channel Load Share option need to be enabled in sysconfig?
If I wanted to use my setup with a single motor without Load Sharing, what would I have to do? Do I need to reconfigure the EnDat firmware and if so, how would that be done?

Thank you.

  • Hi Tilman

    Thanks for your query. We are looking into the issue, we will try to get back by Wednesday latest. Incase we have not replied back feel free to ping here.

  • Hi Tilman,

    If I uncheck the Multi Channel Load Share option in sysconfig, I get a compiler error "redefinition of EnDatFirmware_0":

    endat_master_bin.h file path is included two times in this project. 

    1)always included

    2)when CONFIG_ENDAT_MODE ==  ENDAT_MODE_SINGLE_CHANNEL_SINGLE_MODE

    When you unchecked the load share option, CONFIG_ENDAT_MODE macro value set equal to the macro ENDAT_MODE_SINGLE_CHANNEL_SINGLE_MODE value and it include again same path, so you are getting this compiler error.

    Ideally it should be included one time when we uncheck Load share mode in sysconfig but since it is a bug, so you have to remove one included path to make it work.

    Thanks & regards,

    Achala Ram

  • Hi Achala,

    you are right. Thank you for your advice.

    I commented out line 94 and the code compiled without a problem.

    I appreciate your help. The issue is resolved.

    Thanks and regards

    Tilman