motor-control-sdk/source/.meta/position_sense/templates/endat_templates.h.xdt

51 lines
1.4 KiB
Plaintext
Raw Normal View History

%%{
let module = system.modules[args[0]];
%%}
/*
* EnDat
*/
/* EnDat Instance Macros */
#define CONFIG_ENDAT_NUM_INSTANCES `module.$instances.length`
%for(let i = 0; i < module.$instances.length; i++) {
% let instance = module.$instances[i];
% let Mode = 0;
% let Slice = 0 ;
%if(instance.instance === "ICSSG1")
%{
% if(instance.PRU_ICSSG1_PRU.$assign === "PRU_ICSSG1_PRU1")
%{
% Slice = 1;
%}
%}
%else
%{
%if(instance.PRU_ICSSG0_PRU.$assign === "PRU_ICSSG0_PRU1")
%{
% Slice = 1;
%}
%}
%if(((instance.Channel_0 & 1)&&(instance.Channel_1 & 1))||((instance.Channel_1 & 1)&&(instance.Channel_2 & 1))||((instance.Channel_2 & 1)&&(instance.Channel_0 & 1)))
%{
% Mode = 1;
%}
%if(instance.Multi_Channel_Load_Share & 1)
%{
% Mode = 2;
%}
#define `instance.$name` `i`
#define `instance.$name`_CHANNEL0 `instance.Channel_0 & 1`
#define `instance.$name`_CHANNEL1 `instance.Channel_1 & 1`
#define `instance.$name`_CHANNEL2 `instance.Channel_2 & 1`
#define `instance.$name`_load_share_mode `instance.Multi_Channel_Load_Share & 1`
#define `instance.$name`_MODE `Mode`
#define `instance.$name`_BOOSTER_PACK `instance.Booster_Pack & 1`
#define PRU_ICSSGx_PRU_SLICE `Slice`
% }