@mchp-mcc/scf-pic8-osc-v1 4.3.1 → 4.3.3
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 +20 -0
- package/Readme.md +31 -2
- package/lib/generated_module/src/index.js +0 -5
- package/output/autoCreator.js +1624 -0
- package/output/autoCreator.js.map +1 -0
- package/output/autoProcessor.js +1626 -0
- package/output/autoProcessor.js.map +1 -0
- package/output/clock.c.ftl +46 -22
- package/output/clock.h.ftl +16 -18
- package/output/creator.js +6261 -1577
- package/output/creator.js.map +1 -1
- package/output/processor.js +5324 -5802
- package/output/processor.js.map +1 -1
- package/package.json +100 -27
- package/src/ClockCalculator.test.ts +0 -61
- package/src/ClockCalculator.ts +0 -81
- package/src/CreatorFunctions.ts +0 -12
- package/src/DerivedData.ts +0 -305
- package/src/PinsLogic.ts +0 -297
- package/src/StringConstants.ts +0 -13
- package/src/moduleConfig.json +0 -580
- package/src/pinsdata.json +0 -90
|
@@ -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/initializer-system/lib/src/index.js","webpack://autoCreator/./node_modules/@microchip/initializer-system/lib/src/initializer-system.js","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-interface/lib/c-function-types.js","webpack://autoCreator/./node_modules/@microchip/scf-interface/lib/helpers.js","webpack://autoCreator/./node_modules/@microchip/scf-interface/lib/index.js","webpack://autoCreator/./src/ClockCalculator.ts","webpack://autoCreator/./src/CreatorFunctions.ts","webpack://autoCreator/./src/DerivedData.ts","webpack://autoCreator/./src/PinsLogic.ts","webpack://autoCreator/./src/StringConstants.ts"],"names":["createAutoCreator","getCreatorFunctions","getModuleConfig","getModuleConfigFromFile","getCreatorFunctionsUser","getPinsDataFromFile","require","undefined","getPinsLogicFromFile","mockPinsLogic","getPinsData","getCompletePinData","appModel","getRowData","rowData","rows","getPinsLogic","pinsLogic","ClockCalculator","oscSelect","HFInternalClk","externalClk","clkDivider","currentSystemClk","HFClk","StringConstants","SOSC","LFINTOSC","HFINTOSC","parseInt","replace","HFINTOSC_2xPLL","EXTOSC","MIN_PLL","MAX_PLL","Math","round","mfintosc","mfintosc_31KHz","lfintosc","toString","sosc","shouldImport","importKey","state","getDerivedData","dataModel","MyDerivedData","EmptyDerivedData","clockCalculator","getModel","getComponentValue","moduleName","getModuleName","alerts","getMyAlerts","isEnabled","isVisible","getClockCalculator","getCurrentSystemClk","initializer_system_results","config_device_results","templateData","getTemplateData","config_request_args","getOscClocksProcessedPayload","doNotShow","importName","friendlyImportName","oscObj","extosc","getExtOsc","fosc","hfintosc","getHfIntOsc","getLfIntOsc","getMfIntOsc","mfintosc_31Khz","getMfIntOsc_31KHz","getSosc","hasSosc","isComponentValue","soscEnabled","soscPowerMode","headers","name","path","registerValues","getRegisterValues","productName","productVersion","compiler","tool","deviceFrequency","header","moduleNameUpperCase","toUpperCase","moduleNameLowerCase","toLowerCase","isPllEnabled","initializer","priority","initializer_system","START","componentName","indexOf","componentValue","EXTOSC_4xPLL","externalClkSelectedOptions","getImportValue","selectedOptionVal","getDynamicComponetDefaultValue","noscOsccon1","push","type","Processor","Hint","text","Warning","ExtClkFreq_64MHz","ExtClkFreq_20MHz","ExtClkFreq_32MHz","retRowJSONdata","rowActions","clockOutEnable","selectedOption","behaviourMeta","lockPinRegEx","isPic18ClkOut","actionArr","getPCPHelper","stateActionBuilder","rowWithName","forComponent","addIfLockedSetValue","addIfUnLockedSetValue","build","eachAction","lockedState","pin_state","LOCKED","meta","to","getAssignedImport","handle","providerId","unlockedState","UNLOCK","extClkSelect","mclrKey","getComponent","component","concat","mclrEnable","lvpEnable","selectedMclrOption","selectedLvpOption","isPic18Mclr","isQ10Mclr","actions"],"mappings":"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AACA,SAAS;AACT,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8C;;;;;;;;;;;;ACtGa;AACb,8CAA8C,cAAc;AAC5D,qBAAqB,mBAAO,CAAC,kFAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;;;;ACXa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4EAA4E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wFAAwF;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,+EAA+E;AAChF;AACA;AACA;AACA;AACA,CAAC,6DAA6D;AAC9D;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;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;A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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 initializer_system_1 = require(\"./initializer-system\");\nexports.Interface = initializer_system_1.Interface;\nexports.INIT_PRIORITY = initializer_system_1.INIT_PRIORITY;\nexports.sortInitializers = initializer_system_1.sortInitializers;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar InterfaceTypes = __importStar(require(\"@microchip/scf-interface\"));\nvar pkgJson = __importStar(require(\"../package.json\"));\nvar getInterfaceId = function () {\n return {\n name: InterfaceTypes.getInterfaceName(pkgJson),\n version: InterfaceTypes.getInterfaceVersion(pkgJson),\n };\n};\nexports.sortInitializers = function (initializers) {\n var retinitializers = __spreadArrays(initializers);\n retinitializers.sort(prioritySorter);\n return retinitializers;\n};\nvar prioritySorter = function (a, b) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n var result = 0;\n var apriority = (_b = (_a = a === null || a === void 0 ? void 0 : a.initializer) === null || _a === void 0 ? void 0 : _a.priority) !== null && _b !== void 0 ? _b : INIT_PRIORITY.DEFAULT;\n var bpriority = (_d = (_c = b === null || b === void 0 ? void 0 : b.initializer) === null || _c === void 0 ? void 0 : _c.priority) !== null && _d !== void 0 ? _d : INIT_PRIORITY.DEFAULT;\n if (apriority < bpriority) {\n result = -1;\n }\n else if (apriority > bpriority) {\n result = 1;\n }\n else {\n //same priority sort via intializer name alphabetically\n result = (_h = (_f = (_e = a === null || a === void 0 ? void 0 : a.initializer) === null || _e === void 0 ? void 0 : _e.name) === null || _f === void 0 ? void 0 : _f.localeCompare((_g = b === null || b === void 0 ? void 0 : b.initializer) === null || _g === void 0 ? void 0 : _g.name)) !== null && _h !== void 0 ? _h : 0;\n }\n return result;\n};\nvar INIT_PRIORITY;\n(function (INIT_PRIORITY) {\n INIT_PRIORITY[INIT_PRIORITY[\"START\"] = 1] = \"START\";\n INIT_PRIORITY[INIT_PRIORITY[\"PRE_PERIPHERAL\"] = 50] = \"PRE_PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"PERIPHERAL\"] = 100] = \"PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"POST_PERIPHERAL\"] = 150] = \"POST_PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"DEFAULT\"] = 200] = \"DEFAULT\";\n INIT_PRIORITY[INIT_PRIORITY[\"PRE_SOFTWARE\"] = 250] = \"PRE_SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"SOFTWARE\"] = 300] = \"SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"POST_SOFTWARE\"] = 350] = \"POST_SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"END\"] = 400] = \"END\";\n})(INIT_PRIORITY = exports.INIT_PRIORITY || (exports.INIT_PRIORITY = {}));\nvar createMock = function () {\n return {\n interfaceId: getInterfaceId(),\n payload: {\n moduleName: \"MyModule\",\n },\n args: {},\n results: {\n requestId: {\n initializer: {\n name: \"mymodule_init\",\n header: {\n name: \"mymodule.h\",\n path: \"include/\",\n },\n },\n registerInit: [\n {\n name: \"OSCCON1\",\n comment: \"//Comments\",\n value: 55,\n valueAsHex: \"0x55\",\n },\n ],\n },\n },\n };\n};\nvar createPrototypeImport = function () {\n return {\n interfaceId: getInterfaceId(),\n };\n};\nvar createPrototypeExport = function () {\n return {\n interfaces: [{ interfaceId: getInterfaceId() }],\n };\n};\nexports.Interface = {\n createPrototypeExport: createPrototypeExport,\n createPrototypeImport: createPrototypeImport,\n getInterfaceId: getInterfaceId,\n createMock: createMock,\n};\n//# sourceMappingURL=initializer-system.js.map","\"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.buildSimpleApi = function (functions) {\n var api = {};\n for (var key in functions) {\n api[key] = buildFunction(functions[key]);\n }\n return api;\n};\nvar buildFunction = function (cFunction) {\n return cFunction.returns + \" \" + cFunction.name + \"(\" + buildArguments(cFunction.arguments) + \")\";\n};\nvar buildArguments = function (args) {\n if (args) {\n return args.map(function (arg) { return arg.type + \" \" + arg.name; }).join(\", \");\n }\n else {\n return \"void\";\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInterfaceName = function (pkgJson) {\n var strReplace = \"@microchip/\";\n var interfaceName;\n if (pkgJson) {\n interfaceName = pkgJson[\"name\"];\n if (interfaceName) {\n interfaceName = interfaceName.replace(strReplace, \"\");\n }\n }\n if (!interfaceName) {\n throw new Error(\"Invalid Interface Name...!\");\n }\n return interfaceName;\n};\nexports.getInterfaceVersion = function (pkgJson) {\n var versionRegex = new RegExp(\"\\\\d+.\\\\d+.\\\\d+\");\n var version;\n if (pkgJson) {\n version = pkgJson[\"version\"];\n }\n if (!version && !versionRegex.test(version)) {\n throw new Error(\"Invalid Interface Version...!\");\n }\n return version;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar c_function_types_1 = require(\"./c-function-types\");\nexports.buildSimpleApi = c_function_types_1.buildSimpleApi;\nvar helpers_1 = require(\"./helpers\");\nexports.getInterfaceName = helpers_1.getInterfaceName;\nexports.getInterfaceVersion = helpers_1.getInterfaceVersion;\n","import { StringConstants } from \"./StringConstants\";\n\nexport class ClockCalculator {\n private lfintosc = \"31000\";\n private mfintosc = \"500000\";\n private mfintosc_31KHz = \"31250\";\n private sosc = \"32768\";\n private oscSelect: string;\n private HFInternalClk: string;\n private externalClk: number;\n private clkDivider: number;\n\n MAX_PLL = 16000000; // in Hz\n MIN_PLL = 3000000; // in Hz\n\n public constructor(\n oscSelect: string,\n HFInternalClk: string,\n externalClk: number,\n clkDivider: number,\n ) {\n this.oscSelect = oscSelect;\n this.HFInternalClk = HFInternalClk;\n this.externalClk = externalClk;\n this.clkDivider = clkDivider;\n }\n\n public getCurrentSystemClk = (): number => {\n let currentSystemClk: number;\n let HFClk: number;\n\n if (this.oscSelect === StringConstants.SOSC) {\n currentSystemClk = 32768 / this.clkDivider;\n } else if (this.oscSelect === StringConstants.LFINTOSC) {\n currentSystemClk = 31000 / this.clkDivider;\n } else if (this.oscSelect === StringConstants.HFINTOSC) {\n HFClk = parseInt(this.HFInternalClk?.replace(\"_MHz\", \"\") ?? \"1000000\");\n currentSystemClk = (HFClk * 1000000) / this.clkDivider;\n } else if (this.oscSelect === StringConstants.HFINTOSC_2xPLL) {\n HFClk = parseInt(this.HFInternalClk?.replace(\"_MHz\", \"\") ?? \"1000000\");\n if (HFClk == 8 || HFClk == 12 || HFClk == 16) {\n currentSystemClk = (HFClk * 2 * 1000000) / this.clkDivider;\n } else {\n currentSystemClk = (HFClk * 1000000) / this.clkDivider;\n }\n } else if (this.oscSelect === StringConstants.EXTOSC) {\n currentSystemClk = this.externalClk / this.clkDivider;\n } else {\n if (this.externalClk <= this.MIN_PLL || this.externalClk > this.MAX_PLL) {\n currentSystemClk = this.externalClk / this.clkDivider;\n } else {\n currentSystemClk = (this.externalClk * 4) / this.clkDivider;\n }\n }\n return Math.round(currentSystemClk);\n };\n\n public getHfIntOsc = (): string => {\n return this.HFInternalClk?.replace(\"_MHz\", \"000000\") ?? \"1000000\";\n };\n\n public getMfIntOsc = (): string => {\n return this.mfintosc;\n };\n\n public getMfIntOsc_31KHz = (): string => {\n return this.mfintosc_31KHz;\n };\n\n public getLfIntOsc = (): string => {\n return this.lfintosc;\n };\n\n public getExtOsc = (): string => {\n return this.externalClk.toString();\n };\n\n public getSosc = (): string => {\n return this.sosc;\n };\n}\n","import { CreatorFunctions } from \"@microchip/melody-automodule-interface\";\nimport { State } from \"../generated_module/src/types/State\";\n\nexport const getCreatorFunctions = (): CreatorFunctions => {\n return {\n shouldImport: shouldImport,\n };\n};\n\nconst shouldImport = (importKey: string, state: State): boolean => {\n return true;\n};\n","import * as Processor from \"@microchip/scf-common/lib/Processor\";\nimport { ClockCalculator } from \"./ClockCalculator\";\nimport * as initializer_system from \"@microchip/initializer-system\";\nimport * as config_device from \"@microchip/config-device\";\nimport { StringConstants } from \"./StringConstants\";\nimport osc_clocks from \"@microchip/osc-clocks\";\nimport * as config_request from \"@microchip/config-request\";\nimport {\n AppModel,\n DerivedData,\n DerivedFunctions,\n} from \"../generated_module/src/types/AutoModuleTypes\";\nimport * as InterfaceTypes from \"@microchip/scf-interface\";\nimport { getPinsLogic } from \"../generated_module/src/pins/PCPHelper\";\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 clockCalculator: ClockCalculator;\n\n constructor(dataModel: AppModel) {\n this.dataModel = dataModel;\n }\n\n getClockCalculator = (): ClockCalculator => {\n if (!this.clockCalculator) {\n this.clockCalculator = new ClockCalculator(\n this.getModel().getComponentValue(\"noscOsccon1\") ?? \"\",\n this.getModel().getComponentValue(\"hffrqOscfrq\") ?? \"\",\n this.getModel().getComponentValue(\"externalClk\") ?? 32768,\n parseInt(this.getModel().getComponentValue(\"ndivOsccon1\") ?? \"\"),\n );\n }\n return this.clockCalculator;\n };\n\n getMyFunctions = (): DerivedFunctions => {\n return {\n moduleName: this.getModuleName,\n alerts: this.getMyAlerts,\n isEnabled: this.isEnabled,\n isVisible: this.isVisible,\n currentSystemClk: (): number =>\n this.getClockCalculator().getCurrentSystemClk(),\n \"fosc-hz_payload\": (): string =>\n this.getClockCalculator().getCurrentSystemClk().toString(),\n initializer_system_results: this.initializer_system_results,\n config_device_results: this.config_device_results,\n templateData: this.getTemplateData,\n config_request_args: (): config_request.Arguments => [\n \"FEXTOSC\",\n \"CLKOUTEN\",\n \"MCLRE\",\n \"LVP\",\n ],\n \"osc-clocks_payload\": this.getOscClocksProcessedPayload,\n doNotShow: (): boolean => false,\n getPinsLogic: getPinsLogic,\n importName: this.friendlyImportName,\n };\n };\n private friendlyImportName = (importKey: string): string => {\n if (importKey === \"scf_pic8_osc_v1\") return \"Oscillator Hardware\";\n if (importKey === \"initializer_system\") return \"system.c Initialize()\";\n if (importKey === \"config_device\") return \"Configuration Device\";\n if (importKey === \"config_request\") return \"Configuration Request\";\n if (importKey === \"pin_standard\") return \"Pins\";\n return importKey;\n };\n\n private getOscClocksProcessedPayload = (): osc_clocks.ProcessedPayload => {\n const oscObj: osc_clocks.ProcessedPayload = {\n extosc: this.getClockCalculator().getExtOsc() ?? \"32768\",\n fosc: this.getClockCalculator().getCurrentSystemClk().toString() ?? \"1000000\",\n hfintosc: this.getClockCalculator().getHfIntOsc() ?? \"1000000\",\n lfintosc: this.getClockCalculator().getLfIntOsc() ?? \"31000\",\n mfintosc: this.getClockCalculator().getMfIntOsc() ?? \"500000\",\n mfintosc_31Khz: this.getClockCalculator().getMfIntOsc_31KHz() ?? \"31250\",\n sosc: this.getClockCalculator().getSosc() ?? \"32768\",\n };\n const hasSosc: boolean =\n this.dataModel.isComponentValue(\"soscenOscen\") !== undefined ? true : false;\n if (hasSosc) {\n oscObj.hasSosc = true;\n oscObj.soscEnabled = this.dataModel.isComponentValue(\"soscenOscen\");\n oscObj.soscPowerMode = this.dataModel.getComponentValue(\"soscpwrOsccon3\");\n }\n return oscObj;\n };\n\n public getModuleName = (): string => {\n return \"Clock Control\";\n };\n public getModel = (): AppModel => {\n return this.dataModel;\n };\n\n private getTemplateData = (): any => {\n const headers: InterfaceTypes.HeaderFile = {\n name: \"clock.h\",\n path: \"../\",\n };\n // const initRegisters = this.dataModel.getRegisterValues();\n const registerValues = this.dataModel.getRegisterValues();\n return {\n productName: \"CCL\",\n productVersion: \"1.8.2\",\n compiler: \"XC8 v2.20\",\n tool: \"MPLAB X 5.40\",\n\n deviceFrequency: this.getClockCalculator().getCurrentSystemClk().toString(),\n\n // initRegisters: initRegisters,\n header: headers,\n\n moduleNameUpperCase: this.getModuleName().toUpperCase(),\n moduleNameLowerCase: this.getModuleName().toLowerCase(),\n isPllEnabled: this.dataModel.isComponentValue(\"pllenOscen\") ?? false,\n ...registerValues,\n };\n };\n private initializer_system_results = (): initializer_system.Results => {\n return {\n initializer: {\n name: \"CLOCK_Initialize\",\n header: {\n name: \"clock.h\",\n path: \"system/\",\n },\n priority: initializer_system.INIT_PRIORITY.START,\n },\n };\n };\n\n private config_device_results = (): config_device.Results => {\n return {\n headers: [\n {\n name: \"clock.h\",\n path: \"system/\",\n },\n ],\n };\n };\n\n private isEnabled = (componentName: string): boolean => {\n switch (componentName) {\n case \"hffrqOscfrq\":\n return (\n this.dataModel.getComponentValue(\"noscOsccon1\")?.indexOf(\"HF\") != -1\n );\n case \"currentSystemClk\":\n return false;\n case \"lfIntOscFreq\":\n return false;\n default:\n return true;\n }\n };\n\n private isVisible = (componentName: string): boolean => {\n const componentValue = this.dataModel.getComponentValue(\"noscOsccon1\");\n switch (componentName) {\n case \"externalClk\":\n if (\n componentValue === StringConstants.EXTOSC ||\n componentValue === StringConstants.EXTOSC_4xPLL\n ) {\n return true;\n } else {\n return false;\n }\n case \"lfIntOscFreq\":\n if (componentValue != StringConstants.LFINTOSC) {\n return false;\n } else {\n return true;\n }\n case \"hffrqOscfrq\":\n if (\n componentValue != StringConstants.HFINTOSC &&\n componentValue != StringConstants.HFINTOSC_2xPLL\n ) {\n return false;\n } else {\n return true;\n }\n default:\n return true;\n }\n };\n\n private getDynamicComponetDefaultValue = (\n componentName: string,\n ): string | undefined => {\n const externalClkSelectedOptions = this.dataModel.getImportValue(\n \"config_request\",\n )?.[componentName];\n let selectedOptionVal: string | undefined;\n if (externalClkSelectedOptions) {\n selectedOptionVal = externalClkSelectedOptions[\"defaultValue\"][\"value\"];\n }\n return selectedOptionVal ?? undefined;\n };\n\n private getMyAlerts = (): Processor.Alert[] => {\n const alerts: Processor.Alert[] = [];\n const selectedOptionVal: string =\n this.getDynamicComponetDefaultValue(\"FEXTOSC\") ?? \"\";\n const noscOsccon1 = this.dataModel.getComponentValue(\"noscOsccon1\");\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL ||\n noscOsccon1 === StringConstants.EXTOSC\n ) {\n alerts.push({\n type: Processor.AlertTypes.Hint,\n text:\n 'Please configure required \"External Oscillator Selection\" in System Module config bits',\n });\n }\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL &&\n ((this.getModel().getComponentValue(\"externalClk\") ?? 0) <=\n this.getClockCalculator().MIN_PLL ||\n (this.getModel().getComponentValue(\"externalClk\") ?? 0) >\n this.getClockCalculator().MAX_PLL)\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"The frequency selected does not fall within the PLL locking range. Therefore, the actual frequency produced by hardware maybe unpredictable when the PLL is enabled. Either change the clock frequency or select a different option in Oscillator select.\",\n });\n }\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL ||\n noscOsccon1 === StringConstants.EXTOSC\n ) {\n if (\n selectedOptionVal?.indexOf(\"external clock\") != -1 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_64MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_64MHz +\n \" Hz)\",\n });\n }\n\n if (\n selectedOptionVal?.indexOf(\"crystal oscillator\") != -1 &&\n (this.getModel().getComponentValue(\"externalClk\") ?? 0) > 16000000 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_20MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_20MHz +\n \" Hz)\",\n });\n }\n\n if (\n selectedOptionVal.indexOf(\"Oscillator not enabled\") != -1 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_32MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_32MHz +\n \" Hz)\",\n });\n }\n }\n\n const HFClk = parseInt(\n this.dataModel.getComponentValue(\"hffrqOscfrq\")?.replace(\"_MHz\", \"\") ?? \"0\",\n );\n if (\n this.dataModel.getComponentValue(\"noscOsccon1\") ===\n StringConstants.HFINTOSC_2xPLL &&\n (HFClk == 1 || HFClk == 2 || HFClk == 4 || HFClk == 32)\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"The frequency set in HF Internal Clock may not get generated by the clock hardware properly since it does not fall within the 2xPLL range of 8-16 MHz. Therefore, it is recommended that the option 'HFINTOSC' be selected in the Oscillator select combo box.\",\n });\n }\n\n return alerts;\n };\n}\n","import { pin_row, pin_state } from \"@microchip/pin-standard\";\nimport { AppModel } from \"../generated_module/src/types/AutoModuleTypes\";\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 let rowActions: any = [];\n const clockOutEnable = appModel.getImportValue(\"config_request\")?.[\"CLKOUTEN\"];\n\n if (clockOutEnable) {\n delete clockOutEnable[\"setting\"];\n delete clockOutEnable[\"displayOptionSetting\"];\n const selectedOption: string = clockOutEnable[\"defaultValue\"][\"value\"];\n\n if (selectedOption.indexOf(\"CLKOUT function is enabled\") != -1) {\n if (rowData.name === \"clockout\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"CLKOUT\" },\n };\n }\n }\n\n const isPic18ClkOut: boolean =\n selectedOption === \"CLKOUT function is enabled\" ||\n selectedOption === \"CLKOUT function is disabled\"\n ? true\n : false;\n const actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"clockout\")\n .forComponent(clockOutEnable)\n .addIfLockedSetValue(\n \"CLKOUT\",\n isPic18ClkOut\n ? \"CLKOUT function is enabled\"\n : \"CLKOUT function is enabled; FOSC/4 clock appears at OSC2\",\n )\n .addIfUnLockedSetValue(\n \".*\",\n isPic18ClkOut\n ? \"CLKOUT function is disabled\"\n : \"CLKOUT function is disabled; i/o or oscillator function on OSC2\",\n )\n .build();\n // Provide the module reference(scriptID) of remote config bits module\n for (const eachAction of actionArr) {\n const lockedState = eachAction.state[pin_state.LOCKED];\n if (lockedState) {\n lockedState.meta = {\n to: appModel.getAssignedImport(\"config_request\")?.handle?.providerId,\n };\n }\n const unlockedState = eachAction.state[pin_state.UNLOCK];\n if (unlockedState) {\n unlockedState.meta = {\n to: appModel.getAssignedImport(\"config_request\")?.handle?.providerId,\n };\n }\n rowActions.push(eachAction);\n }\n }\n\n const extClkSelect = appModel.getImportValue(\"config_request\")?.[\"FEXTOSC\"];\n\n if (extClkSelect) {\n delete extClkSelect[\"setting\"];\n delete extClkSelect[\"displayOptionSetting\"];\n\n const selectedOption: string = extClkSelect[\"defaultValue\"][\"value\"];\n\n if (\n selectedOption.indexOf(\"(external clock)\") != -1 ||\n selectedOption.indexOf(\"EC\") != -1\n ) {\n if (rowData.name === \"osc1\" || rowData.name === \"osc2\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (selectedOption.indexOf(\"(crystal oscillator)\") != -1) {\n if (rowData.name === \"clockin\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (\n selectedOption.indexOf(\"Oscillator not enabled\") != -1 ||\n selectedOption.indexOf(\"Reserved\") != -1\n ) {\n if (\n rowData.name === \"clockin\" ||\n rowData.name === \"osc1\" ||\n rowData.name === \"osc2\"\n ) {\n retRowJSONdata = undefined;\n }\n }\n // Restricting pin actions for clockin, osc1 and osc2 pin rows\n const mclrKey = appModel.getComponent(\"mclrUnusedKey\")?.component;\n if (mclrKey) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"clockin\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"osc1\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"osc2\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n }\n }\n\n const mclrEnable = appModel.getImportValue(\"config_request\")?.[\"MCLRE\"];\n const lvpEnable = appModel.getImportValue(\"config_request\")?.[\"LVP\"];\n\n if (mclrEnable && lvpEnable) {\n delete mclrEnable[\"setting\"];\n delete mclrEnable[\"displayOptionSetting\"];\n const selectedMclrOption: string = mclrEnable[\"defaultValue\"][\"value\"];\n\n delete lvpEnable[\"setting\"];\n delete lvpEnable[\"displayOptionSetting\"];\n const selectedLvpOption: string = lvpEnable[\"defaultValue\"][\"value\"];\n\n if (\n selectedLvpOption.indexOf(\"HV on MCLR/VPP must be used for programming\") !=\n -1 ||\n selectedLvpOption.indexOf(\n \"High Voltage on MCLR/Vpp must be used for programming\",\n ) != -1\n ) {\n if (\n selectedMclrOption.indexOf(\"MCLR pin is MCLR\") != -1 ||\n selectedMclrOption.indexOf(\"MCLR pin is Master Clear function\") != -1 ||\n selectedMclrOption === \"MCLR pin (RE3) is MCLR\"\n ) {\n if (rowData.name === \"reset\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"MCLR\" },\n };\n }\n }\n const isPic18Mclr: boolean =\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin is MCLR; If LVP = 1, RE3 pin function is MCLR \" ||\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin function is port defined function; If LVP =1, RE3 pin fuction is MCLR\"\n ? true\n : false;\n const isQ10Mclr: boolean =\n selectedMclrOption === \"MCLR pin (RE3) is MCLR\" ||\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR\"\n ? true\n : false;\n let actionArr: any = [];\n\n // For handling Q10 devices\n if (isQ10Mclr) {\n actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrEnable)\n .addIfLockedSetValue(\"MCLR\", \"MCLR pin (RE3) is MCLR\")\n .addIfUnLockedSetValue(\n \".*\",\n \"If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR\",\n )\n .build();\n } else {\n actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrEnable)\n .addIfLockedSetValue(\n \"MCLR\",\n isPic18Mclr\n ? \"If LVP = 0, MCLR pin is MCLR; If LVP = 1, RE3 pin function is MCLR \"\n : \"MCLR pin is Master Clear function\",\n )\n .addIfUnLockedSetValue(\n \".*\",\n isPic18Mclr\n ? \"If LVP = 0, MCLR pin function is port defined function; If LVP =1, RE3 pin fuction is MCLR\"\n : \"MCLR pin function is port defined function\",\n )\n .build();\n }\n\n // Provide the module reference(scriptID) of remote config bits module\n for (const eachAction of actionArr) {\n const lockedState = eachAction.state[pin_state.LOCKED];\n if (lockedState) {\n lockedState.meta = {\n to: appModel.getAssignedImport(\"config_request\")?.handle\n ?.providerId,\n };\n }\n const unlockedState = eachAction.state[pin_state.UNLOCK];\n if (unlockedState) {\n unlockedState.meta = {\n to: appModel.getAssignedImport(\"config_request\")?.handle\n ?.providerId,\n };\n }\n rowActions.push(eachAction);\n }\n } else {\n if (selectedMclrOption) {\n if (rowData.name === \"reset\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"MCLR\" },\n };\n }\n }\n const mclrKey = appModel.getComponent(\"mclrUnusedKey\")?.component;\n if (mclrKey) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n }\n }\n }\n\n const noscOsccon1 = appModel.getComponentValue(\"noscOsccon1\");\n if (\n noscOsccon1 === \"HFINTOSC\" ||\n noscOsccon1 === \"LFINTOSC\" ||\n noscOsccon1 === \"SOSC\" ||\n noscOsccon1 === \"HFINTOSC with 2x PLL\"\n ) {\n if (rowData.name === \"clockin\") {\n retRowJSONdata = undefined;\n }\n if (rowData.name === \"osc1\") {\n retRowJSONdata = undefined;\n }\n if (rowData.name === \"osc2\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (rowData.name === \"sosci\") {\n if (noscOsccon1 === \"SOSC\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"SOSCI\" },\n };\n } else {\n retRowJSONdata = undefined;\n }\n }\n\n if (rowData.name === \"sosco\") {\n if (noscOsccon1 === \"SOSC\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"SOSCO\" },\n };\n } else {\n retRowJSONdata = undefined;\n }\n }\n\n if (retRowJSONdata) retRowJSONdata = { ...retRowJSONdata, actions: rowActions };\n\n return retRowJSONdata;\n}\n","export class StringConstants {\n static readonly SOSC = \"SOSC\";\n static readonly LFINTOSC = \"LFINTOSC\";\n static readonly HFINTOSC = \"HFINTOSC\";\n static readonly HFINTOSC_2xPLL = \"HFINTOSC with 2x PLL\";\n static readonly EXTOSC = \"EXTOSC\";\n static readonly EXTOSC_4xPLL = \"EXTOSC with 4x PLL\";\n static readonly OSC_NOT_NEEDED = \"Oscillator not needed\";\n static readonly ON = \"ON\";\n static readonly ExtClkFreq_64MHz = 64000000;\n static readonly ExtClkFreq_20MHz = 20000000;\n static readonly ExtClkFreq_32MHz = 32000000;\n}\n"],"sourceRoot":""}
|