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.

CCS/TMS320F28027F: changing an existing structure of the motorcontrol software

Part Number: TMS320F28027F


Tool/software: Code Composer Studio

Hello
I just used the Lab11a of the motorcontrol software as basis for my own board, which works out very well. The motor used by us has an integrated NTC for temperature monitoring, this is read in via the ADC. This measurement signal is then filtered by PT1 (similar to the filtering used for offset determination for current and voltage). Since this filter should get its own time constant, I thought it would be clever to extend the structure USER_Params with an element and initialize it accordingly.

typedef struct _USER_Params_
{
float_t iqFullScaleCurrent_A; //!< Defines the full scale current for the IQ variables, A
float_t iqFullScaleVoltage_V; //!< Defines the full scale voltage for the IQ variable, V
float_t iqFullScaleFreq_Hz; //!< Defines the full scale frequency for IQ variable, Hz

uint_least16_t numIsrTicksPerCtrlTick; //!< Defines the number of Interrupt Service Routine (ISR) clock ticks per controller clock tick
uint_least16_t numCtrlTicksPerCurrentTick; //!< Defines the number of controller clock ticks per current controller clock tick
uint_least16_t numCtrlTicksPerEstTick; //!< Defines the number of controller clock ticks per estimator clock tick
uint_least16_t numCtrlTicksPerSpeedTick; //!< Defines the number of controller clock ticks per speed controller clock tick
uint_least16_t numCtrlTicksPerTrajTick; //!< Defines the number of controller clock ticks per trajectory clock tick
uint_least8_t numCurrentSensors; //!< Defines the number of current sensors
uint_least8_t numVoltageSensors; //!< Defines the number of voltage sensors

float_t offsetPole_rps; //!< Defines the pole location for the voltage and current offset estimation, rad/s
//float_t TempPole_rps; //!< Defines the pole location for the temperature sensor measurement, rad/s
float_t fluxPole_rps; //!< Defines the pole location for the flux estimation, rad/s
:
:
USER_ErrorCode_e errorCode;
} USER_Params;

But this leads to the motor application is no longer working, the software can be compiled and downloaded, but the motor does not move anymore (phase current increases strongly).
Why can this structure not be extended, is it used like this in a lib?
I would extend the structure _HAL_AdcData_t_, how do I know that this has no side effects?
How do I find out which structures I can change/expand?

best regards

Thomas