@mchp-mcc/scf-pic8-opamp-v2 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Changelog.md +8 -0
- package/LICENSE.txt +21 -0
- package/Readme.md +15 -0
- package/lib/generated_module/src/index.js +11 -0
- package/output/autoCreator.js +1995 -0
- package/output/autoCreator.js.map +1 -0
- package/output/autoProcessor.js +1997 -0
- package/output/autoProcessor.js.map +1 -0
- package/output/creator.js +6851 -0
- package/output/creator.js.map +1 -0
- package/output/header-template.h.ftl +353 -0
- package/output/nullPrototype.json +43 -0
- package/output/processor.js +6851 -0
- package/output/processor.js.map +1 -0
- package/output/reducer.js +29783 -0
- package/output/reducer.js.map +1 -0
- package/output/source-template.c.ftl +149 -0
- package/package.json +172 -0
- package/src/Calculations.test.tsx +83 -0
- package/src/Calculations.tsx +20 -0
- package/src/CreatorFunctions.test.ts +214 -0
- package/src/CreatorFunctions.ts +48 -0
- package/src/DerivedData.test.tsx +1601 -0
- package/src/DerivedData.ts +507 -0
- package/src/GeneratorModel.ts +80 -0
- package/src/ImageDataURLs.ts +8 -0
- package/src/PinsLogic.test.ts +983 -0
- package/src/PinsLogic.ts +293 -0
- package/src/catalog.json +24 -0
- package/src/moduleConfig.json +650 -0
- package/src/opa-output-parameters.test.tsx +22 -0
- package/src/opa-output-parameters.tsx +95 -0
- package/src/pinsdata.json +81 -0
- package/src/reducer.test.ts +177 -0
- package/src/reducer.ts +29 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack://autoCreator/webpack/bootstrap","webpack://autoCreator/./generated_module/src/autoCreator.ts","webpack://autoCreator/./generated_module/src/getUserData.ts","webpack://autoCreator/./generated_module/src/pins/PCPHelper.ts","webpack://autoCreator/./node_modules/@microchip/pin-standard/lib/index.js","webpack://autoCreator/./node_modules/@microchip/pin-standard/lib/pin-standard.js","webpack://autoCreator/./node_modules/@microchip/scf-common/lib/Processor.js","webpack://autoCreator/./node_modules/@microchip/scf-device/lib/Setting.js","webpack://autoCreator/./node_modules/@microchip/scf-device/lib/util/Arrays.js","webpack://autoCreator/./node_modules/@microchip/scf-validators/lib/Validators/CFunctionValidator.js","webpack://autoCreator/./node_modules/@microchip/scf-validators/lib/Validators/HeaderPathValidator.js","webpack://autoCreator/./node_modules/@microchip/scf-validators/lib/Validators/HexValidator.js","webpack://autoCreator/./node_modules/@microchip/scf-validators/lib/index.js","webpack://autoCreator/./src/Calculations.tsx","webpack://autoCreator/./src/CreatorFunctions.ts","webpack://autoCreator/./src/DerivedData.ts","webpack://autoCreator/./src/GeneratorModel.ts","webpack://autoCreator/./src/ImageDataURLs.ts","webpack://autoCreator/./src/PinsLogic.ts"],"names":["createAutoCreator","getCreatorFunctions","getModuleConfig","getModuleConfigFromFile","getCreatorFunctionsUser","getPinsDataFromFile","require","undefined","getPinsLogicFromFile","mockPinsLogic","getPinsData","getCompletePinData","appModel","getRowData","rowData","rows","getPinsLogic","pinsLogic","Calculations","resSelect","regExp","ratio","match","gain","parseFloat","toFixed","constValue","shouldImport","getCreatorImportArgs","importKey","state","hwOverrideSrc","main","overrideSel","orsOpaors","indexOf","getDerivedData","dataModel","MyDerivedData","EmptyDerivedData","getCFunctionValidator","gainCalc","getDynamicConfigData","moduleName","getModuleName","templateData","getMyTemplateData","alerts","getMyAlerts","getOpaInterfaceProcessedPayload","calcNonInvGain","calcInvGain","initializer_system_results","getPinstandardArgs","overrideDefaultValue","customNameValidator","getCustomUiErrors","isEnabled","isVisible","friendlyImportName","getModel","getHardware","getName","pattern","cValidator","getRjsfValidation","componentName","name","message","getCustomErrorMessage","customConfig","getComponentValue","negChannel","hwch","hwcl","config","links","forEach","component","softwareData","type","format","urlDescription","module","image","customName","hasInterrupts","getGainCalculator","customConfigValue","posChannel","posSrc","posSrc0","substring","length","negSrc","negSrc0","feedbackMode","push","Processor","Warning","text","regexpNumber","inst","getAssignedImport","moduleIgnoreList","Hint","myTemplateData","getGeneratorModel","getPositiveSources","getNegativeSources","getHeaderFiles","toLowerCase","path","queryAdapterMap","QueryAdapterKey","ALLPINS","initializer","header","posSource","getPeripheral","registers","OPACON3","settings","PSS","options","pinAttribs","JSON","parse","pinPayload","getImportValue","allPins","allPinsData","getInputPinsData","posSourceList","map","o","alias","pinName","cname","source","negSource","OPACON1","NSS","negSourceList","model","posSourceModel","negSourceModel1","customName_1","getRegisterValues","moduleNameLowerCase","moduleNameUpperCase","toUpperCase","moduleInstance","posSources","convertToTemplatePosSrc","negSources","convertToTemplateNegSrc","compiler","tool","pss","sourceData","value","getOptionByAlias","nss","DIRECT_CONN","UNITY_GAIN","NON_INV_PGA","INV_PGA","retRowJSONdata","mod","posPinAttribs","getPinAttribs","negPinAttribs","test","filter","behaviourMeta","lockPinRegEx","attribs","rowActions","getAutoModuleAppModel","getComponent","concat","getPCPHelper","stateActionBuilder","rowWithName","forComponent","addIfLockedSetValue","build","neededAttribs","pin_attribs_enum","cnameAttribComponent","addIfLockedProvideAttribs","addIfUnlockedProvideAttribs","actions","addIfUnLockedSetValue","isComponentValue","aliasRegex","modName","pinData","Object","keys","pins","modPins","key","opaPins","funcName","pinPolarity","pinAttribArr","endsWith","aliasReEx"],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,2BAA2B;AAC3B,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA,wC;;;;;;;;;;;;ACnQa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,6DAA6D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB,wDAAwD;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,2CAA2C,YAAY,6BAA6B,mBAAmB,8BAA8B,GAAG;AACxI,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;AChFa;AACb,8CAA8C,cAAc;AAC5D;AACA,eAAe,mBAAO,CAAC,8EAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+JAA+J,8BAA8B,EAAE;AAC/L;AACA;AACA;AACA;AACA,+JAA+J,4BAA4B,EAAE;AAC7L;AACA;AACA;AACA;AACA,6GAA6G,0CAA0C,EAAE;AACzJ;AACA;AACA;AACA;AACA,4GAA4G,oBAAoB,EAAE;AAClI;AACA;AACA;AACA;AACA,4GAA4G,2BAA2B,EAAE;AACzI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;;;;;;AC9Ea;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wGAAwG,iBAAiB,EAAE;AAC3H;AACA;AACA,kC;;;;;;;;;;;;AC/Ca;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C,oCAAoC,gBAAgB,EAAE;AACtD,wCAAwC,qBAAqB,EAAE;AAC/D,gCAAgC;AAChC;AACA;AACA,KAAK,EAAE,EAAE;AACT,CAAC,EAAE;;;;;;;;;;;;;ACrDU;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA,+CAA+C,IAAI;AACnD;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,oCAAoC,oBAAoB,EAAE;AAC1D,wCAAwC,qBAAqB,EAAE;AAC/D,gCAAgC;AAChC;AACA;AACA,KAAK,EAAE,EAAE;AACT,CAAC,EAAE;;;;;;;;;;;;;AClBU;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA,uCAAuC;AACvC,oCAAoC,eAAe,EAAE;AACrD,+CAA+C,6BAA6B,EAAE;AAC9E;AACA;AACA;AACA;AACA,KAAK;AACL,sCAAsC;AACtC;AACA;AACA,KAAK,EAAE,EAAE;AACT,oDAAoD;AACpD;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","file":"autoCreator.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./generated_module/src/autoCreator.ts\");\n","import { CreatorFunctions } from \"@microchip/melody-automodule-interface\";\nimport {\n getCreatorFunctions as getCreatorFunctionsUser,\n getModuleConfigFromFile,\n} from \"./getUserData\";\n\nconst createAutoCreator = (\n getCreatorFunctions: () => CreatorFunctions,\n): (() => CreatorFunctions) => {\n return (): CreatorFunctions => {\n return {\n getModuleConfig: getModuleConfigFromFile,\n ...getCreatorFunctions(),\n };\n };\n};\n\nexport const getCreatorFunctions = createAutoCreator(getCreatorFunctionsUser);\n","import { ModuleConfig } from \"@microchip/melody-automodule-interface/lib/src/ModuleConfig\";\nimport { PinsData } from \"@microchip/melody-automodule-interface/lib/src/pins\";\nimport { PinsLogic } from \"@microchip/melody-automodule-interface/lib/src/types\";\nexport { getCreatorFunctions } from \"../../src/CreatorFunctions\";\nexport { getDerivedData } from \"../../src/DerivedData\";\n\nexport const getPinsDataFromFile = (): PinsData | undefined => {\n try {\n return require(\"../../src/pinsdata.json\");\n } catch {\n return undefined;\n }\n};\n\nexport const getPinsLogicFromFile = (): PinsLogic | undefined => {\n try {\n return require(\"../../src/PinsLogic.ts\");\n } catch {\n return undefined;\n }\n};\n\nexport const getModuleConfigFromFile = (): ModuleConfig | undefined => {\n try {\n return require(\"../../src/moduleConfig.json\");\n } catch {\n return undefined;\n }\n};\n","import { pin_row } from \"@microchip/pin-standard\";\nimport { PinsData } from \"@microchip/melody-automodule-interface/lib/src/pins\";\nimport {\n AppModel,\n PinsLogic,\n} from \"@microchip/melody-automodule-interface/lib/src/types\";\nimport { getPinsDataFromFile, getPinsLogicFromFile } from \"../getUserData\";\n\nconst mockPinsLogic = (getPinsData: GetPinsData): PinsLogic => {\n const getCompletePinData = (appModel: AppModel): any => {\n return {};\n };\n const getRowData = (appModel: AppModel, rowData: pin_row): pin_row => {\n return rowData;\n };\n return {\n getCompletePinData: getCompletePinData,\n getRowData: getRowData,\n getPinsData: getPinsData,\n };\n};\n\ntype GetPinsData = typeof getPinsData;\nexport const getPinsData = (): PinsData => getPinsDataFromFile() ?? { rows: [] };\n\nexport const getPinsLogic = (): PinsLogic => {\n const pinsLogic = getPinsLogicFromFile();\n if (pinsLogic) {\n return {\n ...pinsLogic,\n getPinsData: getPinsData,\n };\n } else {\n return mockPinsLogic(getPinsData);\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar pin_standard_1 = require(\"./pin-standard\");\nexports.pin_standard = pin_standard_1.pin_standard;\nexports.pin_state = pin_standard_1.pin_state;\nexports.direction = pin_standard_1.direction;\nexports.behaviour = pin_standard_1.behaviour;\nexports.data_schema = pin_standard_1.data_schema;\nexports.pin_attribs_enum = pin_standard_1.pin_attribs_enum;\nexports.actiontype = pin_standard_1.actiontype;\nexports.QueryAdapterKey = pin_standard_1.QueryAdapterKey;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pin_standard = function () {\n return {\n interfaceId: {\n name: \"pin-standard\",\n version: \"0.1.0\",\n },\n };\n};\nvar QueryAdapterKey;\n(function (QueryAdapterKey) {\n QueryAdapterKey[\"ALLPINS\"] = \"allpins\";\n QueryAdapterKey[\"ALLPINS_FOR_ATTRIBS\"] = \"allpins_for_attribs\";\n QueryAdapterKey[\"PPS\"] = \"pps\";\n QueryAdapterKey[\"PORTMUX\"] = \"portmux\";\n QueryAdapterKey[\"HASPPS\"] = \"hasPPS\";\n})(QueryAdapterKey = exports.QueryAdapterKey || (exports.QueryAdapterKey = {}));\nvar pin_state;\n(function (pin_state) {\n pin_state[\"EMPTY\"] = \"E\";\n pin_state[\"LOCKED\"] = \"L\";\n pin_state[\"UNLOCK\"] = \"UL\";\n pin_state[\"DiSABLE_LOCK\"] = \"DL\";\n pin_state[\"UNLOCKED_DISABLED\"] = \"DUL\";\n pin_state[\"LOCKED_LINK\"] = \"LL\";\n pin_state[\"UNLOCKED_MUX\"] = \"MUL\";\n pin_state[\"LOCKED_CONFLICT\"] = \"CL\";\n})(pin_state = exports.pin_state || (exports.pin_state = {}));\nvar pin_interrupts_enum;\n(function (pin_interrupts_enum) {\n pin_interrupts_enum[\"INTDIS_BUFFEN\"] = \"INTDIS_BUFFEN\";\n pin_interrupts_enum[\"BOTH_EDGES\"] = \"BOTH_EDGES\";\n pin_interrupts_enum[\"RISING_EDGE\"] = \"RISING_EDGE\";\n pin_interrupts_enum[\"FALLING_EDGE\"] = \"FALLING_EDGE\";\n pin_interrupts_enum[\"NONE\"] = \"NONE\";\n pin_interrupts_enum[\"LOW_LEVEL\"] = \"LOW_LEVEL\";\n})(pin_interrupts_enum = exports.pin_interrupts_enum || (exports.pin_interrupts_enum = {}));\nvar pin_attribs_enum;\n(function (pin_attribs_enum) {\n pin_attribs_enum[\"aliasReEx\"] = \"aliasReEx\";\n pin_attribs_enum[\"cname\"] = \"cname\";\n pin_attribs_enum[\"high\"] = \"high\";\n pin_attribs_enum[\"inv\"] = \"inv\";\n pin_attribs_enum[\"wpu\"] = \"wpu\";\n pin_attribs_enum[\"wpd\"] = \"wpd\";\n pin_attribs_enum[\"od\"] = \"od\";\n pin_attribs_enum[\"analog\"] = \"analog\";\n pin_attribs_enum[\"ioc\"] = \"ioc\";\n pin_attribs_enum[\"intcallback\"] = \"intcallback\";\n pin_attribs_enum[\"alias\"] = \"alias\";\n})(pin_attribs_enum = exports.pin_attribs_enum || (exports.pin_attribs_enum = {}));\nvar actiontype;\n(function (actiontype) {\n actiontype[\"SETACTION\"] = \"SETACTION\";\n actiontype[\"ATTRIBACTION\"] = \"ATTRIBACTION\";\n})(actiontype = exports.actiontype || (exports.actiontype = {}));\nvar direction;\n(function (direction) {\n direction[\"output\"] = \"output\";\n direction[\"input\"] = \"input\";\n direction[\"bidirectional\"] = \"bidirectional\";\n})(direction = exports.direction || (exports.direction = {}));\nvar behaviour;\n(function (behaviour) {\n behaviour[\"LOCK_UNLOCK\"] = \"LOCK_UNLOCK\";\n behaviour[\"ALWAYS_LOCKED\"] = \"ALWAYS_LOCKED\";\n behaviour[\"SINGLE_PIN_MUX\"] = \"SINGLE_PIN_MUX\";\n behaviour[\"OPTIONAL_PIN_MUX\"] = \"OPTIONAL_PIN_MUX\";\n behaviour[\"PPS\"] = \"PPS\";\n behaviour[\"PORTMUX\"] = \"PORTMUX\";\n behaviour[\"EXCLUSIVE_LOCK\"] = \"EXCLUSIVE_LOCK\";\n behaviour[\"LOCKED_DISABLED\"] = \"LOCKED_DISABLED\";\n})(behaviour = exports.behaviour || (exports.behaviour = {}));\n//------------------------------------ schema ------------------------------------//\nexports.data_schema = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n $ref: \"#/definitions/intf_data\",\n definitions: {\n intf_data: {\n type: \"object\",\n properties: {\n rows: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pin_row\",\n },\n },\n },\n required: [\"rows\"],\n additionalProperties: false,\n },\n pin_row: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n module: {\n type: \"string\",\n },\n function: {\n type: \"string\",\n },\n direction: {\n $ref: \"#/definitions/direction\",\n },\n filter: {\n $ref: \"#/definitions/filter\",\n },\n behaviour: {\n $ref: \"#/definitions/behaviour\",\n },\n behaviourMeta: {\n $ref: \"#/definitions/behaviourMeta\",\n },\n attribs: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pin_attribs\",\n },\n },\n groupsdata: {\n $ref: \"#/definitions/pingroups_data\",\n },\n actions: {},\n },\n required: [\"name\", \"module\", \"function\", \"direction\", \"filter\", \"behaviour\"],\n additionalProperties: false,\n },\n direction: {\n type: \"string\",\n enum: [\"output\", \"input\", \"bidirectional\"],\n },\n filter: {\n type: \"object\",\n properties: {\n module: {\n type: \"string\",\n },\n aliasReEx: {\n type: \"string\",\n },\n },\n required: [\"module\", \"aliasReEx\"],\n additionalProperties: false,\n },\n behaviour: {\n type: \"string\",\n enum: [\n \"LOCK_UNLOCK\",\n \"ALWAYS_LOCKED\",\n \"SINGLE_PIN_MUX\",\n \"OPTIONAL_PIN_MUX\",\n \"PPS\",\n \"PORTMUX\",\n \"EXCLUSIVE_LOCK\",\n \"LOCKED_DISABLED\",\n ],\n },\n behaviourMeta: {\n type: \"object\",\n properties: {\n lockPinRegEx: {\n type: \"string\",\n },\n },\n required: [\"lockPinRegEx\"],\n additionalProperties: false,\n },\n pin_attribs: {\n type: \"object\",\n properties: {\n aliasReEx: {\n type: \"string\",\n },\n cname: {\n type: \"string\",\n },\n high: {\n type: \"boolean\",\n },\n inv: {\n type: \"boolean\",\n },\n wpu: {\n type: \"boolean\",\n },\n wpd: {\n type: \"boolean\",\n },\n od: {\n type: \"boolean\",\n },\n analog: {\n type: \"boolean\",\n },\n ioc: {\n $ref: \"#/definitions/pin_interrupts_enum\",\n },\n bidirection_out: {\n type: \"boolean\",\n },\n },\n required: [\"aliasReEx\"],\n additionalProperties: false,\n },\n pin_interrupts_enum: {\n type: \"string\",\n enum: [\n \"INTDIS_BUFFEN\",\n \"BOTH_EDGES\",\n \"RISING_EDGE\",\n \"FALLING_EDGE\",\n \"NONE\",\n \"LOW_LEVEL\",\n ],\n },\n pingroups_data: {\n type: \"object\",\n properties: {\n groups: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pins_group\",\n },\n },\n },\n required: [\"groups\"],\n additionalProperties: false,\n },\n pins_group: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n filter: {\n $ref: \"#/definitions/grpfilter\",\n },\n datapath: {\n type: \"string\",\n },\n },\n required: [\"name\", \"filter\"],\n additionalProperties: false,\n },\n grpfilter: {\n type: \"object\",\n properties: {\n aliasReEx: {\n type: \"string\",\n },\n },\n required: [\"aliasReEx\"],\n additionalProperties: false,\n },\n },\n};\n//# sourceMappingURL=pin-standard.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mapOptionLabels = exports.filterOptions = exports.isSingleton = exports.isUnassigned = exports.isAssigned = exports.hasOptions = exports.AlertTypes = void 0;\nvar AlertTypes;\n(function (AlertTypes) {\n AlertTypes[\"Error\"] = \"error\";\n AlertTypes[\"Warning\"] = \"warning\";\n AlertTypes[\"Hint\"] = \"hint\";\n})(AlertTypes = exports.AlertTypes || (exports.AlertTypes = {}));\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction hasOptions(dep) {\n return dep.options !== undefined;\n}\nexports.hasOptions = hasOptions;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isAssigned(dep) {\n return typeof dep.handle !== \"undefined\";\n}\nexports.isAssigned = isAssigned;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isUnassigned(dep) {\n return typeof dep.handle === \"undefined\";\n}\nexports.isUnassigned = isUnassigned;\n/**\n * Type guard function for SingletonExport\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n * @param resource the export to check on being a singleton\n * @deprecated No longer used. Replaced with dynamic singleton identification\n * at runtime.\n */\nfunction isSingleton(resource) {\n return typeof resource.isSingleton !== \"undefined\" && resource.isSingleton;\n}\nexports.isSingleton = isSingleton;\n/**\n * Returns a copy of `populatedImport` with all options removed which\n * cause `optionFilter` to return false.\n */\nfunction filterOptions(populatedImport, optionFilter) {\n if (populatedImport.options) {\n return __assign(__assign({}, populatedImport), { options: populatedImport.options.filter(optionFilter) });\n }\n return populatedImport;\n}\nexports.filterOptions = filterOptions;\n/**\n * Returns a copy of `populatedImport` with the options' handle labels\n * mapped according to `labelFactory`.\n */\nfunction mapOptionLabels(populatedImport, labelFactory) {\n if (populatedImport.options) {\n return __assign(__assign({}, populatedImport), { options: populatedImport.options.map(function (option) {\n return __assign(__assign({}, option), { handle: __assign(__assign({}, option.handle), { label: labelFactory(option) }) });\n }) });\n }\n return populatedImport;\n}\nexports.mapOptionLabels = mapOptionLabels;\n//# sourceMappingURL=Processor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOptionDescriptions = exports.getOptionNames = exports.getOptionByDescription = exports.getOptionByName = exports.getOptionByAlias = exports.getBitRange = exports.getBitLabel = void 0;\nvar Arrays_1 = require(\"./util/Arrays\");\n/**\n * Converts a hexadecimal string to binary.\n * Any leading zeros are removed from the returned string.\n */\nvar hexToBinary = function (hex) {\n return parseInt(hex, 16).toString(2);\n};\n/**\n * Returns a string of the corresponding bit position(s).\n */\nvar getBitLabel = function (setting) {\n if (setting.mask === undefined) {\n return undefined;\n }\n var bitRange = (0, exports.getBitRange)(setting);\n if (!bitRange)\n return undefined;\n if (bitRange.high === bitRange.low) {\n return \"bit \".concat(bitRange.high);\n }\n return \"bit \".concat(bitRange.high, \"-\").concat(bitRange.low);\n};\nexports.getBitLabel = getBitLabel;\n/**\n * Converts the hexadecimal mask provided within the register setting\n * and returns an interface containing the corresponding low and high bit positions.\n */\nvar getBitRange = function (setting) {\n if (!setting.mask)\n return undefined;\n var processedHex = hexToBinary(setting.mask);\n return {\n high: processedHex.length - 1,\n low: getBitRangeLow(processedHex),\n };\n};\nexports.getBitRange = getBitRange;\nvar getOptionByAlias = function (alias, setting) {\n var _a;\n return (0, Arrays_1.find)((_a = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.alias == alias; });\n};\nexports.getOptionByAlias = getOptionByAlias;\nvar getOptionByName = function (name, setting) {\n var _a;\n return (0, Arrays_1.find)((_a = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.name == name; });\n};\nexports.getOptionByName = getOptionByName;\nvar getOptionByDescription = function (description, setting) {\n var _a;\n return (0, Arrays_1.find)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.description == description; });\n};\nexports.getOptionByDescription = getOptionByDescription;\nvar getOptionNames = function (setting) {\n var _a;\n return (0, Arrays_1.map)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.name; });\n};\nexports.getOptionNames = getOptionNames;\nvar getOptionDescriptions = function (setting) {\n var _a;\n return (0, Arrays_1.map)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.description; });\n};\nexports.getOptionDescriptions = getOptionDescriptions;\nfunction getBitRangeLow(processedHex) {\n if (processedHex.charAt(1) === \"1\") {\n var index = 1;\n while (processedHex.charAt(index) === \"1\") {\n index++;\n }\n return processedHex.length - index;\n }\n else {\n return processedHex.length - 1;\n }\n}\n//# sourceMappingURL=Setting.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.values = exports.getKeys = exports.find = exports.filter = exports.map = void 0;\nvar map = function (arr, callback) {\n var result = [];\n arr.forEach(function (value, index) {\n result[index] = callback(value);\n });\n return result;\n};\nexports.map = map;\nvar filter = function (arr, callback) {\n var result = [];\n arr.forEach(function (value) {\n if (callback(value)) {\n result.push(value);\n }\n });\n return result;\n};\nexports.filter = filter;\n/**\n * Iterates over elements of the array, returning the first element that the predicate returns truthy for.\n */\nvar find = function (arr, callback) {\n for (var i = 0; i < arr.length; i++) {\n if (callback(arr[i])) {\n return arr[i];\n }\n }\n return undefined;\n};\nexports.find = find;\n/** @returns the non-prototype keys of the given object */\nvar getKeys = function (obj) {\n if (!obj)\n return undefined;\n return Object.getOwnPropertyNames(obj);\n};\nexports.getKeys = getKeys;\nvar values = function (obj) {\n var _a;\n if (!obj)\n return undefined;\n return (_a = (0, exports.getKeys)(obj)) === null || _a === void 0 ? void 0 : _a.map(function (key) { return obj[key]; });\n};\nexports.values = values;\n//# sourceMappingURL=Arrays.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCFunctionValidator = void 0;\nvar cKeywords = [\n \"auto\",\n \"const\",\n \"double\",\n \"float\",\n \"int\",\n \"short\",\n \"struct\",\n \"unsigned\",\n \"break\",\n \"continue\",\n \"else\",\n \"for\",\n \"long\",\n \"signed\",\n \"switch\",\n \"void\",\n \"case\",\n \"default\",\n \"enum\",\n \"goto\",\n \"register\",\n \"sizeof\",\n \"typedef\",\n \"volatile\",\n \"char\",\n \"do\",\n \"extern\",\n \"if\",\n \"return\",\n \"static\",\n \"union\",\n \"while\",\n];\nvar functionPattern = \"(?=^([A-Za-z]\\\\S|_)\\\\w+$)\";\nvar errorMessage = \"Must be valid C function syntax.\";\nvar doNotMatchKeywordsRegex = function () {\n return \"(^(?!\" + cKeywords.join(\"|\") + \")).*\";\n};\nvar result = doNotMatchKeywordsRegex();\nvar pattern = {\n pattern: functionPattern + result,\n};\nexports.getCFunctionValidator = function () { return ({\n getRjsfValidation: function () { return pattern; },\n getCustomErrorMessage: function () { return errorMessage; },\n getValidation: function () { return ({\n name: \"pattern\",\n message: exports.getCFunctionValidator().getCustomErrorMessage(),\n }); },\n}); };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHeaderPathValidator = void 0;\n//Matches file paths to any valid format. Matches both \"\\\" and \"/\" as valid separators in file path.\n//Extension (\"[h]+\") checks specifically for '.h' and can be extende to any if required.\n//Does NOT match relative file paths.\nvar pathRegex = \"^(([a-zA-Z]:)|((?:\\\\\\\\|.\\\\/?){1,2}\\\\w+)\\\\$?)((\\\\\\\\|\\\\/)(\\\\w[\\\\w ]*.*))+\\\\.([h]+)$\";\nvar errorMessage = \"Must be valid header path.\";\nvar pathPattern = {\n pattern: pathRegex,\n};\nexports.getHeaderPathValidator = function () { return ({\n getRjsfValidation: function () { return pathPattern; },\n getCustomErrorMessage: function () { return errorMessage; },\n getValidation: function () { return ({\n name: \"pattern\",\n message: exports.getHeaderPathValidator().getCustomErrorMessage(),\n }); },\n}); };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHexValidator = void 0;\nvar regexFormat = /^0x[\\da-f]/i;\nvar ErrorMessages;\n(function (ErrorMessages) {\n ErrorMessages[\"Format\"] = \"Must be valid hexadecimal number\";\n ErrorMessages[\"Bounds\"] = \"Input must be \";\n ErrorMessages[\"BoundsDefault\"] = \"Input must be within bounds\";\n})(ErrorMessages || (ErrorMessages = {}));\nvar format = {\n hex: regexFormat,\n};\nexports.getHexValidator = function () { return ({\n getRjsfValidation: function () { return format; },\n getInvalidFormatErrorMessage: function () { return ErrorMessages.Format; },\n getBoundsErrorMessage: function (comparison, value) {\n return comparison && value\n ? ErrorMessages.Bounds + comparison + \" \" + value\n : ErrorMessages.BoundsDefault;\n },\n getFormatValidation: function () { return ({\n name: \"format\",\n message: exports.getHexValidator().getInvalidFormatErrorMessage(),\n }); },\n getMinValidation: function (comparison, value) { return ({\n name: \"minimum\",\n message: \"\" + exports.getHexValidator().getBoundsErrorMessage(comparison, value),\n }); },\n getMaxValidation: function (comparison, value) { return ({\n name: \"maximum\",\n message: \"\" + exports.getHexValidator().getBoundsErrorMessage(comparison, value),\n }); },\n}); };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CFunctionValidator_1 = require(\"./Validators/CFunctionValidator\");\nObject.defineProperty(exports, \"getCFunctionValidator\", { enumerable: true, get: function () { return CFunctionValidator_1.getCFunctionValidator; } });\nvar HexValidator_1 = require(\"./Validators/HexValidator\");\nObject.defineProperty(exports, \"getHexValidator\", { enumerable: true, get: function () { return HexValidator_1.getHexValidator; } });\nvar HeaderPathValidator_1 = require(\"./Validators/HeaderPathValidator\");\nObject.defineProperty(exports, \"getHeaderPathValidator\", { enumerable: true, get: function () { return HeaderPathValidator_1.getHeaderPathValidator; } });\n","export class Calculations {\n public calcNonInvGain = (resSelect: string | undefined): string => {\n if (resSelect == undefined) return \"0\";\n const regExp = /^([Rr]1 = [0-9]{0,2}[rR] and [Rr]2 = [0-9]{0,2}[Rr], [Rr]2\\/[Rr]1 = )(.*)$/;\n const ratio = resSelect.match(regExp)?.[2];\n if (ratio == undefined) return \"0\";\n const gain = (parseFloat(ratio) + 1).toFixed(2);\n return gain;\n };\n\n public calcInvGain = (resSelect: string | undefined): string => {\n if (resSelect == undefined) return \"0\";\n const regExp = /^([Rr]1 = [0-9]{0,2}[rR] and [Rr]2 = [0-9]{0,2}[Rr], [Rr]2\\/[Rr]1 = )(.*)$/;\n const ratio = resSelect.match(regExp)?.[2];\n if (ratio == undefined) return \"0\";\n const constValue = \"(Vref/Vin) - \";\n const gain = (parseFloat(ratio) + 1).toFixed(2) + constValue + ratio;\n return gain;\n };\n}\n","import { CreatorFunctions } from \"@microchip/melody-automodule-interface\";\nimport { MyState } from \"../generated_module/src/types/AutoModuleTypes\";\n\nexport const getCreatorFunctions = (): CreatorFunctions => {\n return {\n shouldImport: shouldImport,\n getCreatorImportArgs: getCreatorImportArgs,\n };\n};\n\nconst shouldImport = (importKey: string, state: MyState | undefined): boolean => {\n const hwOverrideSrc = state?.main?.overrideSel?.orsOpaors ?? \"LFINTOSC\";\n\n switch (importKey) {\n case \"TMR0\":\n return hwOverrideSrc.indexOf(\"TMR0\") != -1 ? true : false;\n case \"TMR1\":\n return hwOverrideSrc.indexOf(\n hwOverrideSrc.match(/(TMR[135])_OUT/)?.[1] ?? \"TMR1\",\n ) != -1\n ? true\n : false;\n case \"TMR2\":\n return hwOverrideSrc.indexOf(\n hwOverrideSrc.match(/(TMR[246])_OUT/)?.[1] ?? \"TMR2\",\n ) != -1\n ? true\n : false;\n case \"CCP\":\n return hwOverrideSrc.indexOf(\"CCP\") != -1 ? true : false;\n case \"PWM\":\n return hwOverrideSrc.indexOf(\"PWM\") != -1 ? true : false;\n case \"NCO\":\n return hwOverrideSrc.indexOf(\"NCO\") != -1 ? true : false;\n case \"CMP\":\n return hwOverrideSrc.indexOf(\"CM\") != -1 ? true : false;\n case \"ZCD\":\n return hwOverrideSrc.indexOf(\"ZCD\") != -1 ? true : false;\n case \"CLC\":\n return hwOverrideSrc.indexOf(\"CLC\") != -1 ? true : false;\n default:\n return true;\n }\n};\n\nconst getCreatorImportArgs = (importKey: string, state: MyState): any | undefined => {\n return undefined;\n};\n","import * as Processor from \"@microchip/scf-common/lib/Processor\";\nimport { ModuleConfig } from \"@microchip/melody-automodule-interface\";\nimport { Calculations } from \"./Calculations\";\nimport {\n AppModel,\n DerivedData,\n DerivedFunctions,\n} from \"../generated_module/src/types/AutoModuleTypes\";\nimport * as InterfaceTypes from \"@microchip/scf-interface\";\nimport * as opa from \"./opa-output-parameters\";\nimport { MyTemplateData, getGeneratorModel } from \"./GeneratorModel\";\nimport * as initializer_system from \"@microchip/initializer-system\";\nimport { intf_args, QueryAdapterKey } from \"@microchip/pin-standard/lib/pin-standard\";\nimport { Option } from \"@microchip/scf-device\";\nimport { getInputPinsData } from \"./PinsLogic\";\nimport { MyComponentNames } from \"../generated_module/src/types\";\nimport * as image from \"./ImageDataURLs\";\nimport { getPinsLogic } from \"../generated_module/src/pins/PCPHelper\";\nimport { getCFunctionValidator, PatternValidator } from \"@microchip/scf-validators/lib\";\n\nexport const getDerivedData = (dataModel: AppModel): DerivedData => {\n if (dataModel) {\n return new MyDerivedData(dataModel);\n }\n return new EmptyDerivedData();\n};\n\n//This data will be used at the creator stage and relies on only the state\nexport class EmptyDerivedData implements DerivedData {\n getMyFunctions = (): DerivedFunctions => {\n return {};\n };\n getModel = (): AppModel | undefined => {\n return undefined;\n };\n}\n\n//This data will be used at the processor stage\nexport class MyDerivedData implements DerivedData {\n private dataModel: AppModel;\n private myTemplateData: MyTemplateData<opa.API>;\n private gainCalc: Calculations;\n private cValidator: PatternValidator = getCFunctionValidator();\n\n constructor(dataModel: AppModel) {\n this.dataModel = dataModel;\n }\n\n getGainCalculator = (): Calculations => {\n if (!this.gainCalc) {\n this.gainCalc = new Calculations();\n }\n return this.gainCalc;\n };\n\n getMyFunctions = (): DerivedFunctions => {\n return {\n getDynamicConfigData: this.getDynamicConfigData,\n moduleName: this.getModuleName,\n templateData: this.getMyTemplateData,\n alerts: this.getMyAlerts,\n [\"opa-output-parameters_payload\"]: this.getOpaInterfaceProcessedPayload,\n nonInvGain: this.calcNonInvGain,\n invGain: this.calcInvGain,\n initializer_system_results: this.initializer_system_results,\n pin_standard_args: this.getPinstandardArgs,\n doNotShow: (): boolean => false,\n overrideDefaultValues: this.overrideDefaultValue,\n customNameValidator: this.customNameValidator,\n getCustomUiErrors: this.getCustomUiErrors,\n isEnabled: this.isEnabled,\n isVisible: this.isVisible,\n getPinsLogic: getPinsLogic,\n importName: this.friendlyImportName,\n };\n };\n\n public getModel = (): AppModel => {\n return this.dataModel;\n };\n\n public getModuleName = (): string => {\n return this.getModel().getHardware()?.getName() ?? \"OPA\";\n };\n\n private friendlyImportName = (importKey: string): string => {\n if (importKey === \"scf_pic8_opamp_v2\") return \"OpAmp Hardware\";\n if (importKey === \"initializer_system\") return \"system.c Initialize()\";\n if (importKey === \"pin_standard\") return \"Pins\";\n return importKey;\n };\n\n private customNameValidator = (): any => {\n return {\n pattern: this.cValidator.getRjsfValidation().pattern,\n };\n };\n\n private getCustomUiErrors = (componentName: string): Error[] | undefined => {\n switch (componentName) {\n case \"customName\":\n return [\n {\n name: \"pattern\",\n message: this.cValidator.getCustomErrorMessage(),\n },\n ];\n default:\n return undefined;\n }\n };\n\n private isEnabled = (componentName: string): any => {\n if (componentName === \"nssOpacon1\") {\n const customConfig = this.getModel().getComponentValue(\"customConfig\");\n const negChannel = this.getModel().getComponentValue(\"nchOpacon2\");\n if (\n (customConfig === \"Non-Inverting Programmable Gain Amplifier\" ||\n customConfig === \"Inverting Programmable Gain Amplifier\") &&\n negChannel === \"GSEL\"\n )\n return true;\n }\n return undefined;\n };\n\n private isVisible = (componentName: string): any => {\n if (componentName === \"ptresOpacon4\") {\n const hwch = this.getModel().getComponentValue(\"hwchOpahwc\") ?? \"\";\n const hwcl = this.getModel().getComponentValue(\"hwclOpahwc\") ?? \"\";\n if (hwch.indexOf(\"detect\") != -1 || hwcl.indexOf(\"detect\") != -1) return true;\n else return false;\n }\n return undefined;\n };\n\n private getDynamicConfigData = (\n config: ModuleConfig.MyModuleConfig<MyComponentNames>,\n ): ModuleConfig.MyModuleConfig<MyComponentNames> => {\n const links: MyComponentNames[] = [\"mindiLink\"];\n links.forEach((name) => {\n const component = config.softwareData?.[name];\n if (component?.type === \"string\" && component?.format === \"url\") {\n component.urlDescription = \"Mindi\\u2122 Schematic\";\n }\n });\n return config;\n };\n\n private overrideDefaultValue = (componentName: string): any => {\n const module: string = this.getModuleName();\n if (componentName === \"customName\") return this.getModuleName();\n\n if (componentName === \"schematic\") {\n switch (this.getModel().getComponentValue(\"customConfig\")) {\n case \"Direct Connection to Pins\":\n return image.DIRECT_CONN;\n case \"Unity Gain Buffer\":\n return image.UNITY_GAIN;\n case \"Non-Inverting Programmable Gain Amplifier\":\n return image.NON_INV_PGA;\n case \"Inverting Programmable Gain Amplifier\":\n return image.INV_PGA;\n default:\n return image.DIRECT_CONN;\n }\n }\n if (componentName === \"mindiLink\") {\n switch (this.getModel().getComponentValue(\"customConfig\")) {\n case \"Direct Connection to Pins\":\n return \"https://kits.microchip.com/redirect/4/PIC18Q71-00\";\n case \"Unity Gain Buffer\":\n return \"https://kits.microchip.com/redirect/4/PIC18Q71-01\";\n case \"Non-Inverting Programmable Gain Amplifier\":\n return \"https://kits.microchip.com/redirect/4/PIC18Q71-02\";\n case \"Inverting Programmable Gain Amplifier\":\n return \"https://kits.microchip.com/redirect/4/PIC18Q71-03\";\n default:\n return \"https://kits.microchip.com/redirect/4/PIC18Q71-00\";\n }\n }\n if (componentName === \"pchOpacon2\") {\n switch (this.getModel().getComponentValue(\"customConfig\")) {\n case \"Direct Connection to Pins\":\n return module + \"IN+\";\n case \"Unity Gain Buffer\":\n return module + \"IN+\";\n case \"Non-Inverting Programmable Gain Amplifier\":\n return module + \"IN+\";\n case \"Inverting Programmable Gain Amplifier\":\n return \"Vdd/2\";\n case \"Custom Configuration\":\n return \"Vss\";\n }\n }\n if (componentName === \"pssOpacon3\") {\n if (this.getModel().getComponentValue(\"customConfig\")) return module + \"IN0+\";\n }\n if (componentName === \"nchOpacon2\") {\n switch (this.getModel().getComponentValue(\"customConfig\")) {\n case \"Direct Connection to Pins\":\n return module + \"IN-\";\n case \"Unity Gain Buffer\":\n return \"No Connection\";\n case \"Non-Inverting Programmable Gain Amplifier\":\n return \"GSEL\";\n case \"Inverting Programmable Gain Amplifier\":\n return \"GSEL\";\n case \"Custom Configuration\":\n return \"No Connection\";\n }\n }\n if (componentName === \"nssOpacon1\") {\n return this.getModel().getComponentValue(\"customConfig\") ===\n \"Non-Inverting Programmable Gain Amplifier\"\n ? \"Vss\"\n : module + \"IN0-\";\n }\n if (componentName === \"resonOpacon1\") {\n switch (this.getModel().getComponentValue(\"customConfig\")) {\n case \"Non-Inverting Programmable Gain Amplifier\":\n return \"Enabled\";\n case \"Inverting Programmable Gain Amplifier\":\n return \"Enabled\";\n default:\n return \"Disabled\";\n }\n }\n if (componentName === \"gselOpacon1\") {\n if (this.getModel().getComponentValue(\"customConfig\"))\n return \"R1 = 15R and R2 = 1R, R2/R1 = 0.07\";\n }\n if (componentName === \"fmsOpacon3\") {\n switch (this.getModel().getComponentValue(\"customConfig\")) {\n case \"Non-Inverting Programmable Gain Amplifier\":\n return module + \"OUT\";\n case \"Inverting Programmable Gain Amplifier\":\n return module + \"OUT\";\n default:\n return \"No Connection\";\n }\n }\n if (componentName === \"ugOpacon0\") {\n return this.getModel().getComponentValue(\"customConfig\") ===\n \"Unity Gain Buffer\"\n ? \"OPA Output\"\n : \"OPAIN- pin\";\n }\n return undefined;\n };\n\n private getOpaInterfaceProcessedPayload = (): opa.ProcessedPayload => {\n return {\n moduleName: this.getModuleName(),\n customName: this.dataModel.getComponentValue(\"customName\"),\n hasInterrupts: false,\n };\n };\n\n private calcNonInvGain = (): string => {\n const resSelect: string | undefined =\n this.getModel().getComponentValue(\"gselOpacon1\");\n return this.getGainCalculator().calcNonInvGain(resSelect);\n };\n\n private calcInvGain = (): string => {\n const resSelect: string | undefined =\n this.getModel().getComponentValue(\"gselOpacon1\");\n return this.getGainCalculator().calcInvGain(resSelect);\n };\n\n private getMyAlerts = (): Processor.Alert[] => {\n const alerts: Processor.Alert[] = [];\n const module: string = this.getModuleName();\n const customConfigValue = this.getModel().getComponentValue(\"customConfig\");\n const posChannel = this.getModel().getComponentValue(\"pchOpacon2\");\n const negChannel = this.getModel().getComponentValue(\"nchOpacon2\");\n const posSrc = this.getModel().getComponentValue(\"pssOpacon3\");\n const posSrc0 = posSrc?.substring(0, posSrc.length - 1);\n const negSrc = this.getModel().getComponentValue(\"nssOpacon1\");\n const negSrc0 = negSrc?.substring(0, negSrc.length - 1);\n const feedbackMode = this.getModel().getComponentValue(\"fmsOpacon3\");\n\n switch (customConfigValue) {\n case \"Direct Connection to Pins\": {\n if (posChannel === \"GSEL\") {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"Invalid selection for Positive Channel in this configuration\",\n });\n }\n if (negChannel === \"GSEL\") {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"Invalid selection for Negative Channel in this configuration\",\n });\n }\n if (posChannel === module + \"IN+\" && negChannel === module + \"IN-\") {\n if (posSrc0 === negSrc0) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"Both the Positive and Negative Sources are mapped to the same pin\",\n });\n } else {\n //do nothing\n }\n }\n break;\n }\n case \"Unity Gain Buffer\": {\n if (posChannel === \"GSEL\") {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"Invalid selection for Positive Channel in this configuration\",\n });\n }\n break;\n }\n case \"Non-Inverting Programmable Gain Amplifier\": {\n if (posChannel === \"GSEL\" || posChannel === \"Vss\") {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"Invalid selection for Positive Channel in this configuration\",\n });\n }\n if (negChannel !== \"GSEL\") {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"Invalid selection for Negative Channel in this configuration\",\n });\n }\n if (negSrc !== \"Vss\") {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"Invalid selection for Negative Source in this configuration\",\n });\n }\n if (feedbackMode !== module + \"OUT\") {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"Invalid selection for Feedback Mode Selection in this configuration\",\n });\n }\n break;\n }\n case \"Inverting Programmable Gain Amplifier\": {\n if (posChannel === \"GSEL\" || posChannel === \"Vss\") {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"Invalid selection for Positive Channel in this configuration\",\n });\n }\n if (negChannel !== \"GSEL\") {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"Invalid selection for Negative Channel in this configuration\",\n });\n }\n if (feedbackMode !== module + \"OUT\") {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"Invalid selection for Feedback Mode Selection in this configuration\",\n });\n }\n break;\n }\n }\n\n if (posChannel?.indexOf(\"DAC\") !== -1) {\n const regexpNumber = /\\d/;\n const inst = posChannel?.match(regexpNumber);\n if (!this.dataModel.getAssignedImport(\"DAC\")) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n this.dataModel.getName() +\n \" uses DAC\" +\n inst +\n \" as Positive Channel. Ensure DAC\" +\n inst +\n \" has been configured.\",\n });\n }\n }\n if (negChannel?.indexOf(\"DAC\") !== -1) {\n const regexpNumber = /\\d/;\n const inst = negChannel?.match(regexpNumber);\n if (!this.dataModel.getAssignedImport(\"DAC\")) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n this.dataModel.getName() +\n \" uses DAC\" +\n inst +\n \" as Negative Channel. Ensure DAC\" +\n inst +\n \" has been configured.\",\n });\n }\n }\n\n const hwOverrideSrc = this.dataModel.getComponentValue(\"orsOpaors\") ?? \"LFINTOSC\";\n const moduleIgnoreList = [\n \"OPAxORPPS\",\n \"LFINTOSC\",\n \"SOSC\",\n \"Logic low\",\n \"Logic high\",\n ];\n\n if (moduleIgnoreList.indexOf(hwOverrideSrc) != -1) {\n //do nothing\n } else {\n alerts.push({\n type: Processor.AlertTypes.Hint,\n text: \"Ensure that the module selected as Hardware Override Source is configured.\",\n });\n }\n\n return alerts;\n };\n\n private getMyTemplateData = (): MyTemplateData<opa.API> => {\n if (this.myTemplateData == undefined) {\n this.myTemplateData = getGeneratorModel(\n this.getModel(),\n this.getPositiveSources(),\n this.getNegativeSources(),\n this.getHeaderFiles(),\n );\n }\n return this.myTemplateData;\n };\n\n private getHeaderFiles = (): InterfaceTypes.HeaderFile[] => {\n return [\n {\n name: this.getModuleName().toLowerCase() + \".h\",\n path: \"../\",\n },\n ];\n };\n\n private getPinstandardArgs = (): intf_args => ({\n queryAdapterMap: {\n [QueryAdapterKey.ALLPINS]: \"^OPA[0-9]$\",\n },\n });\n\n private initializer_system_results = (): initializer_system.Results => {\n return {\n initializer: {\n name: this.getModuleName() + \"_Initialize\",\n header: {\n name: this.getModuleName().toLowerCase() + \".h\",\n path: \"opa/\",\n },\n },\n };\n };\n\n private getPositiveSources = (): sourceSelect[] => {\n const posSource = this.dataModel.getHardware()?.getPeripheral().registers.OPACON3\n .settings.PSS.options;\n\n let pinAttribs = this.dataModel.getComponentValue(\"cnameAttribforPosPins\") ?? \"\";\n if (typeof pinAttribs === \"string\") pinAttribs = JSON.parse(pinAttribs);\n\n const pinPayload = this.dataModel.getImportValue(\"pin_standard\");\n const allPins = pinPayload?.[QueryAdapterKey.ALLPINS] ?? {};\n const allPinsData = getInputPinsData(allPins, this.getModuleName());\n\n const posSourceList = (posSource ?? []).map((o: Option) => ({\n customName:\n pinAttribs[allPinsData[o.alias]?.pinName]?.cname ??\n allPinsData[o.alias]?.customName,\n source: o.alias ?? \"\",\n }));\n return posSourceList;\n };\n\n private getNegativeSources = (): sourceSelect[] => {\n const negSource = this.dataModel.getHardware()?.getPeripheral().registers.OPACON1\n .settings.NSS.options;\n\n let pinAttribs = this.dataModel.getComponentValue(\"cnameAttribforNegPins\") ?? \"\";\n if (typeof pinAttribs === \"string\") pinAttribs = JSON.parse(pinAttribs);\n\n const pinPayload = this.dataModel.getImportValue(\"pin_standard\");\n const allPins = pinPayload?.[QueryAdapterKey.ALLPINS] ?? {};\n const allPinsData = getInputPinsData(allPins, this.getModuleName());\n\n const negSourceList = (negSource ?? []).map((o: Option) => ({\n customName:\n pinAttribs[allPinsData[o.alias]?.pinName]?.cname ??\n allPinsData[o.alias]?.customName ??\n \"Vss\",\n source: o.alias ?? \"\",\n }));\n return negSourceList;\n };\n}\n\nexport type sourceSelect = {\n customName: string;\n source: string;\n};\n","import { AppModel } from \"../generated_module/src/types/AutoModuleTypes\";\nimport * as InterfaceTypes from \"@microchip/scf-interface\";\nimport { getOptionByAlias } from \"@microchip/scf-device/lib/Setting\";\n\nexport type MyTemplateData<API extends InterfaceTypes.CFunctions> = {\n header: InterfaceTypes.HeaderFile;\n moduleNameUpperCase: string;\n moduleNameLowerCase: string;\n componentName: string | undefined;\n compiler: string;\n tool: string;\n [key: string]: any;\n};\n\nexport const getGeneratorModel = <API extends InterfaceTypes.CFunctions>(\n model: AppModel,\n posSourceModel: sourceSelect[],\n negSourceModel1: sourceSelect[],\n header: InterfaceTypes.HeaderFile[],\n): MyTemplateData<API> => {\n const customName_1 = model.getComponentValue(\"customName\");\n const moduleName = model.getName();\n const registers = model.getRegisterValues();\n\n return {\n moduleNameLowerCase: moduleName.toLowerCase(),\n moduleNameUpperCase: moduleName.toUpperCase(),\n componentName: customName_1,\n moduleInstance: moduleName,\n posSources: convertToTemplatePosSrc(model, posSourceModel),\n negSources: convertToTemplateNegSrc(model, negSourceModel1),\n\n header: header?.[0],\n compiler: \"XC8 v2.32\",\n tool: \"MPLAB X v5.50\",\n ...registers,\n };\n};\n\nexport type sourceTemplate = {\n name: string;\n value: string;\n};\n\nexport type sourceSelect = {\n customName: string;\n source: string;\n};\n\nconst convertToTemplatePosSrc = (\n model: AppModel,\n source: sourceSelect[],\n): sourceTemplate[] => {\n const pss = model.getHardware()?.getPeripheral().registers.OPACON3.settings.PSS;\n if (pss == undefined) {\n return [];\n } else {\n return source.map((sourceData) => ({\n name: sourceData.customName + \"_pos\",\n value: getOptionByAlias(sourceData.source, pss)?.value ?? \"\",\n }));\n }\n};\n\nconst convertToTemplateNegSrc = (\n model: AppModel,\n source: sourceSelect[],\n): sourceTemplate[] => {\n const nss = model.getHardware()?.getPeripheral().registers.OPACON1.settings.NSS;\n if (nss == undefined) {\n return [];\n } else {\n return source.map((sourceData) => ({\n name: sourceData.customName.match(/Vss/)\n ? sourceData.customName\n : sourceData.customName + \"_neg\",\n value: getOptionByAlias(sourceData.source, nss)?.value ?? \"\",\n }));\n }\n};\n","export const DIRECT_CONN =\n \"data:image/png;base64,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\";\nexport const UNITY_GAIN =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATAAAABeBAMAAABWXFVeAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAqUExURf///z09PQICAqqqqtTU1CUlJVlZWefn5xISEomJiZubm729vfb29nV1dR8w18cAAASySURBVGje7dnvSxtnAAfwb5ZLziQXSKpxlbYv4qxaQiFdqHPK4LShMjbBNkSs7sVFR9yUA+mcrmO+sFWJq4VoyzCuL651dk4txLSuP8IgnYjaTVDnHGP6v+y5xGgyY7W1xmflvkSRPLnkk+f3PQJKlChRokSJEiV0hXW2z0ZohKly5fh8brfZbM72ekVx/e/A0NiwozT80FlR0f7NocFWnM5w2OEYGwsE1tdFr9dLgBZ3je9qbjybajGtMP+ORVx7a2ui2muhBBZNYv8boQkGBabAFJgCe4NgxbTCRpUa+5/AuAZKYWxuFqUwW30jnbA85sganTCoa/x0wjDfbacThg4rTycM5/Nb6IRh6nSEThjOfkspjBusoxMGtj6LAtgfDjnD5KckD62t0f7FHGk8fJgvmkL5l40zm6Xos4aatcOGJWSzKUn03RKdMCxYg9te8JgGGNryty0B71IBQ9m2iTZEBwxneyN0wjDqorIpyRPLx+isMTDJe+1k2EjhGizuHBiPA2oBCxcvQcOjaMbtrj5wGAxJe+0kmLGO9aDWOWWfywTuCvDwZcJbPO4w57oqDh6WvNfehFWS2fcyjxm7C0bhzBnoTwiGPrBdMgyGKqQBlrTXjsO4tadkzJJKE1x45s+c4zm9oDMBn6cThrZCN0m3OzETRhABdILb0jnbp12EXjAKgJhOGLd8YozkpiMhJf6F6PqkXbzkjBhP1vQhVmM5GTy+SxOMG61N8crAX8CcHV8FyUSnea+9lsDIxUyBxg4xTbCp3lQ3AKw8YHsfVIPApoB+AsPg+KhfV/ukKz2wsp1vmVCZbccKMEa6YYvBD4OnGSjK5sEsHjys7QU3mYc58893Bl/93b5wlG7W9kPS8glf0RAI4qPtV0xH9gjT+6R9fM2Q+eip+N+iQVBtvRd71NsZ6d9+RfkeYan3/XuHRTAQr7Lf9SZu61NVx/Hl4qvDmF0Oy/YAK+c7soPcUhNulvUYwwLO416OXNICtdR/JxPznka22eNXD2UHUZQTicF+41PCIltbnizsF3Z3tueJTdtcbBc76lQ/5mHV6JokQ/ZPuXigYZn3hC2staRX1/NBge7apBCD/fN9KhgjxCfWQdc+h1LI6zmlq8KSao3hRb1JJYnc9V+DTAGwJBcPIsN+CyHWBq+uD9cy7GxeFMZI2hLH8NZjiCw7P+Xh6bGW+LZ6v2M8FBjitQKKDb4GEJhGeqyuKjebbRs11g+N9NxzlS3AKlnNXJfN5nc2YCpzYi7I/6K3cavVsb3E5I4nPi/TlJBhmP5sMVpjGT/7y0vDj2J9zCTDLLdCm7Dx8KNYU66kbkoTdjkjeymY/hN4tEFdlaiv0kjG+pY5O/M2MCOQB4GRXjcwuwHLkNisGGw6ZefnojNqhzWI1wLjLty/bqwd8YuG088kxgpd7wjpxEz3upvMY5qJnvcvtm/A1DdGTLtOF89fdA6753wYXTtEHvcaUIr7X/MYB35pkj/8ijiBc9DzlU3zH9/GA8aOH+SSK7vA1DW3QVdisF3O+g8NxtZ/Chph3H/ucamBpdxJUwCbuhGhElb2GibWg4BZ83lQCTsZBJ3hoUSJEiVKlLxp+RcOfYAxQu3JIwAAAABJRU5ErkJggg==\";\nexport const NON_INV_PGA =\n \"data:image/png;base64,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\";\nexport const INV_PGA =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXsAAABqBAMAAACv7eyyAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAqUExURf///woKCkhISF1dXTMzM8TExJmZmYaGhh0dHa2trXJycvT09NfX1+fn57FfLu4AAAhxSURBVHja7Zr9TxN5HsfftJ2285SIlocCJkNdXRY1KaCroiRTRRddTaZK18dL6p3U4nlJZRU8vR9aZdmqRzJezpW6XjKsu+IBPwzr3fq0m4wP7K2nmxRZblm9P+a+U54KlMoJnJ1c3ynJMO1MX31/v9/Pw7cFssoqq6yyyiqrrLLKKqsM1WcBjWs0Lv6Fz/740zXFsPhhNPezomHx247thC1k3MkT1PCxced+mBYZxcD4WNfR4jcsvox/fRSQswkkq/8/8YBqYPwDYAWYDIt/EvQiDEhGxXfFmeU4ZtTExb4vm66ixgg129GWCZ3pamkONMZk+rgyeBtCrwHwHa4kvVNbF43k5jGa0GiiFG9ubm40WjuhbRlYXKaIOyasrGH+IVG+WCwQSBqc84bAtzzGKYH+9fTI/0Hm4Tunn2I2YHeIXwYj4KdwnypGn4Q2GNR9uPWMu8mo7o9INaz7M8lI7iPrftb9eXR/x1tm/bNrOczxN3b/beMfxRO+LG5Y9wk+98i47gfrlsM0s/uva8/L37b71IdT8ZPcZ9oyHR830rhvjmzNdPy/STNHHnNN56qMxk8f981urrTGYPjJ7rtBec4a2H3AGvVnLj77OveBOw5pXvCDGixy8gnZNPEvV+pI5dKD8aNXKWO4Se+kbPE07gODi7X5wD8swp6MbxWtE77cXft9foprNi2FTUmQbHenuqdXZUtg8adzH9i9JD4P+KcLkCOjPw7+V9+BP6Te2ck/iONbUAd1DuALchJ8HM/4v2vkCENxUEoXLAnv7OrvU92zSaJXYFBI6z5QX6DOHf/IZc0uvziXj8t1ZWxZWfs+h6WhGEe41joyCA/1AHGibjXjRp69QuwsczOLL8Is1WO3rWJ/7cZO4RF5Ad89ZR4vDzF70Lg6vftggxfmjn/SJNrlStX7o5Otoy+xbVbR4m/DNotiDZOZlPuuRuWxWxL4Hw6V8M5gfFi2qxbtJrNyOH7TTvwnVYDaFWg+qj9isSs+30HWLZhMqAm8xn2wnVvn7j5fYJcv+vY1hhEE+/2nOn4Tt/Thlf0l5Nl76/MZAR0JfD85Uit9u919sJ29xIT2VW2xJyYRg2BUV2s0kktUQPtXPjZrwoC+cTm2rZkbHVdEpFpaEu/NV2yas/u4/IPscLkCYXSwpTsS+AMvBa+LtBx4DnTedsObwJd12+pcLsUOfrti89c/f07cj+vuK8lh6QWjnWq0NiiUvnHZ3V3drWt097WV/HkELjA6MpSnZ67uw+SR20ANFeM0swsJfFNQfqiBrN0vyfT/WUCQEXiCbxPQUAVOI8hrJMZ/9y8rCL4+CSbPfdML7K3h180Y181J0YqO+OfqPh+Rb8W90pahqFmgi+h2i5+OwrLRVkzYe799h3LyO6zt9wk+l8flXZaGQ4yMA6AlrjLEYM/0O1q78bUAF2aDj28K5Tm6j8vy7cJ8PHJ8yUXPV3KRn/xsEUlYUWIf7cldjY7IRra06BOSHQ5HQrbCIvBJITHF5GWdsIRQNTt8vJyevv77ouE7sDKawKvjGZ9NJBX+mZ5aoQd+jB6Rl/xh/DpeSXGzlWAkBGaJj8fT0teb1DxswdM2zI9U3YIHs8VHfZE6DyXb7lb//6agm4qPjim+LUMmaxo+e2J7GvxfroP3HVJBkTHiVPCxOP4NPBvqP3QwM/BJ+prUPU5a9dbF6zfSjtp8eMkyI+G8c1mB/gusvJOe1p0Zgo/J3eMk9/dp7A5aJMXjukuwRjTrLgz7dfwpFe1bxZ/cPY65z3cTwndJ3XtPxMCrpStg/oGUl6SkJ/ifwJRB+Pgmeqr/kK/fp8vlG9EB9WyiVM15utW3xiqQDGXX+jRwizLOfWJx7jQ51OsJ/L6njtoayymvloRfklnup+odbVrP+OTBQ1eZm+AnJk+Tjp9J7qfs3Nkz5KR3ZOnihv5Fqn1k6e5T6UWZ5H6afRPrEhI4RX2too3g41YVaffOl8oZ5H7aXatfjoOXwEp690FSFxcgJdJHvyMXxTMEn6uogXE0FZ9/zY7tG4uKXRmPB/fI+yR1FuzVz0FPHz5Km9hiU2eHzx7evkA+WQqjjjEIL9bS4aTdrS0eKWd6tDArGPwNsEt/5Vezw+9oW6hhJk3TsDK+b+lM8pN2gilOjb9pWKUFfVxezAp/WrU/r/ik/a0MYU95fNC2+LryFWzSy3LCZnGD7c25Vq5yX2xAY9Mm9Faexf1yzazwolk2y2J3rWTSP90ZLRU+pU70WhoWEP+ucrpxM5f/J9FLFT0N38DAjxevtZM8ri+DnE+DysNTJ6SKv5ahsPkie/5qiVmxKrRwF+FqWrCFSNTWelLhm8aY76fZaJ47/paq6CsnBva3s7IXF+iwV21iBL2ZS/x2NCdkFfeSz7iG1OH5OGkTUWVWCPSlYwhv4ETare9gHUn+DZ5L3+upE+n11epoupIXMMRZdnR9zi2F5beeD+JeOOmwxb/NdM51bsx9mQ5zH3tCVejT8nDEfM7VmsC/uSqBbyXLxqZ2BZLV1dLSclLg6xtGd3nOLmSEJpMHOr6futWecN+2qti01ucjzxC093IkMh7vPwlVj+Iv9/nMCvH8iZjAt/lHS/aZJg9V2oOFxkc+mTwKnAl8fombEdFMRr2EPHT8KrI6RvFtYbSYFVYEI8PdwCsmbcbIw6ZoERcI/0TzZq7oGnF/cyyMUok/fy2PnC3tqvDr+KdjZWP47LmreSRwjof7x+kDJ3ti6wKn98T3LFSVH/+s1l7iwPEQ9gI/V+uu0pUkiGpcyFbt88fAxHvJU3eqJauM22NX96bHD7bBkBrBn/G7FUPgP1oSh3Hx03yvaAD8Ow4ZxsWno34YF3+tpwcGxs+tMTA9bKuQVVZZZZXVW9J/AIvebuUe8PLBAAAAAElFTkSuQmCC\";\n","import { AppModel } from \"../generated_module/src/types/AutoModuleTypes\";\nimport { pin_row, pin_attribs_enum } from \"@microchip/pin-standard\";\nimport { QueryAdapterKey } from \"@microchip/pin-standard/lib/pin-standard\";\nimport { Dictionary } from \"@microchip/scf-common/lib/Processor\";\n\n// provide complete dynamic data for all pin rows. It overrides static pindata.json\nexport const getCompletePinData = (appModel: AppModel): any => {\n // way to programatically override the json data\n return {};\n};\n\n// overrides pin data for a particular row based on model.\nexport function getRowData(appModel: AppModel, rowData: pin_row): pin_row | undefined {\n let retRowJSONdata: pin_row | undefined = rowData;\n const mod = appModel.getHardware()?.getName() ?? \"OPA\";\n\n const pinPayload = appModel.getImportValue(\"pin_standard\");\n\n const allPins = pinPayload?.[QueryAdapterKey.ALLPINS] ?? {};\n const allPinsData = getInputPinsData(allPins, mod);\n\n const posPinAttribs = getPinAttribs(allPinsData, \"+\");\n const negPinAttribs = getPinAttribs(allPinsData, \"-\");\n\n if (/^posPins$/.test(rowData.name)) {\n if (appModel.getComponentValue(\"pchOpacon2\") === mod + \"IN+\") {\n if (appModel.getComponentValue(\"pssOpacon3\") === mod + \"IN0+\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n module: mod,\n function: mod + \"INx+\",\n filter: { ...retRowJSONdata.filter, module: mod },\n behaviourMeta: { lockPinRegEx: mod + \"IN0+\" },\n attribs: posPinAttribs,\n };\n } else if (appModel.getComponentValue(\"pssOpacon3\") === mod + \"IN1+\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n module: mod,\n function: mod + \"INx+\",\n filter: { ...retRowJSONdata.filter, module: mod },\n behaviourMeta: { lockPinRegEx: mod + \"IN1+\" },\n attribs: posPinAttribs,\n };\n } else if (appModel.getComponentValue(\"pssOpacon3\") === mod + \"IN2+\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n module: mod,\n function: mod + \"INx+\",\n filter: { ...retRowJSONdata.filter, module: mod },\n behaviourMeta: { lockPinRegEx: mod + \"IN2+\" },\n attribs: posPinAttribs,\n };\n } else if (appModel.getComponentValue(\"pssOpacon3\") === mod + \"IN3+\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n module: mod,\n function: mod + \"INx+\",\n filter: { ...retRowJSONdata.filter, module: mod },\n behaviourMeta: { lockPinRegEx: mod + \"IN3+\" },\n attribs: posPinAttribs,\n };\n }\n let rowActions = [];\n const posSrc = appModel\n .getAutoModuleAppModel()\n .getComponent(\"pssOpacon3\")?.component;\n if (posSrc) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"posPins\")\n .forComponent(posSrc)\n .addIfLockedSetValue(mod + \"IN0+\", mod + \"IN0+\")\n .addIfLockedSetValue(mod + \"IN1+\", mod + \"IN1+\")\n .addIfLockedSetValue(mod + \"IN2+\", mod + \"IN2+\")\n .addIfLockedSetValue(mod + \"IN3+\", mod + \"IN3+\")\n .build(),\n );\n }\n const neededAttribs: pin_attribs_enum[] = [pin_attribs_enum.cname];\n const cnameAttribComponent = appModel.getComponent(\n \"cnameAttribforPosPins\",\n )?.component;\n if (cnameAttribComponent) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"posPins\")\n .forComponent(cnameAttribComponent)\n .addIfLockedProvideAttribs(\".*\", neededAttribs)\n .addIfUnlockedProvideAttribs(\".*\", neededAttribs)\n .build(),\n );\n }\n retRowJSONdata = { ...retRowJSONdata, actions: rowActions };\n } else {\n retRowJSONdata = undefined;\n }\n } else if (/^negPins$/.test(rowData.name)) {\n const config = appModel.getComponentValue(\"customConfig\");\n const negChannel = appModel.getComponentValue(\"nchOpacon2\");\n if (\n negChannel === mod + \"IN-\" ||\n (config?.indexOf(\"Programmable Gain Amplifier\") !== -1 &&\n negChannel === \"GSEL\" &&\n config !== \"Unity Gain Buffer\")\n ) {\n if (appModel.getComponentValue(\"nssOpacon1\") === mod + \"IN0-\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n module: mod,\n function: mod + \"INx-\",\n filter: { ...retRowJSONdata.filter, module: mod },\n behaviourMeta: { lockPinRegEx: mod + \"IN0-\" },\n attribs: negPinAttribs,\n };\n } else if (appModel.getComponentValue(\"nssOpacon1\") === mod + \"IN1-\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n module: mod,\n function: mod + \"INx-\",\n filter: { ...retRowJSONdata.filter, module: mod },\n behaviourMeta: { lockPinRegEx: mod + \"IN1-\" },\n attribs: negPinAttribs,\n };\n } else if (appModel.getComponentValue(\"nssOpacon1\") === mod + \"IN2-\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n module: mod,\n function: mod + \"INx-\",\n filter: { ...retRowJSONdata.filter, module: mod },\n behaviourMeta: { lockPinRegEx: mod + \"IN2-\" },\n attribs: negPinAttribs,\n };\n } else if (appModel.getComponentValue(\"nssOpacon1\") === mod + \"IN3-\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n module: mod,\n function: mod + \"INx-\",\n filter: { ...retRowJSONdata.filter, module: mod },\n behaviourMeta: { lockPinRegEx: mod + \"IN3-\" },\n attribs: negPinAttribs,\n };\n } else if (appModel.getComponentValue(\"nssOpacon1\") === \"Vss\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n module: mod,\n function: mod + \"INx-\",\n filter: { ...retRowJSONdata.filter, module: mod },\n behaviourMeta: { lockPinRegEx: \"^.{0}$\" },\n };\n }\n let rowActions = [];\n const negSrc = appModel\n .getAutoModuleAppModel()\n .getComponent(\"nssOpacon1\")?.component;\n if (negSrc) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"negPins\")\n .forComponent(negSrc)\n .addIfLockedSetValue(mod + \"IN0-\", mod + \"IN0-\")\n .addIfLockedSetValue(mod + \"IN1-\", mod + \"IN1-\")\n .addIfLockedSetValue(mod + \"IN2-\", mod + \"IN2-\")\n .addIfLockedSetValue(mod + \"IN3-\", mod + \"IN3-\")\n .addIfUnLockedSetValue(\".*\", \"Vss\")\n .build(),\n );\n }\n const neededAttribs: pin_attribs_enum[] = [pin_attribs_enum.cname];\n const cnameAttribComponent = appModel.getComponent(\n \"cnameAttribforNegPins\",\n )?.component;\n if (cnameAttribComponent) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"negPins\")\n .forComponent(cnameAttribComponent)\n .addIfLockedProvideAttribs(\".*\", neededAttribs)\n .addIfUnlockedProvideAttribs(\".*\", neededAttribs)\n .build(),\n );\n }\n retRowJSONdata = { ...retRowJSONdata, actions: rowActions };\n } else {\n retRowJSONdata = undefined;\n }\n } else if (/^outputPin$/.test(rowData.name)) {\n if (!appModel.isComponentValue(\"intoeOpacon3\")) {\n retRowJSONdata = {\n ...retRowJSONdata,\n module: mod,\n function: mod + \"OUT\",\n filter: { ...retRowJSONdata.filter, module: mod },\n behaviourMeta: { lockPinRegEx: mod + \"OUT\" },\n };\n retRowJSONdata = { ...retRowJSONdata };\n } else {\n retRowJSONdata = undefined;\n }\n } else if (/^ppsPin$/.test(rowData.name)) {\n if (appModel.getComponentValue(\"orsOpaors\") === \"OPAxORPPS\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n module: mod,\n function: mod + \"ORPPS\",\n filter: { ...retRowJSONdata.filter, module: mod },\n };\n retRowJSONdata = { ...retRowJSONdata };\n } else {\n retRowJSONdata = undefined;\n }\n }\n return retRowJSONdata;\n}\n\nexport interface AllPinsData {\n [pinName: string]: {\n [module: string]: {\n [key: string]: {\n alias: string;\n };\n };\n };\n}\n\nexport interface PinData {\n funcName: string;\n customName: string;\n pinName: string;\n}\n\nexport interface PinAttribs {\n aliasReEx: string;\n cname: string;\n}\n\nexport const getInputPinsData = (\n allPins: AllPinsData,\n moduleName: string,\n): Dictionary<PinData> => {\n return getPinsData(allPins, /OPA\\d(IN\\d)(\\D)/, moduleName);\n};\n\nexport const getPinsData = (\n allPins: AllPinsData,\n aliasRegex: RegExp,\n modName: string,\n): Dictionary<PinData> => {\n const pinData: Dictionary<PinData> = {};\n Object.keys(allPins).forEach((pinName) => {\n const pins = allPins[pinName];\n const modPins = pins[modName];\n if (modPins) {\n Object.keys(modPins).forEach((key) => {\n const opaPins = modPins[key].alias.match(aliasRegex);\n if (opaPins) {\n const customName = pinName + \"_\" + opaPins[1];\n const funcName = opaPins[0];\n pinData[funcName] = {\n funcName,\n customName,\n pinName,\n };\n }\n });\n }\n });\n return pinData;\n};\n\nexport const getPinAttribs = (\n allPins: Dictionary<PinData>,\n pinPolarity: string,\n): PinAttribs[] => {\n const pinAttribArr: PinAttribs[] = [];\n Object.keys(allPins)\n .filter((key) => key.endsWith(pinPolarity))\n .forEach((key) => {\n pinAttribArr.push({\n aliasReEx: allPins[key].funcName,\n cname: allPins[key].customName,\n });\n });\n return pinAttribArr;\n};\n"],"sourceRoot":""}
|