@typecad/cuttlefish 0.1.0-alpha.2 → 1.0.0-alpha.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.
- package/README.md +10 -10
- package/dist/api/board-types.d.ts +1 -1
- package/dist/api/config.d.ts +32 -0
- package/dist/api/index.d.ts +1 -1
- package/dist/api/schema/types.d.ts +15 -0
- package/dist/api/shared/async-runtime-static.d.ts +12 -1
- package/dist/api/shared/async-runtime-static.js +69 -24
- package/dist/api/shared/async-symbol-detector.d.ts +11 -0
- package/dist/api/shared/async-symbol-detector.js +140 -0
- package/dist/api/shared/async-types.d.ts +24 -0
- package/dist/api/shared/coop-scheduler.d.ts +60 -0
- package/dist/api/shared/coop-scheduler.js +149 -0
- package/dist/api/shared/display-adapter.d.ts +4 -3
- package/dist/api/shared/display-adapter.js +15 -118
- package/dist/api/shared/display-adapters/sdl.js +38 -31
- package/dist/api/shared/display-profile.d.ts +47 -25
- package/dist/api/shared/display-profile.js +31 -164
- package/dist/api/shared/framework-manifest-registry.d.ts +9 -0
- package/dist/api/shared/framework-manifest-registry.js +27 -0
- package/dist/api/shared/framework-manifest.d.ts +595 -0
- package/dist/api/shared/framework-manifest.js +193 -0
- package/dist/api/shared/glcdfont.d.ts +12 -0
- package/dist/api/shared/glcdfont.js +124 -0
- package/dist/api/shared/graphics-strategy.d.ts +37 -0
- package/dist/api/shared/hal-op-ir.d.ts +764 -1
- package/dist/api/shared/hal-op-ir.js +129 -1
- package/dist/api/shared/index.d.ts +20 -2
- package/dist/api/shared/index.js +25 -1
- package/dist/api/shared/ir-core.d.ts +4 -0
- package/dist/api/shared/ir-declarations.d.ts +6 -0
- package/dist/api/shared/native-display-op-resolver.d.ts +10 -0
- package/dist/api/shared/native-display-op-resolver.js +64 -0
- package/dist/api/shared/platform-strategy.d.ts +119 -2
- package/dist/api/shared/polyfill-helper-registry.js +18 -1
- package/dist/api/shared/promise-runtime.d.ts +1 -1
- package/dist/api/shared/promise-runtime.js +95 -13
- package/dist/api/shared/toolchain-types.d.ts +17 -0
- package/dist/api/shared/types.d.ts +8 -0
- package/dist/api/shared/validate-framework-manifest.d.ts +28 -0
- package/dist/api/shared/validate-framework-manifest.js +494 -0
- package/dist/api/shared/worker-runtime-polyfill.d.ts +22 -0
- package/dist/api/shared/worker-runtime-polyfill.js +34 -0
- package/dist/api/shared/worker-runtime.d.ts +69 -0
- package/dist/api/shared/worker-runtime.js +163 -0
- package/dist/cli-utils.d.ts +1 -0
- package/dist/cli-utils.js +3 -1
- package/dist/cli.js +249 -32
- package/dist/config-loader.d.ts +7 -2
- package/dist/config-loader.js +23 -3
- package/dist/config-schema.d.ts +112 -70
- package/dist/config-schema.js +14 -0
- package/dist/contract/board-generator.d.ts +17 -0
- package/dist/contract/board-generator.js +57 -0
- package/dist/contract/contract-parser.d.ts +217 -0
- package/dist/contract/contract-parser.js +224 -0
- package/dist/contract/index.d.ts +22 -0
- package/dist/contract/index.js +68 -0
- package/dist/create/board-codegen.js +4 -4
- package/dist/create/board-generators.js +4 -5
- package/dist/create/board-spec.d.ts +72 -75
- package/dist/create/board-spec.js +0 -1
- package/dist/create/framework-catalog.d.ts +64 -0
- package/dist/create/framework-catalog.js +136 -0
- package/dist/create/index.d.ts +5 -1
- package/dist/create/index.js +3 -1
- package/dist/create/init-scaffold.d.ts +12 -3
- package/dist/create/init-scaffold.js +49 -14
- package/dist/create/init-templates.d.ts +4 -0
- package/dist/create/init-templates.js +263 -17
- package/dist/create/init-wizard.js +41 -27
- package/dist/create/install-deps.d.ts +32 -0
- package/dist/create/install-deps.js +46 -0
- package/dist/debug/preprocessor.js +178 -39
- package/dist/debug/types.d.ts +23 -0
- package/dist/diagnostics/mermaid-builder.d.ts +1 -1
- package/dist/diagnostics/mermaid-builder.js +34 -24
- package/dist/emit/compliance/arxml-writer.d.ts +11 -0
- package/dist/emit/compliance/arxml-writer.js +34 -0
- package/dist/emit/compliance/compliance-context.d.ts +57 -0
- package/dist/emit/compliance/compliance-context.js +113 -0
- package/dist/emit/compliance/deviation-ledger.d.ts +27 -0
- package/dist/emit/compliance/deviation-ledger.js +47 -0
- package/dist/emit/compliance/deviation-writer.d.ts +30 -0
- package/dist/emit/compliance/deviation-writer.js +37 -0
- package/dist/emit/compliance/index.d.ts +7 -0
- package/dist/emit/compliance/index.js +6 -0
- package/dist/emit/compliance/rule-engine.d.ts +13 -0
- package/dist/emit/compliance/rule-engine.js +101 -0
- package/dist/emit/compliance/rules.d.ts +16 -0
- package/dist/emit/compliance/rules.js +191 -0
- package/dist/emit/compliance/types.d.ts +59 -0
- package/dist/emit/compliance/types.js +8 -0
- package/dist/emit/cpp-emitter.js +4 -3
- package/dist/emit/emitters/class-emitter.js +6 -1
- package/dist/emit/emitters/emitter-context.d.ts +28 -1
- package/dist/emit/emitters/function-emitter-impl.js +153 -53
- package/dist/emit/emitters/line-appender.js +19 -0
- package/dist/emit/emitters/line-marker.d.ts +38 -0
- package/dist/emit/emitters/line-marker.js +39 -0
- package/dist/emit/emitters/output-finalizer.d.ts +6 -0
- package/dist/emit/emitters/output-finalizer.js +101 -12
- package/dist/emit/emitters/setup.d.ts +17 -0
- package/dist/emit/emitters/setup.js +372 -30
- package/dist/emit/emitters/top-level-prep.js +8 -0
- package/dist/emit/emitters/type-decl-emitter.js +28 -3
- package/dist/emit/emitters/ui-emitter.js +33 -9
- package/dist/emit/expression-renderer.d.ts +1 -1
- package/dist/emit/expression-renderer.js +91 -6
- package/dist/emit/route-hal-op.js +18 -5
- package/dist/emit/snprintf-helpers.js +15 -4
- package/dist/emit/statement-renderer.d.ts +10 -0
- package/dist/emit/statement-renderer.js +34 -5
- package/dist/emit/utils/async-state-machine.js +221 -125
- package/dist/emit/utils/hal-op-cpp-type.d.ts +6 -0
- package/dist/emit/utils/hal-op-cpp-type.js +40 -0
- package/dist/framework-package.js +2 -0
- package/dist/framework-registry.d.ts +17 -0
- package/dist/install/framework-catalog.d.ts +53 -0
- package/dist/install/framework-catalog.js +107 -0
- package/dist/install/handle-install.d.ts +35 -0
- package/dist/install/handle-install.js +177 -0
- package/dist/install/index.d.ts +4 -0
- package/dist/install/index.js +3 -0
- package/dist/ir/adc-range-validation.js +40 -26
- package/dist/ir/build-ir-state.d.ts +1 -0
- package/dist/ir/build-ir-state.js +14 -0
- package/dist/ir/build-ir.js +9 -5
- package/dist/ir/call-graph.js +16 -0
- package/dist/ir/expression-to-ir.js +207 -6
- package/dist/ir/feature-registry.js +7 -25
- package/dist/ir/function-builder.js +22 -0
- package/dist/ir/hal/hal-emitter.d.ts +5 -2
- package/dist/ir/hal/hal-emitter.js +50 -18
- package/dist/ir/hal/hal-parser.d.ts +6 -0
- package/dist/ir/hal/hal-parser.js +81 -0
- package/dist/ir/hal/hal-plugins.js +733 -1
- package/dist/ir/identifier-collector.js +35 -0
- package/dist/ir/interrupt-analysis.d.ts +5 -1
- package/dist/ir/interrupt-analysis.js +16 -19
- package/dist/ir/memory-budget-validation.js +1 -0
- package/dist/ir/network-validation.d.ts +4 -0
- package/dist/ir/network-validation.js +184 -0
- package/dist/ir/ownership-analysis.js +39 -1
- package/dist/ir/peripheral-ownership.js +5 -0
- package/dist/ir/peripheral-validation.d.ts +1 -1
- package/dist/ir/peripheral-validation.js +6 -3
- package/dist/ir/pin-alias-conflict.d.ts +1 -1
- package/dist/ir/pin-alias-conflict.js +2 -1
- package/dist/ir/pin-capability-validation.js +71 -32
- package/dist/ir/pin-mode-validation.d.ts +2 -2
- package/dist/ir/pin-mode-validation.js +54 -18
- package/dist/ir/pin-safety.d.ts +1 -1
- package/dist/ir/pin-safety.js +2 -1
- package/dist/ir/program-analysis.d.ts +81 -0
- package/dist/ir/program-analysis.js +429 -0
- package/dist/ir/pulldown-validation.d.ts +1 -1
- package/dist/ir/pulldown-validation.js +2 -1
- package/dist/ir/pwm-timer-sharing.d.ts +1 -1
- package/dist/ir/pwm-timer-sharing.js +2 -1
- package/dist/ir/render-expr.js +11 -0
- package/dist/ir/resource-analysis.js +2 -0
- package/dist/ir/timer0-pwm-timing-conflict.d.ts +1 -1
- package/dist/ir/timer0-pwm-timing-conflict.js +2 -1
- package/dist/ir/timing-validation.d.ts +6 -1
- package/dist/ir/timing-validation.js +61 -13
- package/dist/ir/transformers/call-statement.js +105 -0
- package/dist/ir/transformers/expressions.js +62 -0
- package/dist/ir/transformers/hal-call-resolver.js +21 -0
- package/dist/ir/transformers/hal-emit-helpers.js +1 -1
- package/dist/ir/transformers/namespace-methods.js +17 -12
- package/dist/ir/transformers/ui-reactive.js +2 -2
- package/dist/ir/transformers/variables.js +137 -19
- package/dist/ir/try-catch-validation.js +2 -0
- package/dist/ir/type-resolution.js +20 -2
- package/dist/ir/ui-element-auto-wire.js +7 -5
- package/dist/ir/unit-suspicion-validation.js +9 -7
- package/dist/ir/utils/map-statements.d.ts +4 -0
- package/dist/ir/utils/map-statements.js +79 -0
- package/dist/ir/validation-orchestrator.js +15 -8
- package/dist/ir/worker-analysis.d.ts +10 -0
- package/dist/ir/worker-analysis.js +261 -0
- package/dist/libdef/c-to-decl.d.ts +27 -0
- package/dist/libdef/c-to-decl.js +397 -0
- package/dist/libdef/component-decls.d.ts +2 -0
- package/dist/libdef/component-decls.js +6 -0
- package/dist/libdef/component-discovery.d.ts +43 -0
- package/dist/libdef/component-discovery.js +83 -0
- package/dist/libdef/cpp-to-decl.d.ts +9 -0
- package/dist/libdef/cpp-to-decl.js +72 -0
- package/dist/libdef/registry.js +5 -2
- package/dist/lint-cache.d.ts +59 -0
- package/dist/lint-cache.js +257 -0
- package/dist/orchestrator/graph-builder.js +14 -9
- package/dist/platform/coop-scheduler-runtime.d.ts +19 -0
- package/dist/platform/coop-scheduler-runtime.js +41 -0
- package/dist/platform/generic-strategy.d.ts +15 -3
- package/dist/platform/generic-strategy.js +49 -4
- package/dist/safety/safety-bridge.d.ts +11 -0
- package/dist/safety/safety-bridge.js +48 -0
- package/dist/safety/sidecar-bridge.d.ts +5 -0
- package/dist/safety/sidecar-bridge.js +22 -0
- package/dist/safety-hook.d.ts +79 -0
- package/dist/safety-hook.js +35 -0
- package/dist/testing.d.ts +8 -2
- package/dist/testing.js +9 -2
- package/dist/transpile.d.ts +3 -0
- package/dist/transpile.js +191 -49
- package/dist/types.d.ts +22 -3
- package/dist/ui-hook.d.ts +17 -3
- package/dist/utils/cli.js +122 -2
- package/dist/utils/fs.d.ts +13 -0
- package/dist/utils/fs.js +50 -0
- package/dist/utils/ui.js +3 -1
- package/package.json +23 -3
- package/dist/api/shared/display-adapters/eink-mono.d.ts +0 -2
- package/dist/api/shared/display-adapters/eink-mono.js +0 -53
- package/dist/api/shared/display-adapters/ssd1309.d.ts +0 -2
- package/dist/api/shared/display-adapters/ssd1309.js +0 -136
- package/dist/api/shared/display-adapters/st7796.d.ts +0 -2
- package/dist/api/shared/display-adapters/st7796.js +0 -132
- package/dist/ir/heap-array-validation.d.ts +0 -24
- package/dist/ir/heap-array-validation.js +0 -29
|
@@ -42,6 +42,77 @@ export interface PwmGetResolutionOp {
|
|
|
42
42
|
port?: string;
|
|
43
43
|
pin: number;
|
|
44
44
|
}
|
|
45
|
+
export interface RmtTxInitOp {
|
|
46
|
+
operation: "rmt.tx_init";
|
|
47
|
+
port?: string;
|
|
48
|
+
pin: number;
|
|
49
|
+
resolutionHz: number | string;
|
|
50
|
+
bit0Hi: number | string;
|
|
51
|
+
bit0Lo: number | string;
|
|
52
|
+
bit1Hi: number | string;
|
|
53
|
+
bit1Lo: number | string;
|
|
54
|
+
msbFirst?: boolean | string;
|
|
55
|
+
queueDepth?: number | string;
|
|
56
|
+
}
|
|
57
|
+
export interface RmtTxWriteBytesOp {
|
|
58
|
+
operation: "rmt.tx_write_bytes";
|
|
59
|
+
port?: string;
|
|
60
|
+
pin: number;
|
|
61
|
+
/** Pre-rendered C array initializer body, e.g. "1, 2, 3" (positional; bytes arg is array-literal-rendered). */
|
|
62
|
+
bytes: string;
|
|
63
|
+
}
|
|
64
|
+
export interface RmtTxWriteSymbolsOp {
|
|
65
|
+
operation: "rmt.tx_write_symbols";
|
|
66
|
+
port?: string;
|
|
67
|
+
pin: number;
|
|
68
|
+
/** Rendered rmt_symbol_word_t array body, one row per symbol. */
|
|
69
|
+
symbols: string;
|
|
70
|
+
}
|
|
71
|
+
export interface RmtTxWaitDoneOp {
|
|
72
|
+
operation: "rmt.tx_wait_done";
|
|
73
|
+
port?: string;
|
|
74
|
+
pin: number;
|
|
75
|
+
timeoutMs?: number | string;
|
|
76
|
+
}
|
|
77
|
+
export interface RmtTxDeinitOp {
|
|
78
|
+
operation: "rmt.tx_deinit";
|
|
79
|
+
port?: string;
|
|
80
|
+
pin: number;
|
|
81
|
+
}
|
|
82
|
+
export interface RmtRxInitOp {
|
|
83
|
+
operation: "rmt.rx_init";
|
|
84
|
+
port?: string;
|
|
85
|
+
pin: number;
|
|
86
|
+
resolutionHz: number | string;
|
|
87
|
+
}
|
|
88
|
+
export interface RmtRxOnReceivedOp {
|
|
89
|
+
operation: "rmt.rx_on_received";
|
|
90
|
+
port?: string;
|
|
91
|
+
pin: number;
|
|
92
|
+
/** User-declared C function name to call on receive. */
|
|
93
|
+
handler: string;
|
|
94
|
+
}
|
|
95
|
+
export interface RmtRxStartOp {
|
|
96
|
+
operation: "rmt.rx_start";
|
|
97
|
+
port?: string;
|
|
98
|
+
pin: number;
|
|
99
|
+
}
|
|
100
|
+
export interface RmtRxStopOp {
|
|
101
|
+
operation: "rmt.rx_stop";
|
|
102
|
+
port?: string;
|
|
103
|
+
pin: number;
|
|
104
|
+
}
|
|
105
|
+
export interface RmtRxReadOp {
|
|
106
|
+
operation: "rmt.rx_read";
|
|
107
|
+
port?: string;
|
|
108
|
+
pin: number;
|
|
109
|
+
maxCount: number | string;
|
|
110
|
+
}
|
|
111
|
+
export interface RmtRxDeinitOp {
|
|
112
|
+
operation: "rmt.rx_deinit";
|
|
113
|
+
port?: string;
|
|
114
|
+
pin: number;
|
|
115
|
+
}
|
|
45
116
|
export interface AdcReadOp {
|
|
46
117
|
operation: "adc.read";
|
|
47
118
|
port?: string;
|
|
@@ -148,6 +219,11 @@ export interface PowerSetCpuFrequencyOp {
|
|
|
148
219
|
operation: "power.set_cpu_frequency";
|
|
149
220
|
mhz: number;
|
|
150
221
|
}
|
|
222
|
+
export interface PowerDeepSleepPinOp {
|
|
223
|
+
operation: "power.deep_sleep_pin";
|
|
224
|
+
pin: number;
|
|
225
|
+
level: number;
|
|
226
|
+
}
|
|
151
227
|
export interface I2cBeginOp {
|
|
152
228
|
operation: "i2c.begin";
|
|
153
229
|
bus: string;
|
|
@@ -267,6 +343,15 @@ export interface SpiCsHighOp {
|
|
|
267
343
|
port?: string;
|
|
268
344
|
pin: number;
|
|
269
345
|
}
|
|
346
|
+
export interface SpiReadBufferOp {
|
|
347
|
+
operation: "spi.read_buffer";
|
|
348
|
+
bus: string;
|
|
349
|
+
/** Number of bytes — numeric or runtime expression string */
|
|
350
|
+
count: number | string;
|
|
351
|
+
/** Buffer variable name, "__HAL_READ_BUF__" placeholder (rewritten to the
|
|
352
|
+
* caller's variable by the variable-init transformer), or "__DISCARD__" */
|
|
353
|
+
buffer: string;
|
|
354
|
+
}
|
|
270
355
|
export interface UartBeginOp {
|
|
271
356
|
operation: "uart.begin";
|
|
272
357
|
port: string;
|
|
@@ -375,6 +460,673 @@ export interface SnprintfEmitOp {
|
|
|
375
460
|
/** Resolved C++ argument expressions */
|
|
376
461
|
args: string[];
|
|
377
462
|
}
|
|
463
|
+
export interface WifiConnectOp {
|
|
464
|
+
operation: "wifi.connect";
|
|
465
|
+
ssid: string;
|
|
466
|
+
password?: string;
|
|
467
|
+
timeoutMs: number | string;
|
|
468
|
+
blocking: boolean;
|
|
469
|
+
}
|
|
470
|
+
export interface WifiConnectStartOp {
|
|
471
|
+
operation: "wifi.connect_start";
|
|
472
|
+
ssid: string;
|
|
473
|
+
password?: string;
|
|
474
|
+
}
|
|
475
|
+
export interface WifiDisconnectOp {
|
|
476
|
+
operation: "wifi.disconnect";
|
|
477
|
+
}
|
|
478
|
+
export interface WifiStatusOp {
|
|
479
|
+
operation: "wifi.status";
|
|
480
|
+
}
|
|
481
|
+
export interface WifiIsConnectedOp {
|
|
482
|
+
operation: "wifi.is_connected";
|
|
483
|
+
}
|
|
484
|
+
export interface WifiLocalIpOp {
|
|
485
|
+
operation: "wifi.local_ip";
|
|
486
|
+
}
|
|
487
|
+
export interface WifiRssiOp {
|
|
488
|
+
operation: "wifi.rssi";
|
|
489
|
+
}
|
|
490
|
+
export interface WifiMacOp {
|
|
491
|
+
operation: "wifi.mac";
|
|
492
|
+
}
|
|
493
|
+
export interface WifiSetHostnameOp {
|
|
494
|
+
operation: "wifi.set_hostname";
|
|
495
|
+
name: string;
|
|
496
|
+
}
|
|
497
|
+
export interface WifiSetStaticIpOp {
|
|
498
|
+
operation: "wifi.set_static_ip";
|
|
499
|
+
ip: string;
|
|
500
|
+
gateway: string;
|
|
501
|
+
subnet: string;
|
|
502
|
+
dns?: string;
|
|
503
|
+
}
|
|
504
|
+
export interface WifiSetAutoReconnectOp {
|
|
505
|
+
operation: "wifi.set_auto_reconnect";
|
|
506
|
+
enabled: boolean | string;
|
|
507
|
+
}
|
|
508
|
+
export interface WifiSetPowerSaveOp {
|
|
509
|
+
operation: "wifi.set_power_save";
|
|
510
|
+
mode: string;
|
|
511
|
+
}
|
|
512
|
+
export interface WifiSetTxPowerOp {
|
|
513
|
+
operation: "wifi.set_tx_power";
|
|
514
|
+
dbm: number | string;
|
|
515
|
+
}
|
|
516
|
+
export interface WifiOnEventOp {
|
|
517
|
+
operation: "wifi.on_event";
|
|
518
|
+
event: "connect" | "disconnect" | string;
|
|
519
|
+
handler: string;
|
|
520
|
+
}
|
|
521
|
+
export interface WifiApStartOp {
|
|
522
|
+
operation: "wifi.ap_start";
|
|
523
|
+
ssid: string;
|
|
524
|
+
password?: string;
|
|
525
|
+
channel?: number | string;
|
|
526
|
+
hidden?: boolean | string;
|
|
527
|
+
maxClients?: number | string;
|
|
528
|
+
}
|
|
529
|
+
export interface WifiApStopOp {
|
|
530
|
+
operation: "wifi.ap_stop";
|
|
531
|
+
}
|
|
532
|
+
export interface WifiApClientCountOp {
|
|
533
|
+
operation: "wifi.ap_client_count";
|
|
534
|
+
}
|
|
535
|
+
export interface WifiApIpOp {
|
|
536
|
+
operation: "wifi.ap_ip";
|
|
537
|
+
}
|
|
538
|
+
export interface WifiApSetChannelOp {
|
|
539
|
+
operation: "wifi.ap_set_channel";
|
|
540
|
+
channel: number | string;
|
|
541
|
+
}
|
|
542
|
+
export interface WifiApSetHiddenOp {
|
|
543
|
+
operation: "wifi.ap_set_hidden";
|
|
544
|
+
hidden: boolean | string;
|
|
545
|
+
}
|
|
546
|
+
export interface WifiApSetMaxClientsOp {
|
|
547
|
+
operation: "wifi.ap_set_max_clients";
|
|
548
|
+
maxClients: number | string;
|
|
549
|
+
}
|
|
550
|
+
export interface WifiScanOp {
|
|
551
|
+
operation: "wifi.scan";
|
|
552
|
+
}
|
|
553
|
+
export interface WifiScanStartOp {
|
|
554
|
+
operation: "wifi.scan_start";
|
|
555
|
+
}
|
|
556
|
+
/** Poll predicate paired with wifi.scan_start — true when scan results are ready. */
|
|
557
|
+
export interface WifiScanDoneOp {
|
|
558
|
+
operation: "wifi.scan_done";
|
|
559
|
+
}
|
|
560
|
+
export interface WifiScanCountOp {
|
|
561
|
+
operation: "wifi.scan_count";
|
|
562
|
+
}
|
|
563
|
+
export interface WifiScanSsidOp {
|
|
564
|
+
operation: "wifi.scan_ssid";
|
|
565
|
+
index: number | string;
|
|
566
|
+
}
|
|
567
|
+
export interface WifiScanRssiOp {
|
|
568
|
+
operation: "wifi.scan_rssi";
|
|
569
|
+
index: number | string;
|
|
570
|
+
}
|
|
571
|
+
export interface WifiScanEncryptionOp {
|
|
572
|
+
operation: "wifi.scan_encryption";
|
|
573
|
+
index: number | string;
|
|
574
|
+
}
|
|
575
|
+
export interface WifiScanChannelOp {
|
|
576
|
+
operation: "wifi.scan_channel";
|
|
577
|
+
index: number | string;
|
|
578
|
+
}
|
|
579
|
+
export interface WifiSaveCredentialsOp {
|
|
580
|
+
operation: "wifi.save_credentials";
|
|
581
|
+
ssid: string;
|
|
582
|
+
password: string;
|
|
583
|
+
}
|
|
584
|
+
export interface WifiConnectSavedOp {
|
|
585
|
+
operation: "wifi.connect_saved";
|
|
586
|
+
timeoutMs: number | string;
|
|
587
|
+
}
|
|
588
|
+
export interface WifiClearCredentialsOp {
|
|
589
|
+
operation: "wifi.clear_credentials";
|
|
590
|
+
}
|
|
591
|
+
export interface WifiWaitConnectedOp {
|
|
592
|
+
operation: "wifi.wait_connected";
|
|
593
|
+
timeoutMs: number | string;
|
|
594
|
+
}
|
|
595
|
+
export interface WifiWaitDisconnectedOp {
|
|
596
|
+
operation: "wifi.wait_disconnected";
|
|
597
|
+
}
|
|
598
|
+
export interface HttpBeginOp {
|
|
599
|
+
operation: "http.begin";
|
|
600
|
+
method: string;
|
|
601
|
+
url: string;
|
|
602
|
+
}
|
|
603
|
+
export interface HttpResetOp {
|
|
604
|
+
operation: "http.reset";
|
|
605
|
+
}
|
|
606
|
+
export interface HttpSetHeaderOp {
|
|
607
|
+
operation: "http.set_header";
|
|
608
|
+
name: string;
|
|
609
|
+
value: string;
|
|
610
|
+
}
|
|
611
|
+
export interface HttpSetTimeoutOp {
|
|
612
|
+
operation: "http.set_timeout";
|
|
613
|
+
ms: number | string;
|
|
614
|
+
}
|
|
615
|
+
export interface HttpSetMaxBodyOp {
|
|
616
|
+
operation: "http.set_max_body";
|
|
617
|
+
bytes: number | string;
|
|
618
|
+
}
|
|
619
|
+
export interface HttpSetBodyOp {
|
|
620
|
+
operation: "http.set_body";
|
|
621
|
+
data: string;
|
|
622
|
+
json?: boolean;
|
|
623
|
+
}
|
|
624
|
+
export interface HttpSetInsecureOp {
|
|
625
|
+
operation: "http.set_insecure";
|
|
626
|
+
}
|
|
627
|
+
export interface HttpSetCaCertOp {
|
|
628
|
+
operation: "http.set_ca_cert";
|
|
629
|
+
pem: string;
|
|
630
|
+
}
|
|
631
|
+
export interface HttpSendOp {
|
|
632
|
+
operation: "http.send";
|
|
633
|
+
blocking: boolean;
|
|
634
|
+
}
|
|
635
|
+
export interface HttpSendStartOp {
|
|
636
|
+
operation: "http.send_start";
|
|
637
|
+
}
|
|
638
|
+
/** Poll predicate paired with http.send_start — true when the response is in. */
|
|
639
|
+
export interface HttpDoneOp {
|
|
640
|
+
operation: "http.done";
|
|
641
|
+
}
|
|
642
|
+
/** Submit `fnRef(argRef)` to worker slot `handleId`; returns immediately. */
|
|
643
|
+
export interface WorkerSubmitOp {
|
|
644
|
+
operation: "worker.submit";
|
|
645
|
+
/** Fixed worker slot index (0..poolSize-1). */
|
|
646
|
+
handleId: number;
|
|
647
|
+
/** C++ symbol of the function to run: `void fn(void* arg)`. */
|
|
648
|
+
fnRef: string;
|
|
649
|
+
/** Optional argument expression (passed through verbatim). */
|
|
650
|
+
argRef?: string;
|
|
651
|
+
}
|
|
652
|
+
/** Poll predicate paired with worker.submit — true once the worker finished. */
|
|
653
|
+
export interface WorkerDoneOp {
|
|
654
|
+
operation: "worker.done";
|
|
655
|
+
/** Worker slot index, matching the worker.submit it polls. */
|
|
656
|
+
handleId: number;
|
|
657
|
+
}
|
|
658
|
+
export interface HttpStatusOp {
|
|
659
|
+
operation: "http.status";
|
|
660
|
+
}
|
|
661
|
+
export interface HttpOkOp {
|
|
662
|
+
operation: "http.ok";
|
|
663
|
+
}
|
|
664
|
+
export interface HttpBodyOp {
|
|
665
|
+
operation: "http.body";
|
|
666
|
+
}
|
|
667
|
+
export interface HttpContentLengthOp {
|
|
668
|
+
operation: "http.content_length";
|
|
669
|
+
}
|
|
670
|
+
export interface HttpResponseHeaderOp {
|
|
671
|
+
operation: "http.response_header";
|
|
672
|
+
name: string;
|
|
673
|
+
}
|
|
674
|
+
export interface BleServerBeginOp {
|
|
675
|
+
operation: "ble.server_begin";
|
|
676
|
+
name: string;
|
|
677
|
+
}
|
|
678
|
+
export interface BleAdvertiseStartOp {
|
|
679
|
+
operation: "ble.advertise_start";
|
|
680
|
+
}
|
|
681
|
+
export interface BleAdvertiseStopOp {
|
|
682
|
+
operation: "ble.advertise_stop";
|
|
683
|
+
}
|
|
684
|
+
export interface BleAddServiceOp {
|
|
685
|
+
operation: "ble.add_service";
|
|
686
|
+
uuid: string;
|
|
687
|
+
}
|
|
688
|
+
export interface BleAddCharOp {
|
|
689
|
+
operation: "ble.add_char";
|
|
690
|
+
index: number | string;
|
|
691
|
+
uuid: string;
|
|
692
|
+
type: string;
|
|
693
|
+
perms: number | string;
|
|
694
|
+
svcIndex?: number | string;
|
|
695
|
+
}
|
|
696
|
+
export interface BleOnReadOp {
|
|
697
|
+
operation: "ble.on_read";
|
|
698
|
+
index: number | string;
|
|
699
|
+
handler: string;
|
|
700
|
+
}
|
|
701
|
+
export interface BleOnWriteOp {
|
|
702
|
+
operation: "ble.on_write";
|
|
703
|
+
index: number | string;
|
|
704
|
+
handler: string;
|
|
705
|
+
}
|
|
706
|
+
export interface BleOnConnectOp {
|
|
707
|
+
operation: "ble.on_connect";
|
|
708
|
+
handler: string;
|
|
709
|
+
}
|
|
710
|
+
export interface BleOnDisconnectOp {
|
|
711
|
+
operation: "ble.on_disconnect";
|
|
712
|
+
handler: string;
|
|
713
|
+
}
|
|
714
|
+
export interface BleNotifyOp {
|
|
715
|
+
operation: "ble.notify";
|
|
716
|
+
index: number | string;
|
|
717
|
+
value: number | string;
|
|
718
|
+
}
|
|
719
|
+
export interface BleIsConnectedOp {
|
|
720
|
+
operation: "ble.is_connected";
|
|
721
|
+
}
|
|
722
|
+
export interface BleClientCountOp {
|
|
723
|
+
operation: "ble.client_count";
|
|
724
|
+
}
|
|
725
|
+
export interface BleSetNameOp {
|
|
726
|
+
operation: "ble.set_name";
|
|
727
|
+
name: string;
|
|
728
|
+
}
|
|
729
|
+
export interface BleUntilConnectedOp {
|
|
730
|
+
operation: "ble.until_connected";
|
|
731
|
+
timeoutMs: number | string;
|
|
732
|
+
blocking: boolean;
|
|
733
|
+
}
|
|
734
|
+
export interface BleUntilConnectedStartOp {
|
|
735
|
+
operation: "ble.until_connected_start";
|
|
736
|
+
}
|
|
737
|
+
export interface BleSetTxPowerOp {
|
|
738
|
+
operation: "ble.set_tx_power";
|
|
739
|
+
dbm: number | string;
|
|
740
|
+
}
|
|
741
|
+
export interface BleStatusOp {
|
|
742
|
+
operation: "ble.status";
|
|
743
|
+
}
|
|
744
|
+
export interface PreferencesBeginOp {
|
|
745
|
+
operation: "preferences.begin";
|
|
746
|
+
namespace: string;
|
|
747
|
+
readOnly: boolean;
|
|
748
|
+
}
|
|
749
|
+
export interface PreferencesEndOp {
|
|
750
|
+
operation: "preferences.end";
|
|
751
|
+
}
|
|
752
|
+
export interface PreferencesClearOp {
|
|
753
|
+
operation: "preferences.clear";
|
|
754
|
+
}
|
|
755
|
+
export interface PreferencesRemoveOp {
|
|
756
|
+
operation: "preferences.remove";
|
|
757
|
+
key: string;
|
|
758
|
+
}
|
|
759
|
+
export interface PreferencesPutIntOp {
|
|
760
|
+
operation: "preferences.put_int";
|
|
761
|
+
key: string;
|
|
762
|
+
value: number | string;
|
|
763
|
+
}
|
|
764
|
+
export interface PreferencesGetIntOp {
|
|
765
|
+
operation: "preferences.get_int";
|
|
766
|
+
key: string;
|
|
767
|
+
defaultValue: number | string;
|
|
768
|
+
}
|
|
769
|
+
export interface PreferencesPutUIntOp {
|
|
770
|
+
operation: "preferences.put_uint";
|
|
771
|
+
key: string;
|
|
772
|
+
value: number | string;
|
|
773
|
+
}
|
|
774
|
+
export interface PreferencesGetUIntOp {
|
|
775
|
+
operation: "preferences.get_uint";
|
|
776
|
+
key: string;
|
|
777
|
+
defaultValue: number | string;
|
|
778
|
+
}
|
|
779
|
+
export interface PreferencesPutBoolOp {
|
|
780
|
+
operation: "preferences.put_bool";
|
|
781
|
+
key: string;
|
|
782
|
+
value: boolean;
|
|
783
|
+
}
|
|
784
|
+
export interface PreferencesGetBoolOp {
|
|
785
|
+
operation: "preferences.get_bool";
|
|
786
|
+
key: string;
|
|
787
|
+
defaultValue: boolean;
|
|
788
|
+
}
|
|
789
|
+
export interface PreferencesPutFloatOp {
|
|
790
|
+
operation: "preferences.put_float";
|
|
791
|
+
key: string;
|
|
792
|
+
value: number | string;
|
|
793
|
+
}
|
|
794
|
+
export interface PreferencesGetFloatOp {
|
|
795
|
+
operation: "preferences.get_float";
|
|
796
|
+
key: string;
|
|
797
|
+
defaultValue: number | string;
|
|
798
|
+
}
|
|
799
|
+
export interface PreferencesPutStringOp {
|
|
800
|
+
operation: "preferences.put_string";
|
|
801
|
+
key: string;
|
|
802
|
+
value: string;
|
|
803
|
+
}
|
|
804
|
+
export interface PreferencesGetStringOp {
|
|
805
|
+
operation: "preferences.get_string";
|
|
806
|
+
key: string;
|
|
807
|
+
defaultValue: string;
|
|
808
|
+
}
|
|
809
|
+
export interface RandomIntOp {
|
|
810
|
+
operation: "random.int";
|
|
811
|
+
}
|
|
812
|
+
export interface RandomRangeOp {
|
|
813
|
+
operation: "random.range";
|
|
814
|
+
/** Inclusive lower bound — numeric or runtime expression string */
|
|
815
|
+
min: number | string;
|
|
816
|
+
/** Inclusive upper bound — numeric or runtime expression string */
|
|
817
|
+
max: number | string;
|
|
818
|
+
}
|
|
819
|
+
export interface RandomSeedOp {
|
|
820
|
+
operation: "random.seed";
|
|
821
|
+
/** Seed value — numeric or runtime expression string */
|
|
822
|
+
seed: number | string;
|
|
823
|
+
}
|
|
824
|
+
export interface FsBeginOp {
|
|
825
|
+
operation: "fs.begin";
|
|
826
|
+
}
|
|
827
|
+
export interface FsReadTextOp {
|
|
828
|
+
operation: "fs.read_text";
|
|
829
|
+
/** C string expression for the path */
|
|
830
|
+
path: string;
|
|
831
|
+
}
|
|
832
|
+
export interface FsWriteTextOp {
|
|
833
|
+
operation: "fs.write_text";
|
|
834
|
+
/** C string expression for the path */
|
|
835
|
+
path: string;
|
|
836
|
+
/** C string expression for the content */
|
|
837
|
+
content: string;
|
|
838
|
+
}
|
|
839
|
+
export interface FsExistsOp {
|
|
840
|
+
operation: "fs.exists";
|
|
841
|
+
/** C string expression for the path */
|
|
842
|
+
path: string;
|
|
843
|
+
}
|
|
844
|
+
export interface FsRemoveOp {
|
|
845
|
+
operation: "fs.remove";
|
|
846
|
+
/** C string expression for the path */
|
|
847
|
+
path: string;
|
|
848
|
+
}
|
|
849
|
+
export interface MdnsStartOp {
|
|
850
|
+
operation: "mdns.start";
|
|
851
|
+
/** C string expression for the host name */
|
|
852
|
+
hostname: string;
|
|
853
|
+
}
|
|
854
|
+
export interface MdnsSetHostnameOp {
|
|
855
|
+
operation: "mdns.set_hostname";
|
|
856
|
+
/** C string expression for the host name */
|
|
857
|
+
name: string;
|
|
858
|
+
}
|
|
859
|
+
export interface MdnsAddServiceOp {
|
|
860
|
+
operation: "mdns.add_service";
|
|
861
|
+
/** C string expression for the service instance name */
|
|
862
|
+
instance: string;
|
|
863
|
+
/** C string expression for the protocol ("_tcp" / "_udp") */
|
|
864
|
+
proto: string;
|
|
865
|
+
/** Port number — numeric or runtime expression string */
|
|
866
|
+
port: number | string;
|
|
867
|
+
}
|
|
868
|
+
export interface MdnsAnnounceOp {
|
|
869
|
+
operation: "mdns.announce";
|
|
870
|
+
}
|
|
871
|
+
export interface MdnsStopOp {
|
|
872
|
+
operation: "mdns.stop";
|
|
873
|
+
}
|
|
874
|
+
export interface MqttConnectOp {
|
|
875
|
+
operation: "mqtt.connect";
|
|
876
|
+
/** C string expression for the broker URI ("mqtt://..." / "mqtts://...") */
|
|
877
|
+
brokerUri: string;
|
|
878
|
+
/** C string expression for the client id */
|
|
879
|
+
clientId: string;
|
|
880
|
+
}
|
|
881
|
+
export interface MqttOnMessageOp {
|
|
882
|
+
operation: "mqtt.on_message";
|
|
883
|
+
/** Resolved C++ callback function name (topic, payload) */
|
|
884
|
+
handler: string;
|
|
885
|
+
}
|
|
886
|
+
export interface MqttSubscribeOp {
|
|
887
|
+
operation: "mqtt.subscribe";
|
|
888
|
+
/** C string expression for the topic filter */
|
|
889
|
+
topic: string;
|
|
890
|
+
}
|
|
891
|
+
export interface MqttPublishOp {
|
|
892
|
+
operation: "mqtt.publish";
|
|
893
|
+
/** C string expression for the topic */
|
|
894
|
+
topic: string;
|
|
895
|
+
/** C string expression for the payload */
|
|
896
|
+
data: string;
|
|
897
|
+
}
|
|
898
|
+
export interface MqttConnectedOp {
|
|
899
|
+
operation: "mqtt.connected";
|
|
900
|
+
}
|
|
901
|
+
export interface MqttDisconnectOp {
|
|
902
|
+
operation: "mqtt.disconnect";
|
|
903
|
+
}
|
|
904
|
+
export interface OtaFromUrlOp {
|
|
905
|
+
operation: "ota.from_url";
|
|
906
|
+
/** C string expression for the HTTPS firmware URL */
|
|
907
|
+
url: string;
|
|
908
|
+
}
|
|
909
|
+
export interface OtaBeginOp {
|
|
910
|
+
operation: "ota.begin";
|
|
911
|
+
}
|
|
912
|
+
export interface OtaWriteOp {
|
|
913
|
+
operation: "ota.write";
|
|
914
|
+
/** C expression for the chunk data (buffer/pointer) */
|
|
915
|
+
chunk: string;
|
|
916
|
+
}
|
|
917
|
+
export interface OtaApplyOp {
|
|
918
|
+
operation: "ota.apply";
|
|
919
|
+
}
|
|
920
|
+
export interface TempReadOp {
|
|
921
|
+
operation: "temp.read";
|
|
922
|
+
}
|
|
923
|
+
export interface HwtimerSetFrequencyOp {
|
|
924
|
+
operation: "hwtimer.set_frequency";
|
|
925
|
+
/** Timer instance index */
|
|
926
|
+
instance: number | string;
|
|
927
|
+
/** Frequency in Hz */
|
|
928
|
+
hz: number | string;
|
|
929
|
+
}
|
|
930
|
+
export interface HwtimerOnOverflowOp {
|
|
931
|
+
operation: "hwtimer.on_overflow";
|
|
932
|
+
/** Timer instance index */
|
|
933
|
+
instance: number | string;
|
|
934
|
+
/** Resolved C++ callback function name */
|
|
935
|
+
handler: string;
|
|
936
|
+
}
|
|
937
|
+
export interface HwtimerStartOp {
|
|
938
|
+
operation: "hwtimer.start";
|
|
939
|
+
/** Timer instance index */
|
|
940
|
+
instance: number | string;
|
|
941
|
+
}
|
|
942
|
+
export interface HwtimerStopOp {
|
|
943
|
+
operation: "hwtimer.stop";
|
|
944
|
+
/** Timer instance index */
|
|
945
|
+
instance: number | string;
|
|
946
|
+
}
|
|
947
|
+
export interface CapacitiveReadOp {
|
|
948
|
+
operation: "capacitive.read";
|
|
949
|
+
port?: string;
|
|
950
|
+
/** Touch-capable GPIO pin number */
|
|
951
|
+
pin: number;
|
|
952
|
+
}
|
|
953
|
+
export interface I2sInitOp {
|
|
954
|
+
operation: "i2s.init";
|
|
955
|
+
/** Sample rate in Hz */
|
|
956
|
+
sampleRate: number | string;
|
|
957
|
+
/** Number of channels (1 = mono, 2 = stereo) */
|
|
958
|
+
channels?: number | string;
|
|
959
|
+
/** Bits per sample (8, 16, 24, 32) */
|
|
960
|
+
bitsPerSample?: number | string;
|
|
961
|
+
}
|
|
962
|
+
export interface I2sWriteOp {
|
|
963
|
+
operation: "i2s.write";
|
|
964
|
+
/** C expression for the sample buffer */
|
|
965
|
+
data: string;
|
|
966
|
+
/** Number of bytes to write */
|
|
967
|
+
length: number | string;
|
|
968
|
+
}
|
|
969
|
+
export interface I2sReadOp {
|
|
970
|
+
operation: "i2s.read";
|
|
971
|
+
/** Buffer variable name */
|
|
972
|
+
buffer: string;
|
|
973
|
+
/** Number of bytes to read */
|
|
974
|
+
length: number | string;
|
|
975
|
+
}
|
|
976
|
+
export interface TwaiInitOp {
|
|
977
|
+
operation: "twai.init";
|
|
978
|
+
/** Baud rate in bits per second */
|
|
979
|
+
baudrate: number | string;
|
|
980
|
+
/** TX GPIO pin number */
|
|
981
|
+
txPin: number;
|
|
982
|
+
/** RX GPIO pin number */
|
|
983
|
+
rxPin: number;
|
|
984
|
+
}
|
|
985
|
+
export interface TwaiSendOp {
|
|
986
|
+
operation: "twai.send";
|
|
987
|
+
/** CAN identifier */
|
|
988
|
+
id: number | string;
|
|
989
|
+
/** C expression for the payload bytes */
|
|
990
|
+
data: string;
|
|
991
|
+
/** Number of payload bytes (0-8) */
|
|
992
|
+
length: number | string;
|
|
993
|
+
}
|
|
994
|
+
export interface TwaiReceiveOp {
|
|
995
|
+
operation: "twai.receive";
|
|
996
|
+
/** Buffer variable name */
|
|
997
|
+
buffer: string;
|
|
998
|
+
}
|
|
999
|
+
export interface UsbInitOp {
|
|
1000
|
+
operation: "usb.init";
|
|
1001
|
+
/** Device descriptor name or C expression (framework-specific) */
|
|
1002
|
+
descriptor?: string;
|
|
1003
|
+
}
|
|
1004
|
+
export interface UsbWriteOp {
|
|
1005
|
+
operation: "usb.write";
|
|
1006
|
+
/** Endpoint index (0 for control/default) */
|
|
1007
|
+
endpoint: number | string;
|
|
1008
|
+
/** C expression for the data buffer */
|
|
1009
|
+
data: string;
|
|
1010
|
+
/** Number of bytes */
|
|
1011
|
+
length: number | string;
|
|
1012
|
+
}
|
|
1013
|
+
export interface UsbReadOp {
|
|
1014
|
+
operation: "usb.read";
|
|
1015
|
+
/** Endpoint index */
|
|
1016
|
+
endpoint: number | string;
|
|
1017
|
+
/** Buffer variable name */
|
|
1018
|
+
buffer: string;
|
|
1019
|
+
/** Max bytes to read */
|
|
1020
|
+
length: number | string;
|
|
1021
|
+
}
|
|
1022
|
+
export interface EthInitOp {
|
|
1023
|
+
operation: "eth.init";
|
|
1024
|
+
/** PHY address (0-31) */
|
|
1025
|
+
phyAddress: number | string;
|
|
1026
|
+
/** MDC GPIO pin */
|
|
1027
|
+
mdcPin: number;
|
|
1028
|
+
/** MDIO GPIO pin */
|
|
1029
|
+
mdioPin: number;
|
|
1030
|
+
}
|
|
1031
|
+
export interface EthStartOp {
|
|
1032
|
+
operation: "eth.start";
|
|
1033
|
+
}
|
|
1034
|
+
export interface EthIsLinkedOp {
|
|
1035
|
+
operation: "eth.is_linked";
|
|
1036
|
+
}
|
|
1037
|
+
export interface EspnowInitOp {
|
|
1038
|
+
operation: "espnow.init";
|
|
1039
|
+
}
|
|
1040
|
+
export interface EspnowAddPeerOp {
|
|
1041
|
+
operation: "espnow.add_peer";
|
|
1042
|
+
/** Peer MAC address as a C expression (e.g. an array initializer) */
|
|
1043
|
+
mac: string;
|
|
1044
|
+
}
|
|
1045
|
+
export interface EspnowSendOp {
|
|
1046
|
+
operation: "espnow.send";
|
|
1047
|
+
/** Peer MAC address C expression, or NULL for broadcast */
|
|
1048
|
+
mac: string;
|
|
1049
|
+
/** C expression for the payload */
|
|
1050
|
+
data: string;
|
|
1051
|
+
/** Number of bytes */
|
|
1052
|
+
length: number | string;
|
|
1053
|
+
}
|
|
1054
|
+
export interface EspnowOnReceiveOp {
|
|
1055
|
+
operation: "espnow.on_receive";
|
|
1056
|
+
/** Resolved C++ callback function name */
|
|
1057
|
+
handler: string;
|
|
1058
|
+
}
|
|
1059
|
+
export interface CryptoAesEncryptOp {
|
|
1060
|
+
operation: "crypto.aes_encrypt";
|
|
1061
|
+
/** C expression for the key buffer */
|
|
1062
|
+
key: string;
|
|
1063
|
+
/** C expression for the plaintext buffer */
|
|
1064
|
+
input: string;
|
|
1065
|
+
/** Output buffer variable name */
|
|
1066
|
+
output: string;
|
|
1067
|
+
/** Number of bytes (must be a multiple of 16) */
|
|
1068
|
+
length: number | string;
|
|
1069
|
+
}
|
|
1070
|
+
export interface CryptoSha256Op {
|
|
1071
|
+
operation: "crypto.sha256";
|
|
1072
|
+
/** C expression for the input buffer */
|
|
1073
|
+
input: string;
|
|
1074
|
+
/** Number of bytes */
|
|
1075
|
+
length: number | string;
|
|
1076
|
+
/** Output buffer variable name (32 bytes) */
|
|
1077
|
+
output: string;
|
|
1078
|
+
}
|
|
1079
|
+
export interface CryptoHmacOp {
|
|
1080
|
+
operation: "crypto.hmac";
|
|
1081
|
+
/** Key C expression */
|
|
1082
|
+
key: string;
|
|
1083
|
+
/** Message C expression */
|
|
1084
|
+
message: string;
|
|
1085
|
+
/** Message length in bytes */
|
|
1086
|
+
length: number | string;
|
|
1087
|
+
/** Output buffer variable name */
|
|
1088
|
+
output: string;
|
|
1089
|
+
}
|
|
1090
|
+
export interface PcntInitOp {
|
|
1091
|
+
operation: "pcnt.init";
|
|
1092
|
+
/** PCNT unit index */
|
|
1093
|
+
unit: number | string;
|
|
1094
|
+
/** Pulse input GPIO pin */
|
|
1095
|
+
pulsePin: number;
|
|
1096
|
+
/** Optional control/filter GPIO pin */
|
|
1097
|
+
ctrlPin?: number;
|
|
1098
|
+
}
|
|
1099
|
+
export interface PcntCountOp {
|
|
1100
|
+
operation: "pcnt.count";
|
|
1101
|
+
/** PCNT unit index */
|
|
1102
|
+
unit: number | string;
|
|
1103
|
+
}
|
|
1104
|
+
export interface PcntClearOp {
|
|
1105
|
+
operation: "pcnt.clear";
|
|
1106
|
+
/** PCNT unit index */
|
|
1107
|
+
unit: number | string;
|
|
1108
|
+
}
|
|
1109
|
+
export interface McpwmInitOp {
|
|
1110
|
+
operation: "mcpwm.init";
|
|
1111
|
+
/** MCPWM unit index */
|
|
1112
|
+
unit: number | string;
|
|
1113
|
+
/** PWM frequency in Hz */
|
|
1114
|
+
frequency: number | string;
|
|
1115
|
+
}
|
|
1116
|
+
export interface McpwmSetDutyOp {
|
|
1117
|
+
operation: "mcpwm.set_duty";
|
|
1118
|
+
/** MCPWM unit index */
|
|
1119
|
+
unit: number | string;
|
|
1120
|
+
/** Operator/timer index */
|
|
1121
|
+
operator: number | string;
|
|
1122
|
+
/** Duty cycle percentage (0.0 - 100.0) */
|
|
1123
|
+
duty: number | string;
|
|
1124
|
+
}
|
|
1125
|
+
export interface McpwmStartOp {
|
|
1126
|
+
operation: "mcpwm.start";
|
|
1127
|
+
/** MCPWM unit index */
|
|
1128
|
+
unit: number | string;
|
|
1129
|
+
}
|
|
378
1130
|
export interface RawCppOp {
|
|
379
1131
|
operation: "raw";
|
|
380
1132
|
/** Raw C++ code string (framework-agnostic, use sparingly) */
|
|
@@ -385,9 +1137,20 @@ export interface RawCppOp {
|
|
|
385
1137
|
* operations. Each node carries a semantic `operation` tag and typed
|
|
386
1138
|
* arguments. Framework strategies translate these into concrete C++.
|
|
387
1139
|
*/
|
|
388
|
-
export type HALOpIR = GpioWriteOp | GpioReadOp | GpioToggleOp | GpioSetModeOp | PwmWriteOp | PwmGetFrequencyOp | PwmGetResolutionOp | AdcReadOp | AdcGetResolutionOp | AdcSetReferenceOp | AdcGetReferenceOp | AdcReadVoltageOp | DacWriteOp | InterruptAttachOp | InterruptDetachOp | TonePlayOp | ToneStopOp | TimingDelayOp | TimingDelayMicrosecondsOp | TimingMillisOp | TimingMicrosOp | TimingFreeHeapOp | TimingSetIntervalOp | TimingSetTimeoutOp | TimingClearIntervalOp | TimingClearTimeoutOp | PowerDeepSleepOp | PowerLightSleepOp | PowerSetCpuFrequencyOp | I2cBeginOp | I2cEndOp | I2cSetClockOp | I2cBeginTransmissionOp | I2cWriteOp | I2cWriteBytesOp | I2cWriteBufferOp | I2cReadBufferOp | I2cEndTransmissionOp | I2cRequestFromOp | I2cAvailableOp | I2cReadOp | I2cRecoverOp | SpiBeginOp | SpiEndOp | SpiTransferOp | SpibeginTransactionOp | SpiEndTransactionOp | SpiSetModeOp | SpiSetBitOrderOp | SpiCsLowOp | SpiCsHighOp | UartBeginOp | UartEndOp | UartPrintOp | UartPrintlnOp | UartPrintfOp | UartWriteOp | UartReadOp | UartPeekOp | UartAvailableOp | UartFlushOp | PulseInOp | PulseInLongOp | ShiftOutOp | ShiftInOp | BoardResolveOp | WdtEnableOp | WdtResetOp | WdtDisableOp | SnprintfEmitOp | RawCppOp | DisplayHALOp;
|
|
1140
|
+
export type HALOpIR = GpioWriteOp | GpioReadOp | GpioToggleOp | GpioSetModeOp | PwmWriteOp | PwmGetFrequencyOp | PwmGetResolutionOp | RmtTxInitOp | RmtTxWriteBytesOp | RmtTxWriteSymbolsOp | RmtTxWaitDoneOp | RmtTxDeinitOp | RmtRxInitOp | RmtRxOnReceivedOp | RmtRxStartOp | RmtRxStopOp | RmtRxReadOp | RmtRxDeinitOp | AdcReadOp | AdcGetResolutionOp | AdcSetReferenceOp | AdcGetReferenceOp | AdcReadVoltageOp | DacWriteOp | InterruptAttachOp | InterruptDetachOp | TonePlayOp | ToneStopOp | TimingDelayOp | TimingDelayMicrosecondsOp | TimingMillisOp | TimingMicrosOp | TimingFreeHeapOp | TimingSetIntervalOp | TimingSetTimeoutOp | TimingClearIntervalOp | TimingClearTimeoutOp | PowerDeepSleepOp | PowerLightSleepOp | PowerSetCpuFrequencyOp | PowerDeepSleepPinOp | I2cBeginOp | I2cEndOp | I2cSetClockOp | I2cBeginTransmissionOp | I2cWriteOp | I2cWriteBytesOp | I2cWriteBufferOp | I2cReadBufferOp | I2cEndTransmissionOp | I2cRequestFromOp | I2cAvailableOp | I2cReadOp | I2cRecoverOp | SpiBeginOp | SpiEndOp | SpiTransferOp | SpibeginTransactionOp | SpiEndTransactionOp | SpiSetModeOp | SpiSetBitOrderOp | SpiCsLowOp | SpiCsHighOp | SpiReadBufferOp | UartBeginOp | UartEndOp | UartPrintOp | UartPrintlnOp | UartPrintfOp | UartWriteOp | UartReadOp | UartPeekOp | UartAvailableOp | UartFlushOp | PulseInOp | PulseInLongOp | ShiftOutOp | ShiftInOp | BoardResolveOp | WdtEnableOp | WdtResetOp | WdtDisableOp | SnprintfEmitOp | WifiConnectOp | WifiConnectStartOp | WifiDisconnectOp | WifiStatusOp | WifiIsConnectedOp | WifiLocalIpOp | WifiRssiOp | WifiMacOp | WifiSetHostnameOp | WifiSetStaticIpOp | WifiSetAutoReconnectOp | WifiSetPowerSaveOp | WifiSetTxPowerOp | WifiOnEventOp | WifiApStartOp | WifiApStopOp | WifiApClientCountOp | WifiApIpOp | WifiApSetChannelOp | WifiApSetHiddenOp | WifiApSetMaxClientsOp | WifiScanOp | WifiScanStartOp | WifiScanDoneOp | WifiScanCountOp | WifiScanSsidOp | WifiScanRssiOp | WifiScanEncryptionOp | WifiScanChannelOp | WifiSaveCredentialsOp | WifiConnectSavedOp | WifiClearCredentialsOp | WifiWaitConnectedOp | WifiWaitDisconnectedOp | HttpBeginOp | HttpResetOp | HttpSetHeaderOp | HttpSetTimeoutOp | HttpSetMaxBodyOp | HttpSetBodyOp | HttpSetInsecureOp | HttpSetCaCertOp | HttpSendOp | HttpSendStartOp | HttpDoneOp | WorkerSubmitOp | WorkerDoneOp | HttpStatusOp | HttpOkOp | HttpBodyOp | HttpContentLengthOp | HttpResponseHeaderOp | BleServerBeginOp | BleAdvertiseStartOp | BleAdvertiseStopOp | BleAddServiceOp | BleAddCharOp | BleOnReadOp | BleOnWriteOp | BleOnConnectOp | BleOnDisconnectOp | BleNotifyOp | BleIsConnectedOp | BleClientCountOp | BleSetNameOp | BleUntilConnectedOp | BleUntilConnectedStartOp | BleSetTxPowerOp | BleStatusOp | PreferencesBeginOp | PreferencesEndOp | PreferencesClearOp | PreferencesRemoveOp | PreferencesPutIntOp | PreferencesGetIntOp | PreferencesPutUIntOp | PreferencesGetUIntOp | PreferencesPutBoolOp | PreferencesGetBoolOp | PreferencesPutFloatOp | PreferencesGetFloatOp | PreferencesPutStringOp | PreferencesGetStringOp | RandomIntOp | RandomRangeOp | RandomSeedOp | FsBeginOp | FsReadTextOp | FsWriteTextOp | FsExistsOp | FsRemoveOp | MdnsStartOp | MdnsSetHostnameOp | MdnsAddServiceOp | MdnsAnnounceOp | MdnsStopOp | MqttConnectOp | MqttOnMessageOp | MqttSubscribeOp | MqttPublishOp | MqttConnectedOp | MqttDisconnectOp | OtaFromUrlOp | OtaBeginOp | OtaWriteOp | OtaApplyOp | TempReadOp | HwtimerSetFrequencyOp | HwtimerOnOverflowOp | HwtimerStartOp | HwtimerStopOp | CapacitiveReadOp | I2sInitOp | I2sWriteOp | I2sReadOp | TwaiInitOp | TwaiSendOp | TwaiReceiveOp | UsbInitOp | UsbWriteOp | UsbReadOp | EthInitOp | EthStartOp | EthIsLinkedOp | EspnowInitOp | EspnowAddPeerOp | EspnowSendOp | EspnowOnReceiveOp | CryptoAesEncryptOp | CryptoSha256Op | CryptoHmacOp | PcntInitOp | PcntCountOp | PcntClearOp | McpwmInitOp | McpwmSetDutyOp | McpwmStartOp | RawCppOp | DisplayHALOp;
|
|
389
1141
|
/**
|
|
390
1142
|
* Helper type: extracts the operation string from a HALOpIR variant.
|
|
391
1143
|
* Useful for type-safe switch statements in framework strategies.
|
|
392
1144
|
*/
|
|
393
1145
|
export type HALOperationKind = HALOpIR["operation"];
|
|
1146
|
+
/**
|
|
1147
|
+
* Runtime registry of every HAL operation discriminator, parallel to
|
|
1148
|
+
* {@link DISPLAY_OPERATION_KINDS}. Lets tests and the manifest validator
|
|
1149
|
+
* enumerate HAL op kinds without parsing types (which are erased at runtime).
|
|
1150
|
+
* Keep in sync with {@link HALOpIR} above.
|
|
1151
|
+
*
|
|
1152
|
+
* Note: `display.*` ops are NOT listed here — they live in
|
|
1153
|
+
* {@link DISPLAY_OPERATION_KINDS} in `display-op-ir.ts`. The manifest
|
|
1154
|
+
* validator imports both and unions them when probing display ops.
|
|
1155
|
+
*/
|
|
1156
|
+
export declare const HAL_OPERATION_KINDS: readonly ["gpio.write", "gpio.read", "gpio.toggle", "gpio.set_mode", "pwm.write", "pwm.get_frequency", "pwm.get_resolution", "rmt.tx_init", "rmt.tx_write_bytes", "rmt.tx_write_symbols", "rmt.tx_wait_done", "rmt.tx_deinit", "rmt.rx_init", "rmt.rx_on_received", "rmt.rx_start", "rmt.rx_stop", "rmt.rx_read", "rmt.rx_deinit", "adc.read", "adc.get_resolution", "adc.set_reference", "adc.get_reference", "adc.read_voltage", "dac.write", "interrupt.attach", "interrupt.detach", "tone.play", "tone.stop", "timing.delay", "timing.delay_microseconds", "timing.millis", "timing.micros", "timing.free_heap", "timing.set_interval", "timing.set_timeout", "timing.clear_interval", "timing.clear_timeout", "power.deep_sleep", "power.light_sleep", "power.set_cpu_frequency", "power.deep_sleep_pin", "i2c.begin", "i2c.end", "i2c.set_clock", "i2c.begin_transmission", "i2c.write", "i2c.write_bytes", "i2c.write_buffer", "i2c.read_buffer", "i2c.end_transmission", "i2c.request_from", "i2c.available", "i2c.read", "i2c.recover", "spi.begin", "spi.end", "spi.transfer", "spi.begin_transaction", "spi.end_transaction", "spi.set_mode", "spi.set_bit_order", "spi.cs_low", "spi.cs_high", "spi.read_buffer", "uart.begin", "uart.end", "uart.print", "uart.println", "uart.printf", "uart.write", "uart.read", "uart.peek", "uart.available", "uart.flush", "pulse.in", "pulse.in_long", "shift.out", "shift.in", "board.resolve", "wdt.enable", "wdt.reset", "wdt.disable", "snprintf.emit", "wifi.connect", "wifi.connect_start", "wifi.disconnect", "wifi.status", "wifi.is_connected", "wifi.local_ip", "wifi.rssi", "wifi.mac", "wifi.set_hostname", "wifi.set_static_ip", "wifi.set_auto_reconnect", "wifi.set_power_save", "wifi.set_tx_power", "wifi.on_event", "wifi.ap_start", "wifi.ap_stop", "wifi.ap_client_count", "wifi.ap_ip", "wifi.ap_set_channel", "wifi.ap_set_hidden", "wifi.ap_set_max_clients", "wifi.scan", "wifi.scan_start", "wifi.scan_done", "wifi.scan_count", "wifi.scan_ssid", "wifi.scan_rssi", "wifi.scan_encryption", "wifi.scan_channel", "wifi.save_credentials", "wifi.connect_saved", "wifi.clear_credentials", "wifi.wait_connected", "wifi.wait_disconnected", "http.begin", "http.reset", "http.set_header", "http.set_timeout", "http.set_max_body", "http.set_body", "http.set_insecure", "http.set_ca_cert", "http.send", "http.send_start", "http.done", "http.status", "http.ok", "http.body", "http.content_length", "http.response_header", "worker.submit", "worker.done", "ble.server_begin", "ble.advertise_start", "ble.advertise_stop", "ble.add_service", "ble.add_char", "ble.on_read", "ble.on_write", "ble.on_connect", "ble.on_disconnect", "ble.notify", "ble.is_connected", "ble.client_count", "ble.set_name", "ble.until_connected", "ble.until_connected_start", "ble.set_tx_power", "ble.status", "preferences.begin", "preferences.end", "preferences.clear", "preferences.remove", "preferences.put_int", "preferences.get_int", "preferences.put_uint", "preferences.get_uint", "preferences.put_bool", "preferences.get_bool", "preferences.put_float", "preferences.get_float", "preferences.put_string", "preferences.get_string", "random.int", "random.range", "random.seed", "fs.begin", "fs.read_text", "fs.write_text", "fs.exists", "fs.remove", "mdns.start", "mdns.set_hostname", "mdns.add_service", "mdns.announce", "mdns.stop", "mqtt.connect", "mqtt.on_message", "mqtt.subscribe", "mqtt.publish", "mqtt.connected", "mqtt.disconnect", "ota.from_url", "ota.begin", "ota.write", "ota.apply", "temp.read", "hwtimer.set_frequency", "hwtimer.on_overflow", "hwtimer.start", "hwtimer.stop", "capacitive.read", "i2s.init", "i2s.write", "i2s.read", "twai.init", "twai.send", "twai.receive", "usb.init", "usb.write", "usb.read", "eth.init", "eth.start", "eth.is_linked", "espnow.init", "espnow.add_peer", "espnow.send", "espnow.on_receive", "crypto.aes_encrypt", "crypto.sha256", "crypto.hmac", "pcnt.init", "pcnt.count", "pcnt.clear", "mcpwm.init", "mcpwm.set_duty", "mcpwm.start", "raw"];
|