c2000ware-core-sdk/driverlib/.meta/epwm/epwm.board.c.xdt
2023-06-24 11:35:38 +05:30

262 lines
12 KiB
Plaintext

% var module = system.modules['/driverlib/epwm.js'];
% let Common = system.getScript("/driverlib/Common.js");
% var nameOfModule = "epwm";
% var nameOfPeripheral = module.peripheralName;
% let epwm_json_resolver = system.getScript("/driverlib/epwm/epwm_json_resolver.js");
% var nonCommented = ["epwmTimebase_hsClockDiv", "epwmTimebase_period","epwmTimebase_counterMode", "epwmTimebase_counterValue", "epwmTimebase_phaseEnable", "epwmTimebase_phaseShift", "epwmCounterCompare_cmpA", "epwmCounterCompare_shadowLoadModeCMPA", "epwmCounterCompare_cmpB", "epwmCounterCompare_shadowLoadModeCMPB", "epwmActionQualifier_EPWM_AQ_OUTPUT_A_ON_TIMEBASE_ZERO", "epwmActionQualifier_EPWM_AQ_OUTPUT_A_ON_TIMEBASE_PERIOD", "epwmActionQualifier_EPWM_AQ_OUTPUT_A_ON_TIMEBASE_UP_CMPA", "epwmActionQualifier_EPWM_AQ_OUTPUT_A_ON_TIMEBASE_DOWN_CMPA", "epwmActionQualifier_EPWM_AQ_OUTPUT_A_ON_TIMEBASE_UP_CMPB", "epwmActionQualifier_EPWM_AQ_OUTPUT_A_ON_TIMEBASE_DOWN_CMPB", "epwmActionQualifier_EPWM_AQ_OUTPUT_B_ON_TIMEBASE_ZERO", "epwmActionQualifier_EPWM_AQ_OUTPUT_B_ON_TIMEBASE_PERIOD", "epwmActionQualifier_EPWM_AQ_OUTPUT_B_ON_TIMEBASE_UP_CMPA", "epwmActionQualifier_EPWM_AQ_OUTPUT_B_ON_TIMEBASE_DOWN_CMPA", "epwmActionQualifier_EPWM_AQ_OUTPUT_B_ON_TIMEBASE_UP_CMPB", "epwmActionQualifier_EPWM_AQ_OUTPUT_B_ON_TIMEBASE_DOWN_CMPB"];
%
% function GenerateOutput(inst, name, showCode, template, duplicates, commentStatus, indicies)
% {
% if (!template)
% {
% var code = epwm_json_resolver.getCode(inst, inst, name, commentStatus, indicies);
% }
% else if (template)
% {
% var code = epwm_json_resolver.getCode(inst, inst, name, commentStatus, indicies).replace(instance.$name + "_BASE", "base");
% }
% if (code != "" && linkCheck(inst, name) && !duplicateCodeCheck(inst, name, showCode, commentStatus, duplicates))
% {
`code`
% }
%}
%
% function check_if_nested(obj)
% {
% if (obj.hasOwnProperty('config'))
% {return true;}
% else
% { return false;}
% }
%
% function returnNestedElements(obj)
% {
% var elements = [];
% var key, Length = 0;
% for(key in obj) {if(obj.hasOwnProperty(key)) {Length++;}}
% for (var Index = 0; Index < Length; Index++)
% {
% elements.push(obj[Index]);
% }
% return elements;
% }
%
% function linkCheck(inst, ui_ele_name)
% {
% var nonLink = true;
% var links = ["epwmTimebase_periodLink", "epwmCounterCompare_cmpALink", "epwmCounterCompare_cmpBLink", "epwmCounterCompare_cmpCLink",
% "epwmCounterCompare_cmpDLink", "epwmGlobalLoad_globalePWMLoadLink"];
% if (links.includes(ui_ele_name))
% {
% if (inst[ui_ele_name] == "EPWM_LINK_WITH_DISABLE")
% {
% nonLink = false;
% }
% }
% return nonLink;
% }
%
% function duplicateCodeCheck(inst, ui_ele_name, showCode, commentStatus, duplicateList)
% {
% var duplicate = false;
% if (showCode == true && duplicateList.includes(ui_ele_name))
% {
% duplicate = true;
% }
% return duplicate;
% }
%
% function defaultStatus(inst, showAllCode, commentOutDefaultCode, templateGen, duplicateList, nonCommented)
% {
% var modkey, moduleLength = 0;
% for(modkey in inst.$module.config) {if(inst.$module.config.hasOwnProperty(modkey)) {moduleLength++;}}
% var hasEPWMLock = "false";
% for (var y=0; y < moduleLength; y++)
% {
% if (inst.$module.config[y].name == "epwmLock")
% {
% hasEPWMLock = "true";
% var EPWMLockPos = y;
% }
% else if (inst.$module.config[y].name == "GROUP_EPWM_GL")
% {
% var startPos = y;
% }
% else if (inst.$module.config[y].name == "GROUP_HRPWM")
% {
% var endPos = y;
% }
% }
% if (hasEPWMLock == "true")
% {
% if (inst[inst.$module.config[EPWMLockPos].name] != inst.$module.config[EPWMLockPos].default && showAllCode == false)
% {
% GenerateOutput(inst, inst.$module.config[EPWMLockPos].name, showAllCode, templateGen, duplicateList);
% }
% else if (showAllCode)
% {
% GenerateOutput(inst, inst.$module.config[EPWMLockPos].name, showAllCode, templateGen, duplicateList);
% }
% }
%
% for (var modIndex = startPos; modIndex <= endPos; modIndex++)
% {
% var indicies = [];
% var submodkey, subModLength = 0;
% for(submodkey in inst.$module.config[modIndex].config) {if(inst.$module.config[modIndex].config.hasOwnProperty(submodkey)) {subModLength++;}}
% for (var submodIndex = 0; submodIndex < subModLength; submodIndex++)
% {
% if (check_if_nested(inst.$module.config[modIndex].config[submodIndex]) == false)
% {
% if (!inst.$module.config[modIndex].config[submodIndex].deprecated)
% {
% if (inst[inst.$module.config[modIndex].config[submodIndex].name] != inst.$module.config[modIndex].config[submodIndex].default && (showAllCode == false || (showAllCode == true
% && commentOutDefaultCode == true)))
% {
% if (duplicateList.includes(inst.$module.config[modIndex].config[submodIndex].name))
% {
% if (inst[inst.$module.config[modIndex].config[submodIndex-1].name] == inst.$module.config[modIndex].config[submodIndex-1].default && (showAllCode == false ||
% (showAllCode == true && commentOutDefaultCode == true)))
% {
% indicies = [];
% indicies.push(modIndex, submodIndex);
% GenerateOutput(inst, inst.$module.config[modIndex].config[submodIndex].name, showAllCode, templateGen, duplicateList, false, indicies);
% }
% }
% else
% {
% indicies = [];
% indicies.push(modIndex, submodIndex);
% GenerateOutput(inst, inst.$module.config[modIndex].config[submodIndex].name, showAllCode, templateGen, duplicateList, false, indicies);
% }
% }
% else if (showAllCode || nonCommented.includes(inst.$module.config[modIndex].config[submodIndex].name))
% {
% indicies = [];
% indicies.push(modIndex, submodIndex);
% GenerateOutput(inst, inst.$module.config[modIndex].config[submodIndex].name, showAllCode, templateGen, duplicateList, commentOutDefaultCode, indicies);
% }
% }
% }
% else
% {
% var subContent = inst.$module.config[modIndex].config[submodIndex].config;
% for (var x = 0; x < subContent.length; x++)
% {
% if (check_if_nested(inst.$module.config[modIndex].config[submodIndex].config[x]) == false)
% {
% if (!inst.$module.config[modIndex].config[submodIndex].config[x].deprecated)
% {
% if (inst[inst.$module.config[modIndex].config[submodIndex].config[x].name] != inst.$module.config[modIndex].config[submodIndex].config[x].default &&
% (showAllCode == false || ( showAllCode == true && commentOutDefaultCode == true)))
% {
% indicies = [];
% indicies.push(modIndex, submodIndex, x);
% GenerateOutput(inst, inst.$module.config[modIndex].config[submodIndex].config[x].name, showAllCode, templateGen, duplicateList, false, indicies);
% }
% else if (showAllCode || nonCommented.includes(inst.$module.config[modIndex].config[submodIndex].config[x].name))
% {
% indicies = [];
% indicies.push(modIndex, submodIndex, x);
% GenerateOutput(inst, inst.$module.config[modIndex].config[submodIndex].config[x].name, showAllCode, templateGen, duplicateList, commentOutDefaultCode, indicies);
% }
% }
% }
% else
% {
% var subContent2 = inst.$module.config[modIndex].config[submodIndex].config[x].config;
% for (var y = 0; y < subContent2.length; y++)
% {
% if (!inst.$module.config[modIndex].config[submodIndex].config[x].config[y].deprecated)
% {
% if (inst[inst.$module.config[modIndex].config[submodIndex].config[x].config[y].name] != inst.$module.config[modIndex].config[submodIndex].config[x].config[y].default
% && (showAllCode == false || (showAllCode == true && commentOutDefaultCode == true)))
% {
% indicies = [];
% indicies.push(modIndex, submodIndex, x, y);
% GenerateOutput(inst, inst.$module.config[modIndex].config[submodIndex].config[x].config[y].name, showAllCode, templateGen, duplicateList, false, indicies);
% }
% else if (showAllCode || nonCommented.includes(inst.$module.config[modIndex].config[submodIndex].config[x].config[y].name))
% {
% indicies = [];
% indicies.push(modIndex, submodIndex, x, y);
% GenerateOutput(inst, inst.$module.config[modIndex].config[submodIndex].config[x].config[y].name, showAllCode, templateGen, duplicateList, commentOutDefaultCode, indicies);
% }
% }
% }
% }
% }
% }
% }
% }
% }
%
% if (module != null){
% if (module.$static["generateInitFunctions"]){
//*****************************************************************************
//
// EPWM Configurations
//
//*****************************************************************************
void `nameOfPeripheral`_init(){
% for(var i = 0; i < module.$instances.length; i++)
% {
% var instance = module.$instances[i];
`instance.$name`_init();
% }
}
% for(var i = 0; i < module.$instances.length; i++)
% {
% var instance = module.$instances[i];
% let instancePinmux = instance[nameOfModule];
% let solution = instancePinmux.$solution;
void `instance.$name`_init(){
% let peripheral = system.deviceData.peripherals[solution.peripheralName];
% var genCodeTemplate = false;
% var output = instance.$module.$static["enableAllCode"];
% var outputComment = instance.$module.$static["commentOutDefaultCode"];
% var duplicate_inst = ["epwmTimebase_hsClockDiv", "epwmDigitalCompare_stopValleyCaptureTriggerCount"];
% defaultStatus(instance, output, outputComment, genCodeTemplate, duplicate_inst, nonCommented);
}
%
% }
%}
%else{
//*****************************************************************************
//
// EPWM Configurations
//
//*****************************************************************************
void `nameOfPeripheral`_init(){
% for(var i = 0; i < module.$instances.length; i++)
% {
% var instance = module.$instances[i];
% let instancePinmux = instance[nameOfModule];
% let solution = instancePinmux.$solution;
% let peripheral = system.deviceData.peripherals[solution.peripheralName];
% var genCodeTemplate = false;
% var output = instance.$module.$static["enableAllCode"];
% var outputComment = instance.$module.$static["commentOutDefaultCode"];
% var duplicate_inst = ["epwmTimebase_hsClockDiv", "epwmDigitalCompare_stopValleyCaptureTriggerCount"];
% defaultStatus(instance, output, outputComment, genCodeTemplate, duplicate_inst, nonCommented);
% }
}
%}
%}
%
%if (module != null)
%{
% for(var i = 0; i < module.$instances.length; i++) {
% var instance = module.$instances[i];
% if (instance.generateCodeTemplate) {
% var genCodeTemplate = true;
% var output = instance.$module.$static["enableAllCode"];
% var outputComment = instance.$module.$static["commentOutDefaultCode"];
% var duplicate_inst = ["epwmTimebase_hsClockDiv", "epwmDigitalCompare_stopValleyCaptureTriggerCount"];
// `instance.$name` Configuration Template
void `instance.codeTemplateName`(uint32_t base){
% defaultStatus(instance, output, outputComment, genCodeTemplate,duplicate_inst, nonCommented);
}
% }
% }
%}