@mchp-mcc/scf-pic8-pwm-v2 4.2.8 → 4.2.10

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.
@@ -1,67 +0,0 @@
1
- // Reused from Q43 CCP calculator
2
- // TODO: delete this duplicate and add CCP calculator dependency
3
- import log10 from "core-js/features/math/log10";
4
-
5
- export class PwmCalculator {
6
- private prValue: number;
7
- private prescaler: number;
8
- private fosc: number;
9
- private dutyCycleRatio: number;
10
-
11
- constructor(prValue: number, prescaler: number, fosc: number, dutyCycle: number) {
12
- this.prValue = prValue;
13
- this.prescaler = prescaler;
14
- this.fosc = fosc;
15
- this.dutyCycleRatio = dutyCycle / 100;
16
- }
17
-
18
- public getPwmPeriod = (): number => {
19
- let pwmPeriod = (this.prValue + 1) * 4 * this.prescaler;
20
- if (this.fosc > 0) {
21
- pwmPeriod = pwmPeriod / this.fosc;
22
- } else {
23
- pwmPeriod = 0;
24
- }
25
- return pwmPeriod;
26
- };
27
-
28
- public getPwmFrequency = (): number => {
29
- let pwmFrequency = (this.prValue + 1) * 4 * this.prescaler;
30
- if (pwmFrequency > 0) {
31
- pwmFrequency = this.fosc / pwmFrequency;
32
- } else {
33
- pwmFrequency = 0;
34
- }
35
-
36
- pwmFrequency = Math.round(pwmFrequency * 100) / 100;
37
- return pwmFrequency;
38
- };
39
-
40
- public getPwmResolution = (): number => {
41
- const pwmResolution = log10(4 * (this.prValue + 1)) / log10(2);
42
- return Math.floor(pwmResolution);
43
- };
44
-
45
- public getCCPRValue = (): number => {
46
- const ccprValue = Math.round(this.dutyCycleRatio * 4 * (this.prValue + 1) - 1);
47
- if (ccprValue < 0) {
48
- return 0;
49
- }
50
- return ccprValue;
51
- };
52
-
53
- public getActualDutyCycle = (): number => {
54
- const dcRatio = this.getCCPRValue() / (4 * (this.prValue + 1));
55
- return Math.round(dcRatio * 100);
56
- };
57
-
58
- public getActualPulseWidth = (): number => {
59
- let pulseWidth = this.getCCPRValue() * this.prescaler;
60
- if (this.fosc > 0) {
61
- pulseWidth = pulseWidth / this.fosc;
62
- } else {
63
- pulseWidth = 0;
64
- }
65
- return pulseWidth;
66
- };
67
- }
package/src/catalog.json DELETED
@@ -1,23 +0,0 @@
1
- {
2
- "name": "@mchp-mcc/local-catalog",
3
- "version": "1.0.0",
4
- "content": [
5
- {
6
- "name": "@mchp-mcc/scf-pic8-pwm-v2",
7
- "version": "*",
8
- "meta": {
9
- "keywords": [
10
- "pic8",
11
- "pwm"
12
- ],
13
- "defaultSelection": "defaultRequired",
14
- "name": "PWM",
15
- "category": "Drivers/PWM",
16
- "description": "This module is a 16-bit Pulse-Width Modulator (PWM) with a compare feature and multiple outputs.",
17
- "deviceFilterRegEx": ".*",
18
- "releaseNotesLink": "https://onlinedocs.microchip.com/v2/keyword-lookup?keyword=MCC.MELODY.8BITPIC.RELEASENOTES&version=latest&redirect=true"
19
- }
20
- }
21
- ],
22
- "catalogs": []
23
- }
@@ -1,40 +0,0 @@
1
- import { ProcessedExportInterface, Interface } from "./pwm_general_parameters";
2
-
3
- describe("The pwm_general_parameters interface", () => {
4
- it("doesn't explode", () => {
5
- expect(Interface.getInterfaceId()).toBeDefined();
6
- expect(Interface.createPrototypeImport()).toBeDefined();
7
- expect(Interface.createPrototypeExport()).toBeDefined();
8
- expect(
9
- Interface.createFirmwareApi("MyModule", [
10
- { name: "mymodule.h", path: "include/" },
11
- ]),
12
- ).toBeDefined();
13
- expect(Interface.createMock()).toBeDefined();
14
- });
15
-
16
- it("Checks Interface ID", () => {
17
- expect(Interface.getInterfaceId().name).toBe("pwm_general_parameters");
18
- expect(Interface.getInterfaceId().version).toBe("0.1.0");
19
- });
20
-
21
- it("Create's api with name, headers, or custom API undefined", () => {
22
- expect(Interface.createFirmwareApi("", [{ name: "", path: "" }])).toBeDefined();
23
- });
24
- });
25
-
26
- export const createMock = (): ProcessedExportInterface => {
27
- return {
28
- interfaceId: Interface.getInterfaceId(),
29
- payload: {
30
- interfaceApi: Interface.createFirmwareApi("MyModule", [
31
- { name: "mymodule.h", path: "include/" },
32
- ]),
33
- },
34
- args: {
35
- requestId: {
36
- customName: "MyModule",
37
- },
38
- },
39
- };
40
- };
@@ -1,121 +0,0 @@
1
- import { InterfaceId } from "@microchip/scf-common/lib/InterfaceId";
2
- import * as Creator from "@microchip/scf-common/lib/Creator";
3
- import * as Processor from "@microchip/scf-common/lib/Processor";
4
- import * as InterfaceTypes from "@microchip/scf-interface";
5
-
6
- /** The arguments to be provided to the implementation. */
7
- export interface Arguments extends InterfaceTypes.Arguments {
8
- //Standard Interface
9
- customName?: string;
10
- }
11
-
12
- /** The payload to be passed back to the dependent module after the BasicUART has been processed. */
13
- export interface ProcessedPayload extends InterfaceTypes.ProcessedPayload {
14
- //Standard Interface
15
- interfaceApi: InterfaceTypes.FirmwareAPIPayload<API>;
16
- customName?: string;
17
- modulename?: string;
18
- isdriverisr?: boolean;
19
- ispwmi_enabled?: boolean;
20
- ispwmpi_enabled?: boolean;
21
- moduleName?: string;
22
- }
23
-
24
- export interface API extends InterfaceTypes.CFunctions {
25
- Initialize: InterfaceTypes.CFunction;
26
- LoadDutyValue: InterfaceTypes.CFunction;
27
- }
28
-
29
- /** The type of the processed export interface */
30
- export type ProcessedExportInterface = Processor.ProcessedInterface<
31
- ProcessedPayload,
32
- Arguments
33
- >;
34
-
35
- /** Used by implementations of this interface in their module's creator. */
36
- type CreatorExportInterface = Creator.Interface<ProcessedPayload>;
37
-
38
- const getInterfaceId = (): InterfaceId => {
39
- return {
40
- name: "pwm_general_parameters",
41
- version: "0.1.0",
42
- };
43
- };
44
-
45
- const createPrototypeImport = (): Creator.Import => {
46
- return {
47
- interfaceId: getInterfaceId(),
48
- };
49
- };
50
-
51
- const createPrototypeExport = (): Creator.Export<CreatorExportInterface[]> => {
52
- return {
53
- interfaces: [{ interfaceId: getInterfaceId() }],
54
- };
55
- };
56
-
57
- const createMock = (): ProcessedExportInterface => {
58
- return {
59
- interfaceId: getInterfaceId(),
60
- payload: {
61
- interfaceApi: Interface.createFirmwareApi("MyModule", [
62
- { name: "mymodule.h", path: "include/" },
63
- ]),
64
- },
65
- args: {
66
- requestId: {
67
- customName: "MyModule",
68
- },
69
- },
70
- };
71
- };
72
-
73
- const createFirmwareApi = (
74
- moduleName: string,
75
- headerFiles: InterfaceTypes.HeaderFile[],
76
- ): InterfaceTypes.FirmwareAPIPayload<API> => {
77
- const prefix: string = moduleName ? moduleName : "undefined";
78
- const api = createApi(prefix);
79
-
80
- return {
81
- api: api,
82
- simpleApi: InterfaceTypes.buildSimpleApi(api),
83
- headerFiles: headerFiles,
84
- };
85
- };
86
-
87
- const createApi = (prefix: string): API => {
88
- return {
89
- Initialize: {
90
- name: prefix + "_Initialize",
91
- returns: "void",
92
- },
93
- LoadDutyValue: {
94
- name: prefix + "_LoadDutyValue",
95
- arguments: [
96
- {
97
- name: "dutyValue",
98
- type: "uint16_t",
99
- },
100
- ],
101
- returns: "void",
102
- },
103
- };
104
- };
105
-
106
- interface Interface extends InterfaceTypes.Interface {
107
- createPrototypeImport: () => Creator.Import<Arguments>;
108
- createMock: () => ProcessedExportInterface;
109
- createFirmwareApi: (
110
- moduleName: string,
111
- headerFiles: InterfaceTypes.HeaderFile[],
112
- ) => InterfaceTypes.FirmwareAPIPayload<API>;
113
- }
114
-
115
- export const Interface: Interface = {
116
- createPrototypeExport: createPrototypeExport,
117
- createPrototypeImport: createPrototypeImport,
118
- getInterfaceId: getInterfaceId,
119
- createMock: createMock,
120
- createFirmwareApi: createFirmwareApi,
121
- };
@@ -1,371 +0,0 @@
1
- {
2
- "moduleName": "PWM",
3
- "deviceType": "PIC",
4
- "booleanValues": {
5
- "true": "enabled",
6
- "false": "disabled"
7
- },
8
- "UIGroups": {
9
- "software": "Software Settings",
10
- "hardware": "Hardware Settings"
11
- },
12
- "UIOrder": {
13
- "software": [
14
- "*"
15
- ],
16
- "hardware": [
17
- "pwmenPwmcon",
18
- "timerSelection",
19
- "dutyCycle",
20
- "pwmdcValue",
21
- "pwmpolPwmcon",
22
- "pwmPeriod",
23
- "pwmFrequency",
24
- "pwmResolution",
25
- "*"
26
- ]
27
- },
28
- "hasPins": true,
29
- "tabs": {
30
- "main": "Easy View",
31
- "register": "Register Initialization"
32
- },
33
- "help": {
34
- "url": "v2/keyword-lookup?keyword=scf-pic8-pwm-v2&redirect=true",
35
- "tooltip": "Click here to open documentation."
36
- },
37
- "analytics": {
38
- "logAlwaysComps": [
39
- "pwmenPwmcon",
40
- "pwmFrequency",
41
- "pwmResolution"
42
- ],
43
- "logOnChangeComps": [],
44
- "compMapping": {
45
- "pwmenPwmcon": "PWM_Enable",
46
- "pwmFrequency": "PWM_Frequency",
47
- "pwmResolution": "PWM_Resolution"
48
- }
49
- },
50
- "templates": [
51
- {
52
- "src": "output/pwm-v2.c.ftl",
53
- "dest": "pwm/src/${sourceFileName}",
54
- "generateWithHardware": true
55
- },
56
- {
57
- "src": "output/pwm-v2.h.ftl",
58
- "dest": "pwm/${headerFileName}",
59
- "generateWithHardware": true
60
- }
61
- ],
62
- "imports": {
63
- "initializer_system": {
64
- "nodeModule": {
65
- "importName": "systemInit",
66
- "node": "@microchip/initializer-system"
67
- },
68
- "import": {
69
- "interfaceId": {
70
- "name": "initializer-system",
71
- "version": "^0.5.3"
72
- }
73
- }
74
- },
75
- "scf_pic8_pwm_v2": {
76
- "import": {
77
- "interfaceId": {
78
- "name": "scf-pic8-pwm-v2",
79
- "version": "1.0.0"
80
- },
81
- "isRequired": true
82
- }
83
- },
84
- "osc_clocks": {
85
- "import": {
86
- "interfaceId": {
87
- "name": "osc-clocks",
88
- "version": "^0.2.0"
89
- }
90
- }
91
- },
92
- "Timer": {
93
- "import": {
94
- "interfaceId": {
95
- "name": "timer-2-4-6-general-parameters",
96
- "version": "^0.2.0"
97
- }
98
- }
99
- },
100
- "pin_standard": {
101
- "import": {
102
- "interfaceId": {
103
- "name": "pin-standard",
104
- "version": "^0.1.0"
105
- }
106
- }
107
- },
108
- "device_meta": {
109
- "import": {
110
- "interfaceId": {
111
- "name": "device-meta",
112
- "version": "^1"
113
- }
114
- }
115
- }
116
- },
117
- "exports": {
118
- "pwm_general": {
119
- "interfaces": [
120
- {
121
- "interfaceId": {
122
- "name": "pwm_general_parameters",
123
- "version": "0.1.0"
124
- }
125
- }
126
- ]
127
- }
128
- },
129
- "softwareData": {
130
- "componentName": {
131
- "name": "componentName",
132
- "description": "Custom Name",
133
- "type": "string",
134
- "defaultValue": "PWM",
135
- "group": "software",
136
- "tabs": [
137
- "main"
138
- ],
139
- "category": "software",
140
- "validation": true
141
- },
142
- "tmr2Dependency": {
143
- "name": "tmr2Dependency",
144
- "description": "Timer Dependency Selector",
145
- "category": "import",
146
- "type": "ComboBox",
147
- "group": "software",
148
- "tabs": [
149
- "main"
150
- ],
151
- "importId": "Timer"
152
- },
153
- "timerSelection": {
154
- "name": "timerSelection",
155
- "description": "Select a Timer",
156
- "type": "ComboBox",
157
- "group": "hardware",
158
- "defaultValue": {
159
- "value": "TMR2",
160
- "options": [
161
- "TMR2",
162
- "TMR4",
163
- "TMR6"
164
- ]
165
- },
166
- "tabs": [
167
- "main"
168
- ],
169
- "category": "software",
170
- "sdlHelp": {
171
- "tooltip": "Click for more Information",
172
- "url": "v2/keyword-lookup?keyword=atmel;device:${deviceName};register:${registerName}&redirect=true"
173
- }
174
- },
175
- "dutyCycle": {
176
- "name": "dutyCycle",
177
- "description": "Duty Cycle (%)",
178
- "type": "number",
179
- "defaultValue": 50,
180
- "group": "hardware",
181
- "validation": true,
182
- "tabs": [
183
- "main"
184
- ],
185
- "category": "software",
186
- "sdlHelp": {
187
- "tooltip": "Click for more Information",
188
- "url": "v2/keyword-lookup?keyword=atmel;device:${deviceName};register:${instance}DC&redirect=true"
189
- }
190
- },
191
- "pwmdcValue": {
192
- "name": "pwmdcValue",
193
- "description": "PWMDC Value",
194
- "type": "number",
195
- "defaultValue": 0,
196
- "group": "hardware",
197
- "uiBehavior": {
198
- "readonly": true
199
- },
200
- "tabs": [
201
- "main"
202
- ],
203
- "category": "software",
204
- "sdlHelp": {
205
- "tooltip": "Click for more Information",
206
- "url": "v2/keyword-lookup?keyword=atmel;device:${deviceName};register:${instance}DC&redirect=true"
207
- }
208
- },
209
- "pwmPeriod": {
210
- "name": "pwmPeriod",
211
- "description": "PWM Period (s)",
212
- "type": "number",
213
- "defaultValue": 0,
214
- "group": "hardware",
215
- "uiBehavior": {
216
- "readonly": true
217
- },
218
- "tabs": [
219
- "main"
220
- ],
221
- "category": "software"
222
- },
223
- "pwmFrequency": {
224
- "name": "pwmFrequency",
225
- "description": "PWM Frequency (Hz)",
226
- "type": "number",
227
- "defaultValue": 0,
228
- "group": "hardware",
229
- "uiBehavior": {
230
- "readonly": true
231
- },
232
- "tabs": [
233
- "main"
234
- ],
235
- "category": "software"
236
- },
237
- "pwmResolution": {
238
- "name": "pwmResolution",
239
- "description": "PWM Resolution (bits)",
240
- "type": "number",
241
- "defaultValue": 0,
242
- "group": "hardware",
243
- "uiBehavior": {
244
- "readonly": true
245
- },
246
- "tabs": [
247
- "main"
248
- ],
249
- "category": "software"
250
- }
251
- },
252
- "peripherals": [
253
- {
254
- "interfaceId": {
255
- "name": "scf-pic8-pwm-v2",
256
- "version": "1.0.0"
257
- },
258
- "registers": {
259
- "PWMTMRS": [
260
- {
261
- "setting": "CTSEL",
262
- "name": "ctselPwmtmrs",
263
- "category": "hardware",
264
- "description": "Insert Description Here",
265
- "type": "ComboBox",
266
- "group": "hardware",
267
- "tabs": [
268
- "register"
269
- ]
270
- }
271
- ],
272
- "CCPTMRS1": [
273
- {
274
- "setting": "CTSEL",
275
- "name": "ctselCcptmrs1",
276
- "description": "Insert Description Here",
277
- "type": "ComboBox",
278
- "group": "hardware",
279
- "tabs": [
280
- "register"
281
- ],
282
- "category": "hardware"
283
- }
284
- ],
285
- "CCPTMRS": [
286
- {
287
- "setting": "CTSEL",
288
- "name": "ctselCcptmrs",
289
- "category": "hardware",
290
- "description": "Insert Description Here",
291
- "type": "ComboBox",
292
- "group": "hardware",
293
- "tabs": [
294
- "register"
295
- ]
296
- }
297
- ],
298
- "PWMCON": [
299
- {
300
- "setting": "PWMPOL",
301
- "name": "pwmpolPwmcon",
302
- "description": "PWM Polarity",
303
- "type": "ComboBox",
304
- "group": "hardware",
305
- "tabs": [
306
- "main"
307
- ],
308
- "category": "hardware",
309
- "sdlHelp": {
310
- "tooltip": "Click for more Information",
311
- "url": "v2/keyword-lookup?keyword=atmel;device:${deviceName};register:${registerName}&redirect=true"
312
- }
313
- },
314
- {
315
- "setting": "PWMOUT",
316
- "name": "pwmoutPwmcon",
317
- "description": "Insert Description Here",
318
- "type": "boolean",
319
- "group": "hardware",
320
- "tabs": [
321
- "register"
322
- ],
323
- "category": "hardware"
324
- },
325
- {
326
- "setting": "PWMEN",
327
- "name": "pwmenPwmcon",
328
- "description": "PWM Enable",
329
- "type": "boolean",
330
- "group": "hardware",
331
- "overrideDefaultValue": "enabled",
332
- "tabs": [
333
- "main"
334
- ],
335
- "category": "hardware",
336
- "sdlHelp": {
337
- "tooltip": "Click for more Information",
338
- "url": "v2/keyword-lookup?keyword=atmel;device:${deviceName};register:${registerName}&redirect=true"
339
- }
340
- }
341
- ],
342
- "PWMDCH": [
343
- {
344
- "setting": "PWMDCH",
345
- "name": "pwmdchPwmdch",
346
- "description": "Insert Description Here",
347
- "type": "string",
348
- "group": "hardware",
349
- "tabs": [
350
- "register"
351
- ],
352
- "category": "hardware"
353
- }
354
- ],
355
- "PWMDCL": [
356
- {
357
- "setting": "PWMDCL",
358
- "name": "pwmdclPwmdcl",
359
- "description": "Insert Description Here",
360
- "type": "string",
361
- "group": "hardware",
362
- "tabs": [
363
- "register"
364
- ],
365
- "category": "hardware"
366
- }
367
- ]
368
- }
369
- }
370
- ]
371
- }
package/src/pinlogic.json DELETED
@@ -1,20 +0,0 @@
1
- {
2
- "key":"pinmodekey",
3
- "pindata": [
4
- {
5
- "value": "normal",
6
- "rows": [
7
- {
8
- "name": "myPin",
9
- "pinRegEx": "",
10
- "direction": "output",
11
- "type": "digital",
12
- "interfaceId": {
13
- "name": "basic-pin",
14
- "version": "0.1.0"
15
- }
16
- }
17
- ]
18
- }
19
- ]
20
- }
package/src/pinsdata.json DELETED
@@ -1,15 +0,0 @@
1
- {
2
- "rows": [
3
- {
4
- "name": "out",
5
- "module": "PWM6",
6
- "function": "PWM6(OUT|$)",
7
- "direction": "output",
8
- "filter": {
9
- "module": "PWM6",
10
- "aliasReEx": "^PWM6OUT$|PWM6$"
11
- },
12
- "behaviour": "PPS"
13
- }
14
- ]
15
- }