Hi all,
In the digital control examples that TI provides, the code stores the controller efforts and coefficients into arrays, using data logger function as below:
#define DATA_LENGTH 1601
// input data
#pragma DATA_SECTION(e_array, "PDataLogSection")
float e_array[DATA_LENGTH];
FDLOG eBuf = FDLOG_DEFAULTS;
// full controller results
#pragma DATA_SECTION(u1_array, "QDataLogSection")
float u1_array[DATA_LENGTH];
FDLOG u1Buf = FDLOG_DEFAULTS;
// pre-computed controller results
#pragma DATA_SECTION(u2_array, "RDataLogSection")
float u2_array[DATA_LENGTH];
FDLOG u2Buf = FDLOG_DEFAULTS;
// controller difference data
#pragma DATA_SECTION(d_array, "SDataLogSection")
float d_array[DATA_LENGTH];
FDLOG dBuf = FDLOG_DEFAULTS;
How does one know what the different sections are on their particular processor, and do they change across each processor?
How do we know whether the sections are already in use to store other parts of the code, and how do we know it is otherwise safe to set these sections as array storage?
Best,
Joel
