@ikalogic/at1000 0.1.6 → 0.1.8

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.
Files changed (100) hide show
  1. package/README.md +1 -84
  2. package/build/{at1000-TLdyugD_.d.cts → at1000-BhiyEaDO.d.cts} +5 -5
  3. package/build/{at1000-DMGESusk.d.mts.map → at1000-BhiyEaDO.d.cts.map} +1 -1
  4. package/build/at1000-CgxthtV5.cjs +2 -0
  5. package/build/at1000-CgxthtV5.cjs.map +1 -0
  6. package/build/{at1000-DMGESusk.d.mts → at1000-CtJGQzs4.d.mts} +5 -5
  7. package/build/{at1000-TLdyugD_.d.cts.map → at1000-CtJGQzs4.d.mts.map} +1 -1
  8. package/build/at1000-zvuVNh5z.mjs +2 -0
  9. package/build/at1000-zvuVNh5z.mjs.map +1 -0
  10. package/build/browser.cjs +1 -1
  11. package/build/browser.cjs.map +1 -1
  12. package/build/browser.d.cts +8 -6
  13. package/build/browser.d.cts.map +1 -1
  14. package/build/browser.d.mts +8 -6
  15. package/build/browser.d.mts.map +1 -1
  16. package/build/browser.mjs +1 -1
  17. package/build/browser.mjs.map +1 -1
  18. package/build/{com-BM8-f4JW.d.cts → com-Bau2RVba.d.cts} +30 -30
  19. package/build/com-Bau2RVba.d.cts.map +1 -0
  20. package/build/{com-Bu0YGNYX.d.mts → com-Bd30LXVW.d.mts} +30 -30
  21. package/build/com-Bd30LXVW.d.mts.map +1 -0
  22. package/build/com-Bq-d2n2_.mjs +2 -0
  23. package/build/com-Bq-d2n2_.mjs.map +1 -0
  24. package/build/com-D6zvDfVV.cjs +2 -0
  25. package/build/com-D6zvDfVV.cjs.map +1 -0
  26. package/build/com.cjs +1 -1
  27. package/build/com.d.cts +1 -1
  28. package/build/com.d.mts +1 -1
  29. package/build/com.mjs +1 -1
  30. package/build/{common-B6_Yo59b.mjs → common-CZE1OCJG.mjs} +1 -1
  31. package/build/{common-B6_Yo59b.mjs.map → common-CZE1OCJG.mjs.map} +1 -1
  32. package/build/{common-DBMgtoTL.cjs → common-D2xOY3nO.cjs} +1 -1
  33. package/build/{common-DBMgtoTL.cjs.map → common-D2xOY3nO.cjs.map} +1 -1
  34. package/build/{gpio-Bz0JdP3l.cjs → gpio-BnyLCBEg.cjs} +2 -2
  35. package/build/{gpio-Bz0JdP3l.cjs.map → gpio-BnyLCBEg.cjs.map} +1 -1
  36. package/build/{gpio-91G-W2m3.d.mts → gpio-CvLKWnSo.d.mts} +13 -13
  37. package/build/{gpio-91G-W2m3.d.mts.map → gpio-CvLKWnSo.d.mts.map} +1 -1
  38. package/build/{gpio-CaoUf_cd.d.cts → gpio-DGcccQh6.d.cts} +13 -13
  39. package/build/{gpio-CaoUf_cd.d.cts.map → gpio-DGcccQh6.d.cts.map} +1 -1
  40. package/build/{gpio-CGsMbcQN.mjs → gpio-bjzKV_Vy.mjs} +2 -2
  41. package/build/{gpio-CGsMbcQN.mjs.map → gpio-bjzKV_Vy.mjs.map} +1 -1
  42. package/build/gpio.cjs +1 -1
  43. package/build/gpio.d.cts +1 -1
  44. package/build/gpio.d.mts +1 -1
  45. package/build/gpio.mjs +1 -1
  46. package/build/{hmi-BSBsQPEN.d.mts → hmi-C1-vU40b.d.cts} +4 -4
  47. package/build/{hmi-BSBsQPEN.d.mts.map → hmi-C1-vU40b.d.cts.map} +1 -1
  48. package/build/{hmi-Des_V5c0.d.cts → hmi-CIOjZVch.d.mts} +4 -4
  49. package/build/{hmi-Des_V5c0.d.cts.map → hmi-CIOjZVch.d.mts.map} +1 -1
  50. package/build/{hmi-CocSngQM.mjs → hmi-CTx2jfxU.mjs} +1 -1
  51. package/build/{hmi-CocSngQM.mjs.map → hmi-CTx2jfxU.mjs.map} +1 -1
  52. package/build/{hmi-DCplypi6.cjs → hmi-CnTa8kMx.cjs} +1 -1
  53. package/build/{hmi-DCplypi6.cjs.map → hmi-CnTa8kMx.cjs.map} +1 -1
  54. package/build/hmi.cjs +1 -1
  55. package/build/hmi.d.cts +1 -1
  56. package/build/hmi.d.mts +1 -1
  57. package/build/hmi.mjs +1 -1
  58. package/build/{management-CXGT-yoC.mjs → management-BKLSOMbM.mjs} +1 -1
  59. package/build/{management-CXGT-yoC.mjs.map → management-BKLSOMbM.mjs.map} +1 -1
  60. package/build/{management-B9Tdk00K.cjs → management-DHD60Xrp.cjs} +1 -1
  61. package/build/{management-B9Tdk00K.cjs.map → management-DHD60Xrp.cjs.map} +1 -1
  62. package/build/management.cjs +1 -1
  63. package/build/management.mjs +1 -1
  64. package/build/node.cjs +1 -1
  65. package/build/node.cjs.map +1 -1
  66. package/build/node.d.cts +6 -5
  67. package/build/node.d.cts.map +1 -1
  68. package/build/node.d.mts +6 -5
  69. package/build/node.d.mts.map +1 -1
  70. package/build/node.mjs +1 -1
  71. package/build/node.mjs.map +1 -1
  72. package/build/{power-CQm1EIoO.d.cts → power-CSNvBKgh.d.cts} +15 -15
  73. package/build/{power-CQm1EIoO.d.cts.map → power-CSNvBKgh.d.cts.map} +1 -1
  74. package/build/{power-CbQidLPp.d.mts → power-Cefqtt9P.d.mts} +15 -15
  75. package/build/{power-CbQidLPp.d.mts.map → power-Cefqtt9P.d.mts.map} +1 -1
  76. package/build/{power-1yzD9ymI.cjs → power-PrmE0ai2.cjs} +2 -2
  77. package/build/{power-1yzD9ymI.cjs.map → power-PrmE0ai2.cjs.map} +1 -1
  78. package/build/{power-DqULYfeX.mjs → power-hwld3j5a.mjs} +2 -2
  79. package/build/{power-DqULYfeX.mjs.map → power-hwld3j5a.mjs.map} +1 -1
  80. package/build/power.cjs +1 -1
  81. package/build/power.d.cts +1 -1
  82. package/build/power.d.mts +1 -1
  83. package/build/power.mjs +1 -1
  84. package/build/{relays-Mo3ywliK.cjs → relays-BK2uL5i_.cjs} +1 -1
  85. package/build/{relays-Mo3ywliK.cjs.map → relays-BK2uL5i_.cjs.map} +1 -1
  86. package/build/{relays-BPQj7abl.mjs → relays-CqglfFwF.mjs} +1 -1
  87. package/build/{relays-BPQj7abl.mjs.map → relays-CqglfFwF.mjs.map} +1 -1
  88. package/build/relays.cjs +1 -1
  89. package/build/relays.mjs +1 -1
  90. package/package.json +1 -1
  91. package/build/at1000-C4IWLsB5.mjs +0 -2
  92. package/build/at1000-C4IWLsB5.mjs.map +0 -1
  93. package/build/at1000-DHgno6tN.cjs +0 -2
  94. package/build/at1000-DHgno6tN.cjs.map +0 -1
  95. package/build/com-BM8-f4JW.d.cts.map +0 -1
  96. package/build/com-Bu0YGNYX.d.mts.map +0 -1
  97. package/build/com-JaZkZAlG.cjs +0 -2
  98. package/build/com-JaZkZAlG.cjs.map +0 -1
  99. package/build/com-VtVWh7gI.mjs +0 -2
  100. package/build/com-VtVWh7gI.mjs.map +0 -1
package/README.md CHANGED
@@ -23,90 +23,7 @@ npm install @ikalogic/at1000
23
23
 
24
24
  ## Getting Started
25
25
 
26
- The first step is to find your AT1000 device on the network. The following script discovers all connected devices and prints their serial numbers.
27
-
28
- ```typescript
29
- import { findDevices } from '@ikalogic/at1000/discovery';
30
-
31
- async function main() {
32
- console.log('Searching for AT1000 devices...');
33
- const devices = await findDevices();
34
-
35
- if (devices.length === 0) {
36
- console.log('No devices found. Ensure your device is connected to the network.');
37
- return;
38
- }
39
-
40
- console.log(`Found ${devices.length} device(s):`);
41
- for (const device of devices) {
42
- const info = await device.device;
43
- console.log(`- ${info.model} (Serial: ${info.serial_number})`);
44
- }
45
- }
46
-
47
- main().catch(console.error);
48
- ```
49
-
50
- ## Basic Usage Examples
51
-
52
- Once you have a device instance, you can control its features.
53
-
54
- ### Digital I/O
55
-
56
- Configure GPIO pin 5 as a digital input and read its state.
57
-
58
- ```typescript
59
- const device = devices[0];
60
- const testPoint = device.gpio.digital(5);
61
- await testPoint.configure_input();
62
- const state = await testPoint.read();
63
- console.log(`GPIO 5 state: ${state ? 'High' : 'Low'}`);
64
- ```
65
-
66
- ### Relays
67
-
68
- Open and close the first relay (ID 0).
69
-
70
- ```typescript
71
- const relay = device.relays.get(0);
72
- await relay.open();
73
- await new Promise(resolve => setTimeout(resolve, 500)); // Wait 500ms
74
- await relay.close();
75
- ```
76
-
77
- ### Programmable Power Supply
78
-
79
- Set the power supply to 5V and enable the output.
80
-
81
- ```typescript
82
- const psu = device.power;
83
- await psu.set_voltage(5.0);
84
- await psu.enable();
85
- const status = await psu.get_status();
86
- console.log(`PSU enabled: ${status.enabled}, Voltage: ${status.voltage}V`);
87
- ```
88
-
89
- ### HMI (Screen)
90
-
91
- Display a message on the device's screen.
92
-
93
- ```typescript
94
- const screen = device.hmi.screen;
95
- await screen.clear();
96
- await screen.print('Hello, world!');
97
- ```
98
-
99
- ## API Documentation
100
-
101
- For a complete list of methods and capabilities, please refer to the [Official AT1000 API Documentation](https://ikalogic.com/kb/at1000-api/at1000_home/).
102
-
103
- ## Examples
104
-
105
- You can find more detailed and advanced scripts in the `examples/` directory of this package.
106
-
107
- ## Contributing
108
-
109
- Contributions are welcome! Please open an issue to discuss a bug or feature, or submit a pull request with your improvements.
26
+ For a complete guide on setting up and using the AT1000, please refer to the [Getting Started Guide](https://ikalogic.com/kb/at1000-api/100getting-started/).
110
27
 
111
28
  ## License
112
29
 
@@ -1,8 +1,8 @@
1
- import { a as ComApi } from "./com-BM8-f4JW.cjs";
1
+ import { a as ComApi } from "./com-Bau2RVba.cjs";
2
2
  import { n as Device, r as ManagementApi } from "./management-BIDVdvlQ.cjs";
3
- import { s as GpioApi } from "./gpio-CaoUf_cd.cjs";
4
- import { r as HmiApi } from "./hmi-Des_V5c0.cjs";
5
- import { i as PowerApi } from "./power-CQm1EIoO.cjs";
3
+ import { s as GpioApi } from "./gpio-DGcccQh6.cjs";
4
+ import { r as HmiApi } from "./hmi-C1-vU40b.cjs";
5
+ import { i as PowerApi } from "./power-CSNvBKgh.cjs";
6
6
  import { n as RelaysApi } from "./relays-Bn8LBgWl.cjs";
7
7
 
8
8
  //#region src/at1000.d.ts
@@ -47,4 +47,4 @@ declare class AT1000Base {
47
47
  }
48
48
  //#endregion
49
49
  export { AT1000Base as t };
50
- //# sourceMappingURL=at1000-TLdyugD_.d.cts.map
50
+ //# sourceMappingURL=at1000-BhiyEaDO.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"at1000-DMGESusk.d.mts","names":[],"sources":["../src/at1000.ts"],"sourcesContent":[],"mappings":";;;;;;;;;cAUa,UAAA;EAAA;;;EAkBU,SAAA,IAAA,EAAA,MAAA;EAIC;;;EAYE,SAAA,MAAA,EA1BA,MA0BA;EAEU,QAAA,KAAA;EAgDvB;;;EAQyC,SAAA,GAAA,EA9E/B,MA8E+B;;;;gBA1E/B;;;;iBAIC;;;;uBAIM;;;;kBAIL;;;;mBAIC;oCAEU;WAgDvB;mCAQkC,QAAQ"}
1
+ {"version":3,"file":"at1000-BhiyEaDO.d.cts","names":[],"sources":["../src/at1000.ts"],"sourcesContent":[],"mappings":";;;;;;;;;cAUa,UAAA;EAAA;;;EAkBU,SAAA,IAAA,EAAA,MAAA;EAIC;;;EAYE,SAAA,MAAA,EA1BA,MA0BA;EAEU,QAAA,KAAA;EAgDvB;;;EAQyC,SAAA,GAAA,EA9E/B,MA8E+B;;;;gBA1E/B;;;;iBAIC;;;;uBAIM;;;;kBAIL;;;;mBAIC;oCAEU;WAgDvB;mCAQkC,QAAQ"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-Bmb41Sf3.cjs`),t=require(`./com-D6zvDfVV.cjs`),n=require(`./gpio-BnyLCBEg.cjs`),r=require(`./hmi-CnTa8kMx.cjs`),i=require(`./management-DHD60Xrp.cjs`),a=require(`./power-PrmE0ai2.cjs`),o=require(`./relays-BK2uL5i_.cjs`);let s=require(`up-fetch`);var c=`0.1.8`,l=class e{host;device;fetch;com;hmi;gpio;management;power;relays;constructor(e,c){this.host=e,this.device=c,this.fetch=(0,s.up)(fetch,()=>({baseUrl:`http://${this.host}/v0`,timeout:1e3,parseRejected:async(e,t)=>{let n,r=e.headers.get(`content-type`);try{n=r?.includes(`application/json`)?await e.json():await e.text()}catch{n=`Failed to parse response body`}throw typeof n==`object`&&[`code`,`message`,`suggestion`,`path`].every(e=>e in n)?Error(`${n.message} (${n.code})\n Suggestion: ${n.suggestion}\n Path: ${n.path}`):Error(`API request to ${t.method} ${e.url} failed with status ${e.status}: ${typeof n==`string`?n:JSON.stringify(n)}`)}})),this.com=new t.n(this.fetch),this.hmi=new r.n(this.fetch),this.gpio=new n.r(this.fetch,this.device),this.management=new i.n(this.fetch),this.power=new a.n(this.fetch,this.device),this.relays=new o.n(this.fetch)}async reset(){await this.com.reset(),await this.hmi.reset(),await this.gpio.reset(),await this.power.reset(),await this.relays.reset()}static create=async t=>new e(t,await new i.n((0,s.up)(fetch,()=>({baseUrl:`http://${t}/v0`,timeout:1e3}))).device())};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
2
+ //# sourceMappingURL=at1000-CgxthtV5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"at1000-CgxthtV5.cjs","names":["errorData: any","ComApi","HmiApi","GpioApi","ManagementApi","PowerApi","RelaysApi"],"sources":["../package.json","../src/at1000.ts"],"sourcesContent":["{\n \"name\": \"@ikalogic/at1000\",\n \"version\": \"0.1.8\",\n \"description\": \"Ikalogic AT1000 API\",\n \"type\": \"module\",\n \"main\": \"./build/node.cjs\",\n \"module\": \"./build/node.mjs\",\n \"types\": \"./build/node.d.cts\",\n \"license\": \"MIT\",\n \"homepage\": \"https://ikalogic.com/test-sequencers/at1000/intro/\",\n \"readme\": \"README.md\",\n \"files\": [\n \"build\"\n ],\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"exports\": {\n \".\": {\n \"import\": {\n \"types\": \"./build/node.d.mts\",\n \"browser\": \"./build/browser.mjs\",\n \"node\": \"./build/node.mjs\",\n \"default\": \"./build/node.mjs\"\n },\n \"require\": {\n \"types\": \"./build/node.d.cts\",\n \"browser\": \"./build/browser.cjs\",\n \"node\": \"./build/node.cjs\",\n \"default\": \"./build/node.cjs\"\n }\n },\n \"./com\": {\n \"import\": {\n \"types\": \"./build/com.d.mts\",\n \"default\": \"./build/com.mjs\"\n },\n \"require\": {\n \"types\": \"./build/com.d.cts\",\n \"default\": \"./build/com.cjs\"\n }\n },\n \"./gpio\": {\n \"import\": {\n \"types\": \"./build/gpio.d.mts\",\n \"default\": \"./build/gpio.mjs\"\n },\n \"require\": {\n \"types\": \"./build/gpio.d.cts\",\n \"default\": \"./build/gpio.cjs\"\n }\n },\n \"./hmi\": {\n \"import\": {\n \"types\": \"./build/hmi.d.mts\",\n \"default\": \"./build/hmi.mjs\"\n },\n \"require\": {\n \"types\": \"./build/hmi.d.cts\",\n \"default\": \"./build/hmi.cjs\"\n }\n },\n \"./management\": {\n \"import\": {\n \"types\": \"./build/management.d.mts\",\n \"default\": \"./build/management.mjs\"\n },\n \"require\": {\n \"types\": \"./build/management.d.cts\",\n \"default\": \"./build/management.cjs\"\n }\n },\n \"./power\": {\n \"import\": {\n \"types\": \"./build/power.d.mts\",\n \"default\": \"./build/power.mjs\"\n },\n \"require\": {\n \"types\": \"./build/power.d.cts\",\n \"default\": \"./build/power.cjs\"\n }\n },\n \"./relays\": {\n \"import\": {\n \"types\": \"./build/relays.d.mts\",\n \"default\": \"./build/relays.mjs\"\n },\n \"require\": {\n \"types\": \"./build/relays.d.cts\",\n \"default\": \"./build/relays.cjs\"\n }\n },\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"build\": \"bun --bun tsdown && bun --bun publint\",\n \"check\": \"bun run typecheck && bun --bun oxlint --type-aware --deny-warnings\",\n \"dev\": \"bun --bun tsdown --watch\",\n \"typecheck\": \"bun --bun tsc --noEmit\",\n \"release\": \"bun publish\",\n \"test\": \"bun test --coverage\",\n \"docs\": \"bun typedoc-pkg -o build/docs\"\n },\n \"dependencies\": {\n \"dns-packet\": \"^5.6.1\",\n \"ip-address\": \"^10.1.0\",\n \"up-fetch\": \"^2.5.0\",\n \"valibot\": \"^1.1.0\"\n },\n \"devDependencies\": {\n \"@arethetypeswrong/core\": \"^0.18.2\",\n \"@types/bun\": \"^1.3.3\",\n \"@types/dns-packet\": \"^5.6.5\",\n \"@types/node\": \"^24.10.1\",\n \"@typhonjs-typedoc/typedoc-pkg\": \"^0.4.0\",\n \"publint\": \"^0.3.15\",\n \"tsdown\": \"^0.16.6\",\n \"typedoc\": \"^0.28.14\",\n \"typescript\": \"^5.9.3\"\n },\n \"typedocOptions\": {\n \"out\": \"build/docs\",\n \"entryPoints\": [\n \"./src/browser.ts\",\n \"./src/node.ts\",\n \"./src/api/*\"\n ]\n }\n}\n","import { up, type UpFetch } from 'up-fetch';\n\nimport { ComApi } from './api/com';\nimport { GpioApi } from './api/gpio';\nimport { HmiApi } from './api/hmi';\nimport { type Device, ManagementApi } from './api/management';\nimport { PowerApi } from './api/power';\nimport { RelaysApi } from './api/relays';\n\n/** @hideconstructor */\nexport class AT1000Base {\n /**\n * IP address or hostname of the AT1000 device\n */\n public readonly host: string;\n /**\n * Device information\n */\n public readonly device: Device;\n\n private fetch: UpFetch;\n /**\n * COM API\n */\n public readonly com: ComApi;\n /**\n * HMI API\n */\n public readonly hmi: HmiApi;\n /**\n * GPIO API\n */\n public readonly gpio: GpioApi;\n /**\n * Management API\n */\n public readonly management: ManagementApi;\n /**\n * Power management API\n */\n public readonly power: PowerApi;\n /**\n * Relays API\n */\n public readonly relays: RelaysApi;\n\n constructor(host: string, device: Device) {\n this.host = host;\n this.device = device;\n\n this.fetch = up(\n fetch,\n () => ({\n baseUrl: `http://${this.host}/v0`,\n timeout: 1000,\n parseRejected: async (response, request) => {\n let errorData: any;\n const contentType = response.headers.get('content-type');\n try {\n if (contentType?.includes('application/json')) {\n errorData = await response.json();\n } else {\n errorData = await response.text();\n }\n } catch {\n errorData = 'Failed to parse response body';\n }\n\n if (\n typeof errorData === 'object'\n && ['code', 'message', 'suggestion', 'path'].every((key) => key in errorData)\n ) {\n throw new Error(\n `${errorData.message} (${errorData.code})\\n Suggestion: ${errorData.suggestion}\\n Path: ${errorData.path}`,\n );\n }\n\n throw new Error(\n `API request to ${request.method} ${response.url} failed with status ${response.status}: ${\n typeof errorData === 'string' ? errorData : JSON.stringify(errorData)\n }`,\n );\n },\n }),\n );\n\n this.com = new ComApi(this.fetch);\n this.hmi = new HmiApi(this.fetch);\n this.gpio = new GpioApi(this.fetch, this.device);\n this.management = new ManagementApi(this.fetch);\n this.power = new PowerApi(this.fetch, this.device);\n this.relays = new RelaysApi(this.fetch);\n }\n\n async reset() {\n await this.com.reset();\n await this.hmi.reset();\n await this.gpio.reset();\n await this.power.reset();\n await this.relays.reset();\n }\n\n public static create = async (host: string): Promise<AT1000Base> => {\n // Create a temporary client to fetch device info\n const management = new ManagementApi(\n up(fetch, () => ({ baseUrl: `http://${host}/v0`, timeout: 1000 })),\n );\n const device = await management.device();\n\n return new AT1000Base(host, device);\n };\n}\n"],"mappings":"qRAEa,QCQA,EAAb,MAAa,CAAW,CAItB,KAIA,OAEA,MAIA,IAIA,IAIA,KAIA,WAIA,MAIA,OAEA,YAAY,EAAc,EAAgB,CACxC,KAAK,KAAO,EACZ,KAAK,OAAS,EAEd,KAAK,OAAA,EAAA,EAAA,IACH,WACO,CACL,QAAS,UAAU,KAAK,KAAK,KAC7B,QAAS,IACT,cAAe,MAAO,EAAU,IAAY,CAC1C,IAAIA,EACE,EAAc,EAAS,QAAQ,IAAI,eAAe,CACxD,GAAI,CACF,AAGE,EAHE,GAAa,SAAS,mBAAmB,CAC/B,MAAM,EAAS,MAAM,CAErB,MAAM,EAAS,MAAM,MAE7B,CACN,EAAY,gCAYd,MARE,OAAO,GAAc,UAClB,CAAC,OAAQ,UAAW,aAAc,OAAO,CAAC,MAAO,GAAQ,KAAO,EAAU,CAEnE,MACR,GAAG,EAAU,QAAQ,IAAI,EAAU,KAAK,qBAAqB,EAAU,WAAW,cAAc,EAAU,OAC3G,CAGO,MACR,kBAAkB,EAAQ,OAAO,GAAG,EAAS,IAAI,sBAAsB,EAAS,OAAO,IACrF,OAAO,GAAc,SAAW,EAAY,KAAK,UAAU,EAAU,GAExE,EAEJ,EACF,CAED,KAAK,IAAM,IAAIC,EAAAA,EAAO,KAAK,MAAM,CACjC,KAAK,IAAM,IAAIC,EAAAA,EAAO,KAAK,MAAM,CACjC,KAAK,KAAO,IAAIC,EAAAA,EAAQ,KAAK,MAAO,KAAK,OAAO,CAChD,KAAK,WAAa,IAAIC,EAAAA,EAAc,KAAK,MAAM,CAC/C,KAAK,MAAQ,IAAIC,EAAAA,EAAS,KAAK,MAAO,KAAK,OAAO,CAClD,KAAK,OAAS,IAAIC,EAAAA,EAAU,KAAK,MAAM,CAGzC,MAAM,OAAQ,CACZ,MAAM,KAAK,IAAI,OAAO,CACtB,MAAM,KAAK,IAAI,OAAO,CACtB,MAAM,KAAK,KAAK,OAAO,CACvB,MAAM,KAAK,MAAM,OAAO,CACxB,MAAM,KAAK,OAAO,OAAO,CAG3B,OAAc,OAAS,KAAO,IAOrB,IAAI,EAAW,EAFP,MAHI,IAAIF,EAAAA,GAAAA,EAAAA,EAAAA,IAClB,WAAc,CAAE,QAAS,UAAU,EAAK,KAAM,QAAS,IAAM,EAAE,CACnE,CAC+B,QAAQ,CAEL"}
@@ -1,8 +1,8 @@
1
- import { a as ComApi } from "./com-Bu0YGNYX.mjs";
1
+ import { a as ComApi } from "./com-Bd30LXVW.mjs";
2
2
  import { n as Device, r as ManagementApi } from "./management-CwNeejKZ.mjs";
3
- import { s as GpioApi } from "./gpio-91G-W2m3.mjs";
4
- import { r as HmiApi } from "./hmi-BSBsQPEN.mjs";
5
- import { i as PowerApi } from "./power-CbQidLPp.mjs";
3
+ import { s as GpioApi } from "./gpio-CvLKWnSo.mjs";
4
+ import { r as HmiApi } from "./hmi-CIOjZVch.mjs";
5
+ import { i as PowerApi } from "./power-Cefqtt9P.mjs";
6
6
  import { n as RelaysApi } from "./relays-CkBk7SOg.mjs";
7
7
 
8
8
  //#region src/at1000.d.ts
@@ -47,4 +47,4 @@ declare class AT1000Base {
47
47
  }
48
48
  //#endregion
49
49
  export { AT1000Base as t };
50
- //# sourceMappingURL=at1000-DMGESusk.d.mts.map
50
+ //# sourceMappingURL=at1000-CtJGQzs4.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"at1000-TLdyugD_.d.cts","names":[],"sources":["../src/at1000.ts"],"sourcesContent":[],"mappings":";;;;;;;;;cAUa,UAAA;EAAA;;;EAkBU,SAAA,IAAA,EAAA,MAAA;EAIC;;;EAYE,SAAA,MAAA,EA1BA,MA0BA;EAEU,QAAA,KAAA;EAgDvB;;;EAQyC,SAAA,GAAA,EA9E/B,MA8E+B;;;;gBA1E/B;;;;iBAIC;;;;uBAIM;;;;kBAIL;;;;mBAIC;oCAEU;WAgDvB;mCAQkC,QAAQ"}
1
+ {"version":3,"file":"at1000-CtJGQzs4.d.mts","names":[],"sources":["../src/at1000.ts"],"sourcesContent":[],"mappings":";;;;;;;;;cAUa,UAAA;EAAA;;;EAkBU,SAAA,IAAA,EAAA,MAAA;EAIC;;;EAYE,SAAA,MAAA,EA1BA,MA0BA;EAEU,QAAA,KAAA;EAgDvB;;;EAQyC,SAAA,GAAA,EA9E/B,MA8E+B;;;;gBA1E/B;;;;iBAIC;;;;uBAIM;;;;kBAIL;;;;mBAIC;oCAEU;WAgDvB;mCAQkC,QAAQ"}
@@ -0,0 +1,2 @@
1
+ import{n as e}from"./com-Bq-d2n2_.mjs";import{r as t}from"./gpio-bjzKV_Vy.mjs";import{n}from"./hmi-CTx2jfxU.mjs";import{n as r}from"./management-BKLSOMbM.mjs";import{n as i}from"./power-hwld3j5a.mjs";import{n as a}from"./relays-CqglfFwF.mjs";import{up as o}from"up-fetch";var s=`0.1.8`,c=class s{host;device;fetch;com;hmi;gpio;management;power;relays;constructor(s,c){this.host=s,this.device=c,this.fetch=o(fetch,()=>({baseUrl:`http://${this.host}/v0`,timeout:1e3,parseRejected:async(e,t)=>{let n,r=e.headers.get(`content-type`);try{n=r?.includes(`application/json`)?await e.json():await e.text()}catch{n=`Failed to parse response body`}throw typeof n==`object`&&[`code`,`message`,`suggestion`,`path`].every(e=>e in n)?Error(`${n.message} (${n.code})\n Suggestion: ${n.suggestion}\n Path: ${n.path}`):Error(`API request to ${t.method} ${e.url} failed with status ${e.status}: ${typeof n==`string`?n:JSON.stringify(n)}`)}})),this.com=new e(this.fetch),this.hmi=new n(this.fetch),this.gpio=new t(this.fetch,this.device),this.management=new r(this.fetch),this.power=new i(this.fetch,this.device),this.relays=new a(this.fetch)}async reset(){await this.com.reset(),await this.hmi.reset(),await this.gpio.reset(),await this.power.reset(),await this.relays.reset()}static create=async e=>new s(e,await new r(o(fetch,()=>({baseUrl:`http://${e}/v0`,timeout:1e3}))).device())};export{s as n,c as t};
2
+ //# sourceMappingURL=at1000-zvuVNh5z.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"at1000-zvuVNh5z.mjs","names":["errorData: any"],"sources":["../package.json","../src/at1000.ts"],"sourcesContent":["{\n \"name\": \"@ikalogic/at1000\",\n \"version\": \"0.1.8\",\n \"description\": \"Ikalogic AT1000 API\",\n \"type\": \"module\",\n \"main\": \"./build/node.cjs\",\n \"module\": \"./build/node.mjs\",\n \"types\": \"./build/node.d.cts\",\n \"license\": \"MIT\",\n \"homepage\": \"https://ikalogic.com/test-sequencers/at1000/intro/\",\n \"readme\": \"README.md\",\n \"files\": [\n \"build\"\n ],\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"exports\": {\n \".\": {\n \"import\": {\n \"types\": \"./build/node.d.mts\",\n \"browser\": \"./build/browser.mjs\",\n \"node\": \"./build/node.mjs\",\n \"default\": \"./build/node.mjs\"\n },\n \"require\": {\n \"types\": \"./build/node.d.cts\",\n \"browser\": \"./build/browser.cjs\",\n \"node\": \"./build/node.cjs\",\n \"default\": \"./build/node.cjs\"\n }\n },\n \"./com\": {\n \"import\": {\n \"types\": \"./build/com.d.mts\",\n \"default\": \"./build/com.mjs\"\n },\n \"require\": {\n \"types\": \"./build/com.d.cts\",\n \"default\": \"./build/com.cjs\"\n }\n },\n \"./gpio\": {\n \"import\": {\n \"types\": \"./build/gpio.d.mts\",\n \"default\": \"./build/gpio.mjs\"\n },\n \"require\": {\n \"types\": \"./build/gpio.d.cts\",\n \"default\": \"./build/gpio.cjs\"\n }\n },\n \"./hmi\": {\n \"import\": {\n \"types\": \"./build/hmi.d.mts\",\n \"default\": \"./build/hmi.mjs\"\n },\n \"require\": {\n \"types\": \"./build/hmi.d.cts\",\n \"default\": \"./build/hmi.cjs\"\n }\n },\n \"./management\": {\n \"import\": {\n \"types\": \"./build/management.d.mts\",\n \"default\": \"./build/management.mjs\"\n },\n \"require\": {\n \"types\": \"./build/management.d.cts\",\n \"default\": \"./build/management.cjs\"\n }\n },\n \"./power\": {\n \"import\": {\n \"types\": \"./build/power.d.mts\",\n \"default\": \"./build/power.mjs\"\n },\n \"require\": {\n \"types\": \"./build/power.d.cts\",\n \"default\": \"./build/power.cjs\"\n }\n },\n \"./relays\": {\n \"import\": {\n \"types\": \"./build/relays.d.mts\",\n \"default\": \"./build/relays.mjs\"\n },\n \"require\": {\n \"types\": \"./build/relays.d.cts\",\n \"default\": \"./build/relays.cjs\"\n }\n },\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"build\": \"bun --bun tsdown && bun --bun publint\",\n \"check\": \"bun run typecheck && bun --bun oxlint --type-aware --deny-warnings\",\n \"dev\": \"bun --bun tsdown --watch\",\n \"typecheck\": \"bun --bun tsc --noEmit\",\n \"release\": \"bun publish\",\n \"test\": \"bun test --coverage\",\n \"docs\": \"bun typedoc-pkg -o build/docs\"\n },\n \"dependencies\": {\n \"dns-packet\": \"^5.6.1\",\n \"ip-address\": \"^10.1.0\",\n \"up-fetch\": \"^2.5.0\",\n \"valibot\": \"^1.1.0\"\n },\n \"devDependencies\": {\n \"@arethetypeswrong/core\": \"^0.18.2\",\n \"@types/bun\": \"^1.3.3\",\n \"@types/dns-packet\": \"^5.6.5\",\n \"@types/node\": \"^24.10.1\",\n \"@typhonjs-typedoc/typedoc-pkg\": \"^0.4.0\",\n \"publint\": \"^0.3.15\",\n \"tsdown\": \"^0.16.6\",\n \"typedoc\": \"^0.28.14\",\n \"typescript\": \"^5.9.3\"\n },\n \"typedocOptions\": {\n \"out\": \"build/docs\",\n \"entryPoints\": [\n \"./src/browser.ts\",\n \"./src/node.ts\",\n \"./src/api/*\"\n ]\n }\n}\n","import { up, type UpFetch } from 'up-fetch';\n\nimport { ComApi } from './api/com';\nimport { GpioApi } from './api/gpio';\nimport { HmiApi } from './api/hmi';\nimport { type Device, ManagementApi } from './api/management';\nimport { PowerApi } from './api/power';\nimport { RelaysApi } from './api/relays';\n\n/** @hideconstructor */\nexport class AT1000Base {\n /**\n * IP address or hostname of the AT1000 device\n */\n public readonly host: string;\n /**\n * Device information\n */\n public readonly device: Device;\n\n private fetch: UpFetch;\n /**\n * COM API\n */\n public readonly com: ComApi;\n /**\n * HMI API\n */\n public readonly hmi: HmiApi;\n /**\n * GPIO API\n */\n public readonly gpio: GpioApi;\n /**\n * Management API\n */\n public readonly management: ManagementApi;\n /**\n * Power management API\n */\n public readonly power: PowerApi;\n /**\n * Relays API\n */\n public readonly relays: RelaysApi;\n\n constructor(host: string, device: Device) {\n this.host = host;\n this.device = device;\n\n this.fetch = up(\n fetch,\n () => ({\n baseUrl: `http://${this.host}/v0`,\n timeout: 1000,\n parseRejected: async (response, request) => {\n let errorData: any;\n const contentType = response.headers.get('content-type');\n try {\n if (contentType?.includes('application/json')) {\n errorData = await response.json();\n } else {\n errorData = await response.text();\n }\n } catch {\n errorData = 'Failed to parse response body';\n }\n\n if (\n typeof errorData === 'object'\n && ['code', 'message', 'suggestion', 'path'].every((key) => key in errorData)\n ) {\n throw new Error(\n `${errorData.message} (${errorData.code})\\n Suggestion: ${errorData.suggestion}\\n Path: ${errorData.path}`,\n );\n }\n\n throw new Error(\n `API request to ${request.method} ${response.url} failed with status ${response.status}: ${\n typeof errorData === 'string' ? errorData : JSON.stringify(errorData)\n }`,\n );\n },\n }),\n );\n\n this.com = new ComApi(this.fetch);\n this.hmi = new HmiApi(this.fetch);\n this.gpio = new GpioApi(this.fetch, this.device);\n this.management = new ManagementApi(this.fetch);\n this.power = new PowerApi(this.fetch, this.device);\n this.relays = new RelaysApi(this.fetch);\n }\n\n async reset() {\n await this.com.reset();\n await this.hmi.reset();\n await this.gpio.reset();\n await this.power.reset();\n await this.relays.reset();\n }\n\n public static create = async (host: string): Promise<AT1000Base> => {\n // Create a temporary client to fetch device info\n const management = new ManagementApi(\n up(fetch, () => ({ baseUrl: `http://${host}/v0`, timeout: 1000 })),\n );\n const device = await management.device();\n\n return new AT1000Base(host, device);\n };\n}\n"],"mappings":"sRAEa,QCQA,EAAb,MAAa,CAAW,CAItB,KAIA,OAEA,MAIA,IAIA,IAIA,KAIA,WAIA,MAIA,OAEA,YAAY,EAAc,EAAgB,CACxC,KAAK,KAAO,EACZ,KAAK,OAAS,EAEd,KAAK,MAAQ,EACX,WACO,CACL,QAAS,UAAU,KAAK,KAAK,KAC7B,QAAS,IACT,cAAe,MAAO,EAAU,IAAY,CAC1C,IAAIA,EACE,EAAc,EAAS,QAAQ,IAAI,eAAe,CACxD,GAAI,CACF,AAGE,EAHE,GAAa,SAAS,mBAAmB,CAC/B,MAAM,EAAS,MAAM,CAErB,MAAM,EAAS,MAAM,MAE7B,CACN,EAAY,gCAYd,MARE,OAAO,GAAc,UAClB,CAAC,OAAQ,UAAW,aAAc,OAAO,CAAC,MAAO,GAAQ,KAAO,EAAU,CAEnE,MACR,GAAG,EAAU,QAAQ,IAAI,EAAU,KAAK,qBAAqB,EAAU,WAAW,cAAc,EAAU,OAC3G,CAGO,MACR,kBAAkB,EAAQ,OAAO,GAAG,EAAS,IAAI,sBAAsB,EAAS,OAAO,IACrF,OAAO,GAAc,SAAW,EAAY,KAAK,UAAU,EAAU,GAExE,EAEJ,EACF,CAED,KAAK,IAAM,IAAI,EAAO,KAAK,MAAM,CACjC,KAAK,IAAM,IAAI,EAAO,KAAK,MAAM,CACjC,KAAK,KAAO,IAAI,EAAQ,KAAK,MAAO,KAAK,OAAO,CAChD,KAAK,WAAa,IAAI,EAAc,KAAK,MAAM,CAC/C,KAAK,MAAQ,IAAI,EAAS,KAAK,MAAO,KAAK,OAAO,CAClD,KAAK,OAAS,IAAI,EAAU,KAAK,MAAM,CAGzC,MAAM,OAAQ,CACZ,MAAM,KAAK,IAAI,OAAO,CACtB,MAAM,KAAK,IAAI,OAAO,CACtB,MAAM,KAAK,KAAK,OAAO,CACvB,MAAM,KAAK,MAAM,OAAO,CACxB,MAAM,KAAK,OAAO,OAAO,CAG3B,OAAc,OAAS,KAAO,IAOrB,IAAI,EAAW,EAFP,MAHI,IAAI,EACrB,EAAG,WAAc,CAAE,QAAS,UAAU,EAAK,KAAM,QAAS,IAAM,EAAE,CACnE,CAC+B,QAAQ,CAEL"}
package/build/browser.cjs CHANGED
@@ -1,2 +1,2 @@
1
- require(`./com-JaZkZAlG.cjs`),require(`./common-DBMgtoTL.cjs`),require(`./gpio-Bz0JdP3l.cjs`),require(`./hmi-DCplypi6.cjs`),require(`./management-B9Tdk00K.cjs`),require(`./power-1yzD9ymI.cjs`),require(`./relays-Mo3ywliK.cjs`);const e=require(`./at1000-DHgno6tN.cjs`);var t=class extends e.t{};exports.AT1000=t;
1
+ const e=require(`./at1000-CgxthtV5.cjs`);require(`./com-D6zvDfVV.cjs`),require(`./common-D2xOY3nO.cjs`),require(`./gpio-BnyLCBEg.cjs`),require(`./hmi-CnTa8kMx.cjs`),require(`./management-DHD60Xrp.cjs`),require(`./power-PrmE0ai2.cjs`),require(`./relays-BK2uL5i_.cjs`);var t=class extends e.t{static apiVersion=e.n};exports.AT1000=t;
2
2
  //# sourceMappingURL=browser.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.cjs","names":["AT1000Base"],"sources":["../src/browser.ts"],"sourcesContent":["import { AT1000Base } from './at1000';\n\n/** @hideconstructor */\nexport class AT1000 extends AT1000Base {}\n"],"mappings":"2QAGA,IAAa,EAAb,cAA4BA,EAAAA,CAAW"}
1
+ {"version":3,"file":"browser.cjs","names":["AT1000Base","version"],"sources":["../src/browser.ts"],"sourcesContent":["import { version } from '../package.json';\nimport { AT1000Base } from './at1000';\n\n/** @hideconstructor */\nexport class AT1000 extends AT1000Base {\n static readonly apiVersion = version;\n}\n"],"mappings":"2QAIA,IAAa,EAAb,cAA4BA,EAAAA,CAAW,CACrC,OAAgB,WAAaC,EAAAA"}
@@ -1,15 +1,17 @@
1
- import "./com-BM8-f4JW.cjs";
1
+ import "./com-Bau2RVba.cjs";
2
2
  import "./common-DAOxX-Zx.cjs";
3
3
  import "./management-BIDVdvlQ.cjs";
4
- import "./gpio-CaoUf_cd.cjs";
5
- import "./hmi-Des_V5c0.cjs";
6
- import "./power-CQm1EIoO.cjs";
4
+ import "./gpio-DGcccQh6.cjs";
5
+ import "./hmi-C1-vU40b.cjs";
6
+ import "./power-CSNvBKgh.cjs";
7
7
  import "./relays-Bn8LBgWl.cjs";
8
- import { t as AT1000Base } from "./at1000-TLdyugD_.cjs";
8
+ import { t as AT1000Base } from "./at1000-BhiyEaDO.cjs";
9
9
 
10
10
  //#region src/browser.d.ts
11
11
  /** @hideconstructor */
12
- declare class AT1000 extends AT1000Base {}
12
+ declare class AT1000 extends AT1000Base {
13
+ static readonly apiVersion: string;
14
+ }
13
15
  //#endregion
14
16
  export { AT1000 };
15
17
  //# sourceMappingURL=browser.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.cts","names":[],"sources":["../src/browser.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;cAGa,MAAA,SAAe,UAAA"}
1
+ {"version":3,"file":"browser.d.cts","names":[],"sources":["../src/browser.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;cAIa,MAAA,SAAe,UAAA"}
@@ -1,15 +1,17 @@
1
- import "./com-Bu0YGNYX.mjs";
1
+ import "./com-Bd30LXVW.mjs";
2
2
  import "./common-SiysH9tt.mjs";
3
3
  import "./management-CwNeejKZ.mjs";
4
- import "./gpio-91G-W2m3.mjs";
5
- import "./hmi-BSBsQPEN.mjs";
6
- import "./power-CbQidLPp.mjs";
4
+ import "./gpio-CvLKWnSo.mjs";
5
+ import "./hmi-CIOjZVch.mjs";
6
+ import "./power-Cefqtt9P.mjs";
7
7
  import "./relays-CkBk7SOg.mjs";
8
- import { t as AT1000Base } from "./at1000-DMGESusk.mjs";
8
+ import { t as AT1000Base } from "./at1000-CtJGQzs4.mjs";
9
9
 
10
10
  //#region src/browser.d.ts
11
11
  /** @hideconstructor */
12
- declare class AT1000 extends AT1000Base {}
12
+ declare class AT1000 extends AT1000Base {
13
+ static readonly apiVersion: string;
14
+ }
13
15
  //#endregion
14
16
  export { AT1000 };
15
17
  //# sourceMappingURL=browser.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.mts","names":[],"sources":["../src/browser.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;cAGa,MAAA,SAAe,UAAA"}
1
+ {"version":3,"file":"browser.d.mts","names":[],"sources":["../src/browser.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;cAIa,MAAA,SAAe,UAAA"}
package/build/browser.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import"./com-VtVWh7gI.mjs";import"./common-B6_Yo59b.mjs";import"./gpio-CGsMbcQN.mjs";import"./hmi-CocSngQM.mjs";import"./management-CXGT-yoC.mjs";import"./power-DqULYfeX.mjs";import"./relays-BPQj7abl.mjs";import{t as e}from"./at1000-C4IWLsB5.mjs";var t=class extends e{};export{t as AT1000};
1
+ import{n as e,t}from"./at1000-zvuVNh5z.mjs";import"./com-Bq-d2n2_.mjs";import"./common-CZE1OCJG.mjs";import"./gpio-bjzKV_Vy.mjs";import"./hmi-CTx2jfxU.mjs";import"./management-BKLSOMbM.mjs";import"./power-hwld3j5a.mjs";import"./relays-CqglfFwF.mjs";var n=class extends t{static apiVersion=e};export{n as AT1000};
2
2
  //# sourceMappingURL=browser.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.mjs","names":[],"sources":["../src/browser.ts"],"sourcesContent":["import { AT1000Base } from './at1000';\n\n/** @hideconstructor */\nexport class AT1000 extends AT1000Base {}\n"],"mappings":"uPAGA,IAAa,EAAb,cAA4B,CAAW"}
1
+ {"version":3,"file":"browser.mjs","names":[],"sources":["../src/browser.ts"],"sourcesContent":["import { version } from '../package.json';\nimport { AT1000Base } from './at1000';\n\n/** @hideconstructor */\nexport class AT1000 extends AT1000Base {\n static readonly apiVersion = version;\n}\n"],"mappings":"yPAIA,IAAa,EAAb,cAA4B,CAAW,CACrC,OAAgB,WAAa"}
@@ -7,14 +7,14 @@ declare const canFrame: v.ObjectSchema<{
7
7
  readonly data: v.SchemaWithPipe<readonly [v.ArraySchema<v.NumberSchema<undefined>, undefined>, v.MinLengthAction<number[], 0, undefined>, v.MaxLengthAction<number[], 8, undefined>]>;
8
8
  }, undefined>;
9
9
  type CanFrame = v.InferOutput<typeof canFrame>;
10
- declare const serialData: v.SchemaWithPipe<readonly [v.ArraySchema<v.NumberSchema<undefined>, undefined>, v.MinLengthAction<number[], 0, undefined>, v.MaxLengthAction<number[], 1024, undefined>]>;
10
+ declare const serialData: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 255, undefined>]>, undefined>, v.MinLengthAction<number[], 0, undefined>, v.MaxLengthAction<number[], 1024, undefined>]>;
11
11
  type SerialData = v.InferOutput<typeof serialData>;
12
12
  declare const i2cTransactionRead: v.IntersectSchema<[Omit<v.ObjectSchema<{
13
13
  readonly address: v.NumberSchema<undefined>;
14
14
  readonly start: v.BooleanSchema<undefined>;
15
15
  readonly stop: v.BooleanSchema<undefined>;
16
16
  readonly nack_last_byte: v.BooleanSchema<undefined>;
17
- }, undefined>, "~standard" | "~types" | "~run" | "entries"> & {
17
+ }, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
18
18
  readonly entries: {
19
19
  readonly address: v.NumberSchema<undefined>;
20
20
  readonly start: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
@@ -37,7 +37,7 @@ declare const i2cTransactionRead: v.IntersectSchema<[Omit<v.ObjectSchema<{
37
37
  start?: boolean | undefined;
38
38
  stop?: boolean | undefined;
39
39
  nack_last_byte?: boolean | undefined;
40
- }, v.BooleanIssue | v.NumberIssue | v.ObjectIssue>;
40
+ }, v.NumberIssue | v.BooleanIssue | v.ObjectIssue>;
41
41
  readonly '~types'?: {
42
42
  readonly input: {
43
43
  address: number;
@@ -51,7 +51,7 @@ declare const i2cTransactionRead: v.IntersectSchema<[Omit<v.ObjectSchema<{
51
51
  stop?: boolean | undefined;
52
52
  nack_last_byte?: boolean | undefined;
53
53
  };
54
- readonly issue: v.BooleanIssue | v.NumberIssue | v.ObjectIssue;
54
+ readonly issue: v.NumberIssue | v.BooleanIssue | v.ObjectIssue;
55
55
  } | undefined;
56
56
  }, v.ObjectSchema<{
57
57
  readonly length: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1024, undefined>]>;
@@ -62,7 +62,7 @@ declare const i2cTransactionWrite: v.IntersectSchema<[Omit<v.ObjectSchema<{
62
62
  readonly start: v.BooleanSchema<undefined>;
63
63
  readonly stop: v.BooleanSchema<undefined>;
64
64
  readonly nack_last_byte: v.BooleanSchema<undefined>;
65
- }, undefined>, "~standard" | "~types" | "~run" | "entries"> & {
65
+ }, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
66
66
  readonly entries: {
67
67
  readonly address: v.NumberSchema<undefined>;
68
68
  readonly start: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
@@ -85,7 +85,7 @@ declare const i2cTransactionWrite: v.IntersectSchema<[Omit<v.ObjectSchema<{
85
85
  start?: boolean | undefined;
86
86
  stop?: boolean | undefined;
87
87
  nack_last_byte?: boolean | undefined;
88
- }, v.BooleanIssue | v.NumberIssue | v.ObjectIssue>;
88
+ }, v.NumberIssue | v.BooleanIssue | v.ObjectIssue>;
89
89
  readonly '~types'?: {
90
90
  readonly input: {
91
91
  address: number;
@@ -99,10 +99,10 @@ declare const i2cTransactionWrite: v.IntersectSchema<[Omit<v.ObjectSchema<{
99
99
  stop?: boolean | undefined;
100
100
  nack_last_byte?: boolean | undefined;
101
101
  };
102
- readonly issue: v.BooleanIssue | v.NumberIssue | v.ObjectIssue;
102
+ readonly issue: v.NumberIssue | v.BooleanIssue | v.ObjectIssue;
103
103
  } | undefined;
104
104
  }, v.ObjectSchema<{
105
- readonly data: v.SchemaWithPipe<readonly [v.ArraySchema<v.NumberSchema<undefined>, undefined>, v.MinLengthAction<number[], 0, undefined>, v.MaxLengthAction<number[], 1024, undefined>]>;
105
+ readonly data: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 255, undefined>]>, undefined>, v.MinLengthAction<number[], 0, undefined>, v.MaxLengthAction<number[], 1024, undefined>]>;
106
106
  }, undefined>], undefined>;
107
107
  type I2cTransactionWrite = v.InferOutput<typeof i2cTransactionWrite>;
108
108
  declare const canConfig: v.ObjectSchema<{
@@ -125,7 +125,7 @@ declare const canConfigPatch: Omit<v.ObjectSchema<{
125
125
  readonly id: v.NumberSchema<undefined>;
126
126
  readonly mask: v.NumberSchema<undefined>;
127
127
  }, undefined>;
128
- }, undefined>, "~standard" | "~types" | "~run" | "entries"> & {
128
+ }, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
129
129
  readonly entries: {
130
130
  readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
131
131
  readonly baud_rate: v.OptionalSchema<v.PicklistSchema<[5000, 10000, 20000, 31250, 33000, 40000, 50000, 80000, 83300, 95000, 100000, 125000, 200000, 250000, 500000, 1000000], undefined>, undefined>;
@@ -164,7 +164,7 @@ declare const canConfigPatch: Omit<v.ObjectSchema<{
164
164
  id: number;
165
165
  mask: number;
166
166
  } | undefined;
167
- }, v.PicklistIssue | v.BooleanIssue | v.NumberIssue | v.ObjectIssue>;
167
+ }, v.NumberIssue | v.BooleanIssue | v.PicklistIssue | v.ObjectIssue>;
168
168
  readonly '~types'?: {
169
169
  readonly input: {
170
170
  enabled?: boolean | undefined;
@@ -186,7 +186,7 @@ declare const canConfigPatch: Omit<v.ObjectSchema<{
186
186
  mask: number;
187
187
  } | undefined;
188
188
  };
189
- readonly issue: v.PicklistIssue | v.BooleanIssue | v.NumberIssue | v.ObjectIssue;
189
+ readonly issue: v.NumberIssue | v.BooleanIssue | v.PicklistIssue | v.ObjectIssue;
190
190
  } | undefined;
191
191
  };
192
192
  type CanConfigPatch = v.InferOutput<typeof canConfigPatch>;
@@ -198,7 +198,7 @@ type Rs232Config = v.InferOutput<typeof rs232Config>;
198
198
  declare const rs232ConfigPatch: Omit<v.ObjectSchema<{
199
199
  readonly enabled: v.BooleanSchema<undefined>;
200
200
  readonly baud_rate: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 300, undefined>, v.MaxValueAction<number, 1000000, undefined>]>;
201
- }, undefined>, "~standard" | "~types" | "~run" | "entries"> & {
201
+ }, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
202
202
  readonly entries: {
203
203
  readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
204
204
  readonly baud_rate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 300, undefined>, v.MaxValueAction<number, 1000000, undefined>]>, undefined>;
@@ -213,7 +213,7 @@ declare const rs232ConfigPatch: Omit<v.ObjectSchema<{
213
213
  readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
214
214
  enabled?: boolean | undefined;
215
215
  baud_rate?: number | undefined;
216
- }, v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MaxValueIssue<number, 1000000>>;
216
+ }, v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MaxValueIssue<number, 1000000>>;
217
217
  readonly '~types'?: {
218
218
  readonly input: {
219
219
  enabled?: boolean | undefined;
@@ -223,7 +223,7 @@ declare const rs232ConfigPatch: Omit<v.ObjectSchema<{
223
223
  enabled?: boolean | undefined;
224
224
  baud_rate?: number | undefined;
225
225
  };
226
- readonly issue: v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MaxValueIssue<number, 1000000>;
226
+ readonly issue: v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MaxValueIssue<number, 1000000>;
227
227
  } | undefined;
228
228
  };
229
229
  type Rs232ConfigPatch = v.InferOutput<typeof rs232ConfigPatch>;
@@ -237,7 +237,7 @@ declare const rs485ConfigPatch: Omit<v.ObjectSchema<{
237
237
  readonly enabled: v.BooleanSchema<undefined>;
238
238
  readonly baud_rate: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 300, undefined>, v.MaxValueAction<number, 20000000, undefined>]>;
239
239
  readonly termination_resistors: v.BooleanSchema<undefined>;
240
- }, undefined>, "~standard" | "~types" | "~run" | "entries"> & {
240
+ }, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
241
241
  readonly entries: {
242
242
  readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
243
243
  readonly baud_rate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 300, undefined>, v.MaxValueAction<number, 20000000, undefined>]>, undefined>;
@@ -256,7 +256,7 @@ declare const rs485ConfigPatch: Omit<v.ObjectSchema<{
256
256
  enabled?: boolean | undefined;
257
257
  baud_rate?: number | undefined;
258
258
  termination_resistors?: boolean | undefined;
259
- }, v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MaxValueIssue<number, 20000000>>;
259
+ }, v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MaxValueIssue<number, 20000000>>;
260
260
  readonly '~types'?: {
261
261
  readonly input: {
262
262
  enabled?: boolean | undefined;
@@ -268,24 +268,24 @@ declare const rs485ConfigPatch: Omit<v.ObjectSchema<{
268
268
  baud_rate?: number | undefined;
269
269
  termination_resistors?: boolean | undefined;
270
270
  };
271
- readonly issue: v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MaxValueIssue<number, 20000000>;
271
+ readonly issue: v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MaxValueIssue<number, 20000000>;
272
272
  } | undefined;
273
273
  };
274
274
  type Rs485ConfigPatch = v.InferOutput<typeof rs485ConfigPatch>;
275
275
  declare const spiConfig: v.ObjectSchema<{
276
276
  readonly enabled: v.BooleanSchema<undefined>;
277
- readonly baud_rate: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 300, undefined>, v.MaxValueAction<number, 24000000, undefined>]>;
277
+ readonly baud_rate: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 300, undefined>, v.MaxValueAction<number, 10000000, undefined>]>;
278
278
  readonly vcc: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1.6, undefined>, v.MaxValueAction<number, 5, undefined>]>;
279
279
  }, undefined>;
280
280
  type SpiConfig = v.InferOutput<typeof spiConfig>;
281
281
  declare const spiConfigPatch: Omit<v.ObjectSchema<{
282
282
  readonly enabled: v.BooleanSchema<undefined>;
283
- readonly baud_rate: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 300, undefined>, v.MaxValueAction<number, 24000000, undefined>]>;
283
+ readonly baud_rate: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 300, undefined>, v.MaxValueAction<number, 10000000, undefined>]>;
284
284
  readonly vcc: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1.6, undefined>, v.MaxValueAction<number, 5, undefined>]>;
285
- }, undefined>, "~standard" | "~types" | "~run" | "entries"> & {
285
+ }, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
286
286
  readonly entries: {
287
287
  readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
288
- readonly baud_rate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 300, undefined>, v.MaxValueAction<number, 24000000, undefined>]>, undefined>;
288
+ readonly baud_rate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 300, undefined>, v.MaxValueAction<number, 10000000, undefined>]>, undefined>;
289
289
  readonly vcc: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1.6, undefined>, v.MaxValueAction<number, 5, undefined>]>, undefined>;
290
290
  };
291
291
  readonly '~standard': v.StandardProps<{
@@ -301,7 +301,7 @@ declare const spiConfigPatch: Omit<v.ObjectSchema<{
301
301
  enabled?: boolean | undefined;
302
302
  baud_rate?: number | undefined;
303
303
  vcc?: number | undefined;
304
- }, v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MaxValueIssue<number, 24000000> | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5>>;
304
+ }, v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MaxValueIssue<number, 10000000> | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5>>;
305
305
  readonly '~types'?: {
306
306
  readonly input: {
307
307
  enabled?: boolean | undefined;
@@ -313,7 +313,7 @@ declare const spiConfigPatch: Omit<v.ObjectSchema<{
313
313
  baud_rate?: number | undefined;
314
314
  vcc?: number | undefined;
315
315
  };
316
- readonly issue: v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MaxValueIssue<number, 24000000> | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5>;
316
+ readonly issue: v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MaxValueIssue<number, 10000000> | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5>;
317
317
  } | undefined;
318
318
  };
319
319
  type SpiConfigPatch = v.InferOutput<typeof spiConfigPatch>;
@@ -327,7 +327,7 @@ declare const i2cConfigPatch: Omit<v.ObjectSchema<{
327
327
  readonly enabled: v.BooleanSchema<undefined>;
328
328
  readonly baud_rate: v.PicklistSchema<[100000, 400000, 1000000], undefined>;
329
329
  readonly vcc: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1.6, undefined>, v.MaxValueAction<number, 5, undefined>]>;
330
- }, undefined>, "~standard" | "~types" | "~run" | "entries"> & {
330
+ }, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
331
331
  readonly entries: {
332
332
  readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
333
333
  readonly baud_rate: v.OptionalSchema<v.PicklistSchema<[100000, 400000, 1000000], undefined>, undefined>;
@@ -346,7 +346,7 @@ declare const i2cConfigPatch: Omit<v.ObjectSchema<{
346
346
  enabled?: boolean | undefined;
347
347
  baud_rate?: 100000 | 1000000 | 400000 | undefined;
348
348
  vcc?: number | undefined;
349
- }, v.PicklistIssue | v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5>>;
349
+ }, v.NumberIssue | v.BooleanIssue | v.PicklistIssue | v.ObjectIssue | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5>>;
350
350
  readonly '~types'?: {
351
351
  readonly input: {
352
352
  enabled?: boolean | undefined;
@@ -358,7 +358,7 @@ declare const i2cConfigPatch: Omit<v.ObjectSchema<{
358
358
  baud_rate?: 100000 | 1000000 | 400000 | undefined;
359
359
  vcc?: number | undefined;
360
360
  };
361
- readonly issue: v.PicklistIssue | v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5>;
361
+ readonly issue: v.NumberIssue | v.BooleanIssue | v.PicklistIssue | v.ObjectIssue | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5>;
362
362
  } | undefined;
363
363
  };
364
364
  type I2cConfigPatch = v.InferOutput<typeof i2cConfigPatch>;
@@ -372,7 +372,7 @@ declare const uartConfigPatch: Omit<v.ObjectSchema<{
372
372
  readonly enabled: v.BooleanSchema<undefined>;
373
373
  readonly baud_rate: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 300, undefined>, v.MaxValueAction<number, 12000000, undefined>]>;
374
374
  readonly vcc: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1.6, undefined>, v.MaxValueAction<number, 5, undefined>]>;
375
- }, undefined>, "~standard" | "~types" | "~run" | "entries"> & {
375
+ }, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
376
376
  readonly entries: {
377
377
  readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
378
378
  readonly baud_rate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 300, undefined>, v.MaxValueAction<number, 12000000, undefined>]>, undefined>;
@@ -391,7 +391,7 @@ declare const uartConfigPatch: Omit<v.ObjectSchema<{
391
391
  enabled?: boolean | undefined;
392
392
  baud_rate?: number | undefined;
393
393
  vcc?: number | undefined;
394
- }, v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5> | v.MaxValueIssue<number, 12000000>>;
394
+ }, v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5> | v.MaxValueIssue<number, 12000000>>;
395
395
  readonly '~types'?: {
396
396
  readonly input: {
397
397
  enabled?: boolean | undefined;
@@ -403,7 +403,7 @@ declare const uartConfigPatch: Omit<v.ObjectSchema<{
403
403
  baud_rate?: number | undefined;
404
404
  vcc?: number | undefined;
405
405
  };
406
- readonly issue: v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5> | v.MaxValueIssue<number, 12000000>;
406
+ readonly issue: v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5> | v.MaxValueIssue<number, 12000000>;
407
407
  } | undefined;
408
408
  };
409
409
  type UartConfigPatch = v.InferOutput<typeof uartConfigPatch>;
@@ -610,4 +610,4 @@ declare class Uart {
610
610
  }
611
611
  //#endregion
612
612
  export { SpiConfig as _, ComApi as a, UartConfig as b, I2cConfigPatch as c, Rs232ConfigPatch as d, Rs485 as f, Spi as g, SerialData as h, CanFrame as i, Rs232 as l, Rs485ConfigPatch as m, CanConfig as n, I2c as o, Rs485Config as p, CanConfigPatch as r, I2cConfig as s, Can as t, Rs232Config as u, SpiConfigPatch as v, UartConfigPatch as x, Uart as y };
613
- //# sourceMappingURL=com-BM8-f4JW.d.cts.map
613
+ //# sourceMappingURL=com-Bau2RVba.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"com-Bau2RVba.d.cts","names":[],"sources":["../src/api/com.ts"],"sourcesContent":[],"mappings":"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"}