@ikalogic/at1000 0.1.8 → 0.1.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.
Files changed (61) hide show
  1. package/build/at1000-C05Nf5BV.mjs +2 -0
  2. package/build/at1000-C05Nf5BV.mjs.map +1 -0
  3. package/build/{at1000-CtJGQzs4.d.mts → at1000-DC56gH_z.d.mts} +5 -5
  4. package/build/{at1000-CtJGQzs4.d.mts.map → at1000-DC56gH_z.d.mts.map} +1 -1
  5. package/build/{at1000-BhiyEaDO.d.cts → at1000-DWXwGN_p.d.cts} +5 -5
  6. package/build/{at1000-BhiyEaDO.d.cts.map → at1000-DWXwGN_p.d.cts.map} +1 -1
  7. package/build/at1000-yTj5rhJg.cjs +2 -0
  8. package/build/at1000-yTj5rhJg.cjs.map +1 -0
  9. package/build/browser.cjs +1 -1
  10. package/build/browser.d.cts +1 -8
  11. package/build/browser.d.cts.map +1 -1
  12. package/build/browser.d.mts +5 -5
  13. package/build/browser.mjs +1 -1
  14. package/build/com-Bq-d2n2_.mjs.map +1 -1
  15. package/build/{com-Bau2RVba.d.cts → com-CrsBtPlz.d.cts} +29 -29
  16. package/build/{com-Bau2RVba.d.cts.map → com-CrsBtPlz.d.cts.map} +1 -1
  17. package/build/com-D6zvDfVV.cjs.map +1 -1
  18. package/build/{com-Bd30LXVW.d.mts → com-_ILcTDIy.d.mts} +29 -29
  19. package/build/{com-Bd30LXVW.d.mts.map → com-_ILcTDIy.d.mts.map} +1 -1
  20. package/build/com.d.cts +1 -1
  21. package/build/com.d.mts +1 -1
  22. package/build/gpio-BnyLCBEg.cjs.map +1 -1
  23. package/build/{gpio-DGcccQh6.d.cts → gpio-CAEHrpQE.d.cts} +17 -17
  24. package/build/{gpio-CvLKWnSo.d.mts.map → gpio-CAEHrpQE.d.cts.map} +1 -1
  25. package/build/{gpio-CvLKWnSo.d.mts → gpio-DH9cP9Yd.d.mts} +17 -17
  26. package/build/{gpio-DGcccQh6.d.cts.map → gpio-DH9cP9Yd.d.mts.map} +1 -1
  27. package/build/gpio-bjzKV_Vy.mjs.map +1 -1
  28. package/build/gpio.d.cts +1 -2
  29. package/build/gpio.d.mts +1 -1
  30. package/build/{hmi-C1-vU40b.d.cts → hmi-BqgMEVWu.d.mts} +4 -4
  31. package/build/{hmi-C1-vU40b.d.cts.map → hmi-BqgMEVWu.d.mts.map} +1 -1
  32. package/build/{hmi-CIOjZVch.d.mts → hmi-CG5IhN4l.d.cts} +4 -4
  33. package/build/{hmi-CIOjZVch.d.mts.map → hmi-CG5IhN4l.d.cts.map} +1 -1
  34. package/build/hmi-CTx2jfxU.mjs.map +1 -1
  35. package/build/hmi-CnTa8kMx.cjs.map +1 -1
  36. package/build/hmi.d.cts +1 -1
  37. package/build/hmi.d.mts +1 -1
  38. package/build/management-BKLSOMbM.mjs.map +1 -1
  39. package/build/management-DHD60Xrp.cjs.map +1 -1
  40. package/build/node.cjs +1 -1
  41. package/build/node.cjs.map +1 -1
  42. package/build/node.d.cts +1 -8
  43. package/build/node.d.cts.map +1 -1
  44. package/build/node.d.mts +5 -5
  45. package/build/node.mjs +1 -1
  46. package/build/node.mjs.map +1 -1
  47. package/build/{power-CSNvBKgh.d.cts → power-CDwKKL2S.d.cts} +19 -19
  48. package/build/{power-CSNvBKgh.d.cts.map → power-CDwKKL2S.d.cts.map} +1 -1
  49. package/build/{power-Cefqtt9P.d.mts → power-DWFus9vw.d.mts} +19 -19
  50. package/build/{power-Cefqtt9P.d.mts.map → power-DWFus9vw.d.mts.map} +1 -1
  51. package/build/power-PrmE0ai2.cjs.map +1 -1
  52. package/build/power-hwld3j5a.mjs.map +1 -1
  53. package/build/power.d.cts +1 -2
  54. package/build/power.d.mts +1 -1
  55. package/build/relays-BK2uL5i_.cjs.map +1 -1
  56. package/build/relays-CqglfFwF.mjs.map +1 -1
  57. package/package.json +8 -8
  58. package/build/at1000-CgxthtV5.cjs +0 -2
  59. package/build/at1000-CgxthtV5.cjs.map +0 -1
  60. package/build/at1000-zvuVNh5z.mjs +0 -2
  61. package/build/at1000-zvuVNh5z.mjs.map +0 -1
@@ -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.10`,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-C05Nf5BV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"at1000-C05Nf5BV.mjs","names":[],"sources":["../package.json","../src/at1000.ts"],"sourcesContent":["","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":"+RCUa,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,IAAI,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"}
@@ -1,8 +1,8 @@
1
- import { a as ComApi } from "./com-Bd30LXVW.mjs";
1
+ import { a as ComApi } from "./com-_ILcTDIy.mjs";
2
2
  import { n as Device, r as ManagementApi } from "./management-CwNeejKZ.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";
3
+ import { s as GpioApi } from "./gpio-DH9cP9Yd.mjs";
4
+ import { r as HmiApi } from "./hmi-BqgMEVWu.mjs";
5
+ import { i as PowerApi } from "./power-DWFus9vw.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-CtJGQzs4.d.mts.map
50
+ //# sourceMappingURL=at1000-DC56gH_z.d.mts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"at1000-DC56gH_z.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,8 +1,8 @@
1
- import { a as ComApi } from "./com-Bau2RVba.cjs";
1
+ import { a as ComApi } from "./com-CrsBtPlz.cjs";
2
2
  import { n as Device, r as ManagementApi } from "./management-BIDVdvlQ.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";
3
+ import { s as GpioApi } from "./gpio-CAEHrpQE.cjs";
4
+ import { r as HmiApi } from "./hmi-CG5IhN4l.cjs";
5
+ import { i as PowerApi } from "./power-CDwKKL2S.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-BhiyEaDO.d.cts.map
50
+ //# sourceMappingURL=at1000-DWXwGN_p.d.cts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"at1000-DWXwGN_p.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.10`,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-yTj5rhJg.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"at1000-yTj5rhJg.cjs","names":["ComApi","HmiApi","GpioApi","ManagementApi","PowerApi","RelaysApi"],"sources":["../package.json","../src/at1000.ts"],"sourcesContent":["","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":"8RCUa,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,IAAI,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,IAAIA,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"}
package/build/browser.cjs CHANGED
@@ -1,2 +1,2 @@
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;
1
+ const e=require(`./at1000-yTj5rhJg.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,11 +1,4 @@
1
- import "./com-Bau2RVba.cjs";
2
- import "./common-DAOxX-Zx.cjs";
3
- import "./management-BIDVdvlQ.cjs";
4
- import "./gpio-DGcccQh6.cjs";
5
- import "./hmi-C1-vU40b.cjs";
6
- import "./power-CSNvBKgh.cjs";
7
- import "./relays-Bn8LBgWl.cjs";
8
- import { t as AT1000Base } from "./at1000-BhiyEaDO.cjs";
1
+ import { t as AT1000Base } from "./at1000-DWXwGN_p.cjs";
9
2
 
10
3
  //#region src/browser.d.ts
11
4
  /** @hideconstructor */
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.cts","names":[],"sources":["../src/browser.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;cAIa,MAAA,SAAe,UAAA"}
1
+ {"version":3,"file":"browser.d.cts","names":[],"sources":["../src/browser.ts"],"sourcesContent":[],"mappings":";;;;cAIa,MAAA,SAAe,UAAA;EAAf,gBAAO,UAAQ,EAAA,MAAU"}
@@ -1,11 +1,11 @@
1
- import "./com-Bd30LXVW.mjs";
1
+ import "./com-_ILcTDIy.mjs";
2
2
  import "./common-SiysH9tt.mjs";
3
3
  import "./management-CwNeejKZ.mjs";
4
- import "./gpio-CvLKWnSo.mjs";
5
- import "./hmi-CIOjZVch.mjs";
6
- import "./power-Cefqtt9P.mjs";
4
+ import "./gpio-DH9cP9Yd.mjs";
5
+ import "./hmi-BqgMEVWu.mjs";
6
+ import "./power-DWFus9vw.mjs";
7
7
  import "./relays-CkBk7SOg.mjs";
8
- import { t as AT1000Base } from "./at1000-CtJGQzs4.mjs";
8
+ import { t as AT1000Base } from "./at1000-DC56gH_z.mjs";
9
9
 
10
10
  //#region src/browser.d.ts
11
11
  /** @hideconstructor */
package/build/browser.mjs CHANGED
@@ -1,2 +1,2 @@
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};
1
+ import{n as e,t}from"./at1000-C05Nf5BV.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":"com-Bq-d2n2_.mjs","names":["fetch: UpFetch","id: number"],"sources":["../src/api/com.ts"],"sourcesContent":["import type { UpFetch } from 'up-fetch';\nimport * as v from 'valibot';\n\nconst canFrame = v.object({\n can_id: v.number(),\n data: v.pipe(v.array(v.number()), v.minLength(0), v.maxLength(8)),\n});\nexport type CanFrame = v.InferOutput<typeof canFrame>;\n\nconst serialData = v.pipe(\n v.array(v.pipe(v.number(), v.minValue(0), v.maxValue(255))),\n v.minLength(0),\n v.maxLength(1024),\n);\nexport type SerialData = v.InferOutput<typeof serialData>;\n\nconst i2cTransactionBase = v.object({\n address: v.number(),\n start: v.boolean(),\n stop: v.boolean(),\n nack_last_byte: v.boolean(),\n});\nconst i2cTransactionRead = v.intersect([\n v.partial(i2cTransactionBase, ['start', 'stop', 'nack_last_byte']),\n v.object({ length: v.pipe(v.number(), v.minValue(1), v.maxValue(1024)) }),\n]);\ntype I2cTransactionRead = v.InferOutput<typeof i2cTransactionRead>;\nconst i2cTransactionWrite = v.intersect([\n v.partial(i2cTransactionBase, ['start', 'stop', 'nack_last_byte']),\n v.object({ data: serialData }),\n]);\ntype I2cTransactionWrite = v.InferOutput<typeof i2cTransactionWrite>;\n\nconst canConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.picklist([5_000, 10_000, 20_000, 31_250, 33_000, 40_000, 50_000, 80_000, 83_300,\n 95_000, 100_000, 125_000, 200_000, 250_000, 500_000, 1_000_000]),\n termination_resistors: v.boolean(),\n rx_filter: v.object({ extended_id: v.boolean(), id: v.number(), mask: v.number() }),\n});\nexport type CanConfig = v.InferOutput<typeof canConfig>;\nconst canConfigPatch = v.partial(canConfig);\nexport type CanConfigPatch = v.InferOutput<typeof canConfigPatch>;\n\nconst rs232Config = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(1_000_000)),\n});\nexport type Rs232Config = v.InferOutput<typeof rs232Config>;\nconst rs232ConfigPatch = v.partial(rs232Config);\nexport type Rs232ConfigPatch = v.InferOutput<typeof rs232ConfigPatch>;\n\nconst rs485Config = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(20_000_000)),\n termination_resistors: v.boolean(),\n});\nexport type Rs485Config = v.InferOutput<typeof rs485Config>;\nconst rs485ConfigPatch = v.partial(rs485Config);\nexport type Rs485ConfigPatch = v.InferOutput<typeof rs485ConfigPatch>;\n\nconst spiConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(10_000_000)),\n vcc: v.pipe(v.number(), v.minValue(1.6), v.maxValue(5)),\n});\nexport type SpiConfig = v.InferOutput<typeof spiConfig>;\nconst spiConfigPatch = v.partial(spiConfig);\nexport type SpiConfigPatch = v.InferOutput<typeof spiConfigPatch>;\n\nconst i2cConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.picklist([100_000, 400_000, 1_000_000]),\n vcc: v.pipe(v.number(), v.minValue(1.6), v.maxValue(5)),\n});\nexport type I2cConfig = v.InferOutput<typeof i2cConfig>;\nconst i2cConfigPatch = v.partial(i2cConfig);\nexport type I2cConfigPatch = v.InferOutput<typeof i2cConfigPatch>;\n\nconst uartConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(12_000_000)),\n vcc: v.pipe(v.number(), v.minValue(1.6), v.maxValue(5)),\n});\nexport type UartConfig = v.InferOutput<typeof uartConfig>;\nconst uartConfigPatch = v.partial(uartConfig);\nexport type UartConfigPatch = v.InferOutput<typeof uartConfigPatch>;\n\n/** @hideconstructor */\nexport class ComApi {\n constructor(private readonly fetch: UpFetch) {}\n\n /**\n * Resets the communication interfaces.\n */\n reset(): Promise<void> {\n return this.fetch('/com/reset', { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Access a specific CAN interface by id.\n * @param id The CAN interface id.\n * @returns The CAN instance.\n */\n can(id: number): Can {\n return new Can(this.fetch, id);\n }\n\n /**\n * Access a specific RS232 interface by id.\n * @param id The RS232 interface id.\n * @returns The RS232 instance.\n */\n rs232(id: number): Rs232 {\n return new Rs232(this.fetch, id);\n }\n\n /**\n * Access a specific RS485 interface by id.\n * @param id The RS485 interface id.\n * @returns The RS485 instance.\n */\n rs485(id: number): Rs485 {\n return new Rs485(this.fetch, id);\n }\n\n /**\n * Access a specific SPI interface by id.\n * @param id The SPI interface id.\n * @returns The SPI instance.\n */\n spi(id: number): Spi {\n return new Spi(this.fetch, id);\n }\n\n /**\n * Access a specific I2C interface by id.\n * @param id The I2C interface id.\n * @returns The I2C instance.\n */\n i2c(id: number): I2c {\n return new I2c(this.fetch, id);\n }\n\n /**\n * Access a specific UART interface by id.\n * @param id The UART interface id.\n * @returns The UART instance.\n */\n uart(id: number): Uart {\n return new Uart(this.fetch, id);\n }\n}\n\n/** @hideconstructor */\nexport class Can {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the CAN interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: CanConfigPatch): Promise<CanConfig> {\n return this.fetch(`/com/can/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(canConfigPatch, config),\n schema: canConfig,\n });\n }\n\n /**\n * Transmits data over the CAN interface.\n * @param data The data to transmit.\n * @returns The transmitted data.\n */\n tx(data: CanFrame): Promise<CanFrame> {\n return this.fetch(`/com/can/${this.id}/write`, {\n method: 'POST',\n body: v.parse(canFrame, data),\n schema: canFrame,\n });\n }\n\n /**\n * Starts receiving data over the CAN interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/can/${this.id}/start_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Stops receiving data over the CAN interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/can/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the CAN interface.\n * @returns An array of can frames.\n */\n rx(): Promise<CanFrame[]> {\n return this.fetch(`/com/can/${this.id}/read`, { schema: v.array(canFrame) });\n }\n}\n\n/** @hideconstructor */\nexport class Rs232 {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the RS232 interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: Rs232ConfigPatch): Promise<Rs232Config> {\n return this.fetch(`/com/rs232/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(rs232ConfigPatch, config),\n schema: rs232Config,\n });\n }\n\n /**\n * Transmits data over the RS232 interface.\n * @param data The data to transmit.\n * @returns The transmitted data.\n */\n tx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/rs232/${this.id}/write`, {\n method: 'POST',\n body: v.parse(serialData, data),\n schema: serialData,\n });\n }\n\n /**\n * Starts receiving data over the RS232 interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/rs232/${this.id}/start_rx`, {\n method: 'POST',\n parseResponse: () => {},\n });\n }\n\n /**\n * Stops receiving data over the RS232 interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/rs232/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the RS232 interface.\n * @returns An array containing the received data.\n */\n rx(): Promise<SerialData> {\n return this.fetch(`/com/rs232/${this.id}/read`, { schema: serialData });\n }\n}\n\n/** @hideconstructor */\nexport class Rs485 {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the RS485 interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: Rs485ConfigPatch): Promise<Rs485Config> {\n return this.fetch(`/com/rs485/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(rs485ConfigPatch, config),\n schema: rs485Config,\n });\n }\n\n /**\n * Transmits data over the RS485 interface.\n * @param data The data to transmit.\n * @returns The transmitted data.\n */\n tx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/rs485/${this.id}/write`, {\n method: 'POST',\n body: v.parse(serialData, data),\n schema: serialData,\n });\n }\n\n /**\n * Starts receiving data over the RS485 interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/rs485/${this.id}/start_rx`, {\n method: 'POST',\n parseResponse: () => {},\n });\n }\n\n /**\n * Stops receiving data over the RS485 interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/rs485/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the RS485 interface.\n * @returns The received data.\n */\n rx(): Promise<SerialData> {\n return this.fetch(`/com/rs485/${this.id}/read`, { schema: serialData });\n }\n}\n\n/** @hideconstructor */\nexport class Spi {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the SPI interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: SpiConfigPatch): Promise<SpiConfig> {\n return this.fetch(`/com/spi/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(spiConfigPatch, config),\n schema: spiConfig,\n });\n }\n\n /**\n * Transmits data over the SPI interface and receives the response.\n * @param data The data to transmit.\n * @returns The received response data.\n */\n trx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/spi/${this.id}/write_read`, {\n method: 'POST',\n body: v.parse(serialData, data),\n schema: serialData,\n });\n }\n}\n\n/** @hideconstructor */\nexport class I2c {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the I2C interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: I2cConfigPatch): Promise<I2cConfig> {\n return this.fetch(`/com/i2c/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(i2cConfigPatch, config),\n schema: i2cConfig,\n });\n }\n\n tx(transaction: I2cTransactionWrite): Promise<number> {\n return this.fetch(`/com/i2c/${this.id}/write`, {\n method: 'POST',\n body: v.parse(i2cTransactionWrite, transaction),\n parseResponse: async (response) => {\n const text = await response.text();\n return parseInt(text, 10);\n },\n });\n }\n\n rx(transaction: I2cTransactionRead): Promise<SerialData> {\n return this.fetch(`/com/i2c/${this.id}/read`, {\n method: 'POST',\n body: v.parse(i2cTransactionRead, transaction),\n schema: serialData,\n });\n }\n}\n\n/** @hideconstructor */\nexport class Uart {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the UART interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: UartConfigPatch): Promise<UartConfig> {\n return this.fetch(`/com/uart/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(uartConfigPatch, config),\n schema: uartConfig,\n });\n }\n\n /**\n * Transmits data over the UART interface.\n * @param data The data to transmit.\n * @returns The received response data.\n */\n tx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/uart/${this.id}/write`, {\n method: 'POST',\n body: v.parse(serialData, data),\n });\n }\n\n /**\n * Starts receiving data over the UART interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/uart/${this.id}/start_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Stops receiving data over the UART interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/uart/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the UART interface.\n * @returns The received data.\n */\n rx(): Promise<SerialData> {\n return this.fetch(`/com/uart/${this.id}/read`, { schema: serialData });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"com-Bq-d2n2_.mjs","names":[],"sources":["../src/api/com.ts"],"sourcesContent":["import type { UpFetch } from 'up-fetch';\nimport * as v from 'valibot';\n\nconst canFrame = v.object({\n can_id: v.number(),\n data: v.pipe(v.array(v.number()), v.minLength(0), v.maxLength(8)),\n});\nexport type CanFrame = v.InferOutput<typeof canFrame>;\n\nconst serialData = v.pipe(\n v.array(v.pipe(v.number(), v.minValue(0), v.maxValue(255))),\n v.minLength(0),\n v.maxLength(1024),\n);\nexport type SerialData = v.InferOutput<typeof serialData>;\n\nconst i2cTransactionBase = v.object({\n address: v.number(),\n start: v.boolean(),\n stop: v.boolean(),\n nack_last_byte: v.boolean(),\n});\nconst i2cTransactionRead = v.intersect([\n v.partial(i2cTransactionBase, ['start', 'stop', 'nack_last_byte']),\n v.object({ length: v.pipe(v.number(), v.minValue(1), v.maxValue(1024)) }),\n]);\ntype I2cTransactionRead = v.InferOutput<typeof i2cTransactionRead>;\nconst i2cTransactionWrite = v.intersect([\n v.partial(i2cTransactionBase, ['start', 'stop', 'nack_last_byte']),\n v.object({ data: serialData }),\n]);\ntype I2cTransactionWrite = v.InferOutput<typeof i2cTransactionWrite>;\n\nconst canConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.picklist([5_000, 10_000, 20_000, 31_250, 33_000, 40_000, 50_000, 80_000, 83_300,\n 95_000, 100_000, 125_000, 200_000, 250_000, 500_000, 1_000_000]),\n termination_resistors: v.boolean(),\n rx_filter: v.object({ extended_id: v.boolean(), id: v.number(), mask: v.number() }),\n});\nexport type CanConfig = v.InferOutput<typeof canConfig>;\nconst canConfigPatch = v.partial(canConfig);\nexport type CanConfigPatch = v.InferOutput<typeof canConfigPatch>;\n\nconst rs232Config = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(1_000_000)),\n});\nexport type Rs232Config = v.InferOutput<typeof rs232Config>;\nconst rs232ConfigPatch = v.partial(rs232Config);\nexport type Rs232ConfigPatch = v.InferOutput<typeof rs232ConfigPatch>;\n\nconst rs485Config = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(20_000_000)),\n termination_resistors: v.boolean(),\n});\nexport type Rs485Config = v.InferOutput<typeof rs485Config>;\nconst rs485ConfigPatch = v.partial(rs485Config);\nexport type Rs485ConfigPatch = v.InferOutput<typeof rs485ConfigPatch>;\n\nconst spiConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(10_000_000)),\n vcc: v.pipe(v.number(), v.minValue(1.6), v.maxValue(5)),\n});\nexport type SpiConfig = v.InferOutput<typeof spiConfig>;\nconst spiConfigPatch = v.partial(spiConfig);\nexport type SpiConfigPatch = v.InferOutput<typeof spiConfigPatch>;\n\nconst i2cConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.picklist([100_000, 400_000, 1_000_000]),\n vcc: v.pipe(v.number(), v.minValue(1.6), v.maxValue(5)),\n});\nexport type I2cConfig = v.InferOutput<typeof i2cConfig>;\nconst i2cConfigPatch = v.partial(i2cConfig);\nexport type I2cConfigPatch = v.InferOutput<typeof i2cConfigPatch>;\n\nconst uartConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(12_000_000)),\n vcc: v.pipe(v.number(), v.minValue(1.6), v.maxValue(5)),\n});\nexport type UartConfig = v.InferOutput<typeof uartConfig>;\nconst uartConfigPatch = v.partial(uartConfig);\nexport type UartConfigPatch = v.InferOutput<typeof uartConfigPatch>;\n\n/** @hideconstructor */\nexport class ComApi {\n constructor(private readonly fetch: UpFetch) {}\n\n /**\n * Resets the communication interfaces.\n */\n reset(): Promise<void> {\n return this.fetch('/com/reset', { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Access a specific CAN interface by id.\n * @param id The CAN interface id.\n * @returns The CAN instance.\n */\n can(id: number): Can {\n return new Can(this.fetch, id);\n }\n\n /**\n * Access a specific RS232 interface by id.\n * @param id The RS232 interface id.\n * @returns The RS232 instance.\n */\n rs232(id: number): Rs232 {\n return new Rs232(this.fetch, id);\n }\n\n /**\n * Access a specific RS485 interface by id.\n * @param id The RS485 interface id.\n * @returns The RS485 instance.\n */\n rs485(id: number): Rs485 {\n return new Rs485(this.fetch, id);\n }\n\n /**\n * Access a specific SPI interface by id.\n * @param id The SPI interface id.\n * @returns The SPI instance.\n */\n spi(id: number): Spi {\n return new Spi(this.fetch, id);\n }\n\n /**\n * Access a specific I2C interface by id.\n * @param id The I2C interface id.\n * @returns The I2C instance.\n */\n i2c(id: number): I2c {\n return new I2c(this.fetch, id);\n }\n\n /**\n * Access a specific UART interface by id.\n * @param id The UART interface id.\n * @returns The UART instance.\n */\n uart(id: number): Uart {\n return new Uart(this.fetch, id);\n }\n}\n\n/** @hideconstructor */\nexport class Can {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the CAN interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: CanConfigPatch): Promise<CanConfig> {\n return this.fetch(`/com/can/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(canConfigPatch, config),\n schema: canConfig,\n });\n }\n\n /**\n * Transmits data over the CAN interface.\n * @param data The data to transmit.\n * @returns The transmitted data.\n */\n tx(data: CanFrame): Promise<CanFrame> {\n return this.fetch(`/com/can/${this.id}/write`, {\n method: 'POST',\n body: v.parse(canFrame, data),\n schema: canFrame,\n });\n }\n\n /**\n * Starts receiving data over the CAN interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/can/${this.id}/start_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Stops receiving data over the CAN interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/can/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the CAN interface.\n * @returns An array of can frames.\n */\n rx(): Promise<CanFrame[]> {\n return this.fetch(`/com/can/${this.id}/read`, { schema: v.array(canFrame) });\n }\n}\n\n/** @hideconstructor */\nexport class Rs232 {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the RS232 interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: Rs232ConfigPatch): Promise<Rs232Config> {\n return this.fetch(`/com/rs232/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(rs232ConfigPatch, config),\n schema: rs232Config,\n });\n }\n\n /**\n * Transmits data over the RS232 interface.\n * @param data The data to transmit.\n * @returns The transmitted data.\n */\n tx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/rs232/${this.id}/write`, {\n method: 'POST',\n body: v.parse(serialData, data),\n schema: serialData,\n });\n }\n\n /**\n * Starts receiving data over the RS232 interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/rs232/${this.id}/start_rx`, {\n method: 'POST',\n parseResponse: () => {},\n });\n }\n\n /**\n * Stops receiving data over the RS232 interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/rs232/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the RS232 interface.\n * @returns An array containing the received data.\n */\n rx(): Promise<SerialData> {\n return this.fetch(`/com/rs232/${this.id}/read`, { schema: serialData });\n }\n}\n\n/** @hideconstructor */\nexport class Rs485 {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the RS485 interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: Rs485ConfigPatch): Promise<Rs485Config> {\n return this.fetch(`/com/rs485/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(rs485ConfigPatch, config),\n schema: rs485Config,\n });\n }\n\n /**\n * Transmits data over the RS485 interface.\n * @param data The data to transmit.\n * @returns The transmitted data.\n */\n tx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/rs485/${this.id}/write`, {\n method: 'POST',\n body: v.parse(serialData, data),\n schema: serialData,\n });\n }\n\n /**\n * Starts receiving data over the RS485 interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/rs485/${this.id}/start_rx`, {\n method: 'POST',\n parseResponse: () => {},\n });\n }\n\n /**\n * Stops receiving data over the RS485 interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/rs485/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the RS485 interface.\n * @returns The received data.\n */\n rx(): Promise<SerialData> {\n return this.fetch(`/com/rs485/${this.id}/read`, { schema: serialData });\n }\n}\n\n/** @hideconstructor */\nexport class Spi {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the SPI interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: SpiConfigPatch): Promise<SpiConfig> {\n return this.fetch(`/com/spi/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(spiConfigPatch, config),\n schema: spiConfig,\n });\n }\n\n /**\n * Transmits data over the SPI interface and receives the response.\n * @param data The data to transmit.\n * @returns The received response data.\n */\n trx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/spi/${this.id}/write_read`, {\n method: 'POST',\n body: v.parse(serialData, data),\n schema: serialData,\n });\n }\n}\n\n/** @hideconstructor */\nexport class I2c {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the I2C interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: I2cConfigPatch): Promise<I2cConfig> {\n return this.fetch(`/com/i2c/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(i2cConfigPatch, config),\n schema: i2cConfig,\n });\n }\n\n tx(transaction: I2cTransactionWrite): Promise<number> {\n return this.fetch(`/com/i2c/${this.id}/write`, {\n method: 'POST',\n body: v.parse(i2cTransactionWrite, transaction),\n parseResponse: async (response) => {\n const text = await response.text();\n return parseInt(text, 10);\n },\n });\n }\n\n rx(transaction: I2cTransactionRead): Promise<SerialData> {\n return this.fetch(`/com/i2c/${this.id}/read`, {\n method: 'POST',\n body: v.parse(i2cTransactionRead, transaction),\n schema: serialData,\n });\n }\n}\n\n/** @hideconstructor */\nexport class Uart {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the UART interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: UartConfigPatch): Promise<UartConfig> {\n return this.fetch(`/com/uart/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(uartConfigPatch, config),\n schema: uartConfig,\n });\n }\n\n /**\n * Transmits data over the UART interface.\n * @param data The data to transmit.\n * @returns The received response data.\n */\n tx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/uart/${this.id}/write`, {\n method: 'POST',\n body: v.parse(serialData, data),\n });\n }\n\n /**\n * Starts receiving data over the UART interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/uart/${this.id}/start_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Stops receiving data over the UART interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/uart/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the UART interface.\n * @returns The received data.\n */\n rx(): Promise<SerialData> {\n return this.fetch(`/com/uart/${this.id}/read`, { schema: serialData });\n }\n}\n"],"mappings":"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"}
@@ -21,7 +21,7 @@ declare const i2cTransactionRead: v.IntersectSchema<[Omit<v.ObjectSchema<{
21
21
  readonly stop: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
22
22
  readonly nack_last_byte: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
23
23
  };
24
- readonly '~standard': v.StandardProps<{
24
+ readonly "~standard": v.StandardProps<{
25
25
  address: number;
26
26
  start?: boolean | undefined;
27
27
  stop?: boolean | undefined;
@@ -32,13 +32,13 @@ declare const i2cTransactionRead: v.IntersectSchema<[Omit<v.ObjectSchema<{
32
32
  stop?: boolean | undefined;
33
33
  nack_last_byte?: boolean | undefined;
34
34
  }>;
35
- readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
35
+ readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
36
36
  address: number;
37
37
  start?: boolean | undefined;
38
38
  stop?: boolean | undefined;
39
39
  nack_last_byte?: boolean | undefined;
40
40
  }, v.NumberIssue | v.BooleanIssue | v.ObjectIssue>;
41
- readonly '~types'?: {
41
+ readonly "~types"?: {
42
42
  readonly input: {
43
43
  address: number;
44
44
  start?: boolean | undefined;
@@ -69,7 +69,7 @@ declare const i2cTransactionWrite: v.IntersectSchema<[Omit<v.ObjectSchema<{
69
69
  readonly stop: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
70
70
  readonly nack_last_byte: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
71
71
  };
72
- readonly '~standard': v.StandardProps<{
72
+ readonly "~standard": v.StandardProps<{
73
73
  address: number;
74
74
  start?: boolean | undefined;
75
75
  stop?: boolean | undefined;
@@ -80,13 +80,13 @@ declare const i2cTransactionWrite: v.IntersectSchema<[Omit<v.ObjectSchema<{
80
80
  stop?: boolean | undefined;
81
81
  nack_last_byte?: boolean | undefined;
82
82
  }>;
83
- readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
83
+ readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
84
84
  address: number;
85
85
  start?: boolean | undefined;
86
86
  stop?: boolean | undefined;
87
87
  nack_last_byte?: boolean | undefined;
88
88
  }, v.NumberIssue | v.BooleanIssue | v.ObjectIssue>;
89
- readonly '~types'?: {
89
+ readonly "~types"?: {
90
90
  readonly input: {
91
91
  address: number;
92
92
  start?: boolean | undefined;
@@ -136,7 +136,7 @@ declare const canConfigPatch: Omit<v.ObjectSchema<{
136
136
  readonly mask: v.NumberSchema<undefined>;
137
137
  }, undefined>, undefined>;
138
138
  };
139
- readonly '~standard': v.StandardProps<{
139
+ readonly "~standard": v.StandardProps<{
140
140
  enabled?: boolean | undefined;
141
141
  baud_rate?: 5000 | 10000 | 20000 | 31250 | 33000 | 40000 | 50000 | 80000 | 83300 | 95000 | 100000 | 125000 | 200000 | 250000 | 500000 | 1000000 | undefined;
142
142
  termination_resistors?: boolean | undefined;
@@ -155,7 +155,7 @@ declare const canConfigPatch: Omit<v.ObjectSchema<{
155
155
  mask: number;
156
156
  } | undefined;
157
157
  }>;
158
- readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
158
+ readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
159
159
  enabled?: boolean | undefined;
160
160
  baud_rate?: 5000 | 10000 | 20000 | 31250 | 33000 | 40000 | 50000 | 80000 | 83300 | 95000 | 100000 | 125000 | 200000 | 250000 | 500000 | 1000000 | undefined;
161
161
  termination_resistors?: boolean | undefined;
@@ -164,8 +164,8 @@ declare const canConfigPatch: Omit<v.ObjectSchema<{
164
164
  id: number;
165
165
  mask: number;
166
166
  } | undefined;
167
- }, v.NumberIssue | v.BooleanIssue | v.PicklistIssue | v.ObjectIssue>;
168
- readonly '~types'?: {
167
+ }, v.PicklistIssue | v.NumberIssue | v.BooleanIssue | v.ObjectIssue>;
168
+ readonly "~types"?: {
169
169
  readonly input: {
170
170
  enabled?: boolean | undefined;
171
171
  baud_rate?: 5000 | 10000 | 20000 | 31250 | 33000 | 40000 | 50000 | 80000 | 83300 | 95000 | 100000 | 125000 | 200000 | 250000 | 500000 | 1000000 | undefined;
@@ -186,7 +186,7 @@ declare const canConfigPatch: Omit<v.ObjectSchema<{
186
186
  mask: number;
187
187
  } | undefined;
188
188
  };
189
- readonly issue: v.NumberIssue | v.BooleanIssue | v.PicklistIssue | v.ObjectIssue;
189
+ readonly issue: v.PicklistIssue | v.NumberIssue | v.BooleanIssue | v.ObjectIssue;
190
190
  } | undefined;
191
191
  };
192
192
  type CanConfigPatch = v.InferOutput<typeof canConfigPatch>;
@@ -203,18 +203,18 @@ declare const rs232ConfigPatch: Omit<v.ObjectSchema<{
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>;
205
205
  };
206
- readonly '~standard': v.StandardProps<{
206
+ readonly "~standard": v.StandardProps<{
207
207
  enabled?: boolean | undefined;
208
208
  baud_rate?: number | undefined;
209
209
  }, {
210
210
  enabled?: boolean | undefined;
211
211
  baud_rate?: number | undefined;
212
212
  }>;
213
- readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
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
216
  }, v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MaxValueIssue<number, 1000000>>;
217
- readonly '~types'?: {
217
+ readonly "~types"?: {
218
218
  readonly input: {
219
219
  enabled?: boolean | undefined;
220
220
  baud_rate?: number | undefined;
@@ -243,7 +243,7 @@ declare const rs485ConfigPatch: Omit<v.ObjectSchema<{
243
243
  readonly baud_rate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 300, undefined>, v.MaxValueAction<number, 20000000, undefined>]>, undefined>;
244
244
  readonly termination_resistors: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
245
245
  };
246
- readonly '~standard': v.StandardProps<{
246
+ readonly "~standard": v.StandardProps<{
247
247
  enabled?: boolean | undefined;
248
248
  baud_rate?: number | undefined;
249
249
  termination_resistors?: boolean | undefined;
@@ -252,12 +252,12 @@ declare const rs485ConfigPatch: Omit<v.ObjectSchema<{
252
252
  baud_rate?: number | undefined;
253
253
  termination_resistors?: boolean | undefined;
254
254
  }>;
255
- readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
255
+ readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
256
256
  enabled?: boolean | undefined;
257
257
  baud_rate?: number | undefined;
258
258
  termination_resistors?: boolean | undefined;
259
259
  }, v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, 300> | v.MaxValueIssue<number, 20000000>>;
260
- readonly '~types'?: {
260
+ readonly "~types"?: {
261
261
  readonly input: {
262
262
  enabled?: boolean | undefined;
263
263
  baud_rate?: number | undefined;
@@ -288,7 +288,7 @@ declare const spiConfigPatch: Omit<v.ObjectSchema<{
288
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
- readonly '~standard': v.StandardProps<{
291
+ readonly "~standard": v.StandardProps<{
292
292
  enabled?: boolean | undefined;
293
293
  baud_rate?: number | undefined;
294
294
  vcc?: number | undefined;
@@ -297,12 +297,12 @@ declare const spiConfigPatch: Omit<v.ObjectSchema<{
297
297
  baud_rate?: number | undefined;
298
298
  vcc?: number | undefined;
299
299
  }>;
300
- readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
300
+ readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
301
301
  enabled?: boolean | undefined;
302
302
  baud_rate?: number | undefined;
303
303
  vcc?: number | undefined;
304
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
- readonly '~types'?: {
305
+ readonly "~types"?: {
306
306
  readonly input: {
307
307
  enabled?: boolean | undefined;
308
308
  baud_rate?: number | undefined;
@@ -333,7 +333,7 @@ declare const i2cConfigPatch: Omit<v.ObjectSchema<{
333
333
  readonly baud_rate: v.OptionalSchema<v.PicklistSchema<[100000, 400000, 1000000], undefined>, undefined>;
334
334
  readonly vcc: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1.6, undefined>, v.MaxValueAction<number, 5, undefined>]>, undefined>;
335
335
  };
336
- readonly '~standard': v.StandardProps<{
336
+ readonly "~standard": v.StandardProps<{
337
337
  enabled?: boolean | undefined;
338
338
  baud_rate?: 100000 | 1000000 | 400000 | undefined;
339
339
  vcc?: number | undefined;
@@ -342,12 +342,12 @@ declare const i2cConfigPatch: Omit<v.ObjectSchema<{
342
342
  baud_rate?: 100000 | 1000000 | 400000 | undefined;
343
343
  vcc?: number | undefined;
344
344
  }>;
345
- readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
345
+ readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
346
346
  enabled?: boolean | undefined;
347
347
  baud_rate?: 100000 | 1000000 | 400000 | undefined;
348
348
  vcc?: number | undefined;
349
- }, v.NumberIssue | v.BooleanIssue | v.PicklistIssue | v.ObjectIssue | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5>>;
350
- readonly '~types'?: {
349
+ }, v.PicklistIssue | v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5>>;
350
+ readonly "~types"?: {
351
351
  readonly input: {
352
352
  enabled?: boolean | undefined;
353
353
  baud_rate?: 100000 | 1000000 | 400000 | 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.NumberIssue | v.BooleanIssue | v.PicklistIssue | v.ObjectIssue | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5>;
361
+ readonly issue: v.PicklistIssue | v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, 1.6> | v.MaxValueIssue<number, 5>;
362
362
  } | undefined;
363
363
  };
364
364
  type I2cConfigPatch = v.InferOutput<typeof i2cConfigPatch>;
@@ -378,7 +378,7 @@ declare const uartConfigPatch: Omit<v.ObjectSchema<{
378
378
  readonly baud_rate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 300, undefined>, v.MaxValueAction<number, 12000000, undefined>]>, undefined>;
379
379
  readonly vcc: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1.6, undefined>, v.MaxValueAction<number, 5, undefined>]>, undefined>;
380
380
  };
381
- readonly '~standard': v.StandardProps<{
381
+ readonly "~standard": v.StandardProps<{
382
382
  enabled?: boolean | undefined;
383
383
  baud_rate?: number | undefined;
384
384
  vcc?: number | undefined;
@@ -387,12 +387,12 @@ declare const uartConfigPatch: Omit<v.ObjectSchema<{
387
387
  baud_rate?: number | undefined;
388
388
  vcc?: number | undefined;
389
389
  }>;
390
- readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
390
+ readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
391
391
  enabled?: boolean | undefined;
392
392
  baud_rate?: number | undefined;
393
393
  vcc?: number | undefined;
394
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
- readonly '~types'?: {
395
+ readonly "~types"?: {
396
396
  readonly input: {
397
397
  enabled?: boolean | undefined;
398
398
  baud_rate?: number | undefined;
@@ -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-Bau2RVba.d.cts.map
613
+ //# sourceMappingURL=com-CrsBtPlz.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"com-Bau2RVba.d.cts","names":[],"sources":["../src/api/com.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"com-CrsBtPlz.d.cts","names":[],"sources":["../src/api/com.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"com-D6zvDfVV.cjs","names":["v","fetch: UpFetch","id: number"],"sources":["../src/api/com.ts"],"sourcesContent":["import type { UpFetch } from 'up-fetch';\nimport * as v from 'valibot';\n\nconst canFrame = v.object({\n can_id: v.number(),\n data: v.pipe(v.array(v.number()), v.minLength(0), v.maxLength(8)),\n});\nexport type CanFrame = v.InferOutput<typeof canFrame>;\n\nconst serialData = v.pipe(\n v.array(v.pipe(v.number(), v.minValue(0), v.maxValue(255))),\n v.minLength(0),\n v.maxLength(1024),\n);\nexport type SerialData = v.InferOutput<typeof serialData>;\n\nconst i2cTransactionBase = v.object({\n address: v.number(),\n start: v.boolean(),\n stop: v.boolean(),\n nack_last_byte: v.boolean(),\n});\nconst i2cTransactionRead = v.intersect([\n v.partial(i2cTransactionBase, ['start', 'stop', 'nack_last_byte']),\n v.object({ length: v.pipe(v.number(), v.minValue(1), v.maxValue(1024)) }),\n]);\ntype I2cTransactionRead = v.InferOutput<typeof i2cTransactionRead>;\nconst i2cTransactionWrite = v.intersect([\n v.partial(i2cTransactionBase, ['start', 'stop', 'nack_last_byte']),\n v.object({ data: serialData }),\n]);\ntype I2cTransactionWrite = v.InferOutput<typeof i2cTransactionWrite>;\n\nconst canConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.picklist([5_000, 10_000, 20_000, 31_250, 33_000, 40_000, 50_000, 80_000, 83_300,\n 95_000, 100_000, 125_000, 200_000, 250_000, 500_000, 1_000_000]),\n termination_resistors: v.boolean(),\n rx_filter: v.object({ extended_id: v.boolean(), id: v.number(), mask: v.number() }),\n});\nexport type CanConfig = v.InferOutput<typeof canConfig>;\nconst canConfigPatch = v.partial(canConfig);\nexport type CanConfigPatch = v.InferOutput<typeof canConfigPatch>;\n\nconst rs232Config = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(1_000_000)),\n});\nexport type Rs232Config = v.InferOutput<typeof rs232Config>;\nconst rs232ConfigPatch = v.partial(rs232Config);\nexport type Rs232ConfigPatch = v.InferOutput<typeof rs232ConfigPatch>;\n\nconst rs485Config = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(20_000_000)),\n termination_resistors: v.boolean(),\n});\nexport type Rs485Config = v.InferOutput<typeof rs485Config>;\nconst rs485ConfigPatch = v.partial(rs485Config);\nexport type Rs485ConfigPatch = v.InferOutput<typeof rs485ConfigPatch>;\n\nconst spiConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(10_000_000)),\n vcc: v.pipe(v.number(), v.minValue(1.6), v.maxValue(5)),\n});\nexport type SpiConfig = v.InferOutput<typeof spiConfig>;\nconst spiConfigPatch = v.partial(spiConfig);\nexport type SpiConfigPatch = v.InferOutput<typeof spiConfigPatch>;\n\nconst i2cConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.picklist([100_000, 400_000, 1_000_000]),\n vcc: v.pipe(v.number(), v.minValue(1.6), v.maxValue(5)),\n});\nexport type I2cConfig = v.InferOutput<typeof i2cConfig>;\nconst i2cConfigPatch = v.partial(i2cConfig);\nexport type I2cConfigPatch = v.InferOutput<typeof i2cConfigPatch>;\n\nconst uartConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(12_000_000)),\n vcc: v.pipe(v.number(), v.minValue(1.6), v.maxValue(5)),\n});\nexport type UartConfig = v.InferOutput<typeof uartConfig>;\nconst uartConfigPatch = v.partial(uartConfig);\nexport type UartConfigPatch = v.InferOutput<typeof uartConfigPatch>;\n\n/** @hideconstructor */\nexport class ComApi {\n constructor(private readonly fetch: UpFetch) {}\n\n /**\n * Resets the communication interfaces.\n */\n reset(): Promise<void> {\n return this.fetch('/com/reset', { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Access a specific CAN interface by id.\n * @param id The CAN interface id.\n * @returns The CAN instance.\n */\n can(id: number): Can {\n return new Can(this.fetch, id);\n }\n\n /**\n * Access a specific RS232 interface by id.\n * @param id The RS232 interface id.\n * @returns The RS232 instance.\n */\n rs232(id: number): Rs232 {\n return new Rs232(this.fetch, id);\n }\n\n /**\n * Access a specific RS485 interface by id.\n * @param id The RS485 interface id.\n * @returns The RS485 instance.\n */\n rs485(id: number): Rs485 {\n return new Rs485(this.fetch, id);\n }\n\n /**\n * Access a specific SPI interface by id.\n * @param id The SPI interface id.\n * @returns The SPI instance.\n */\n spi(id: number): Spi {\n return new Spi(this.fetch, id);\n }\n\n /**\n * Access a specific I2C interface by id.\n * @param id The I2C interface id.\n * @returns The I2C instance.\n */\n i2c(id: number): I2c {\n return new I2c(this.fetch, id);\n }\n\n /**\n * Access a specific UART interface by id.\n * @param id The UART interface id.\n * @returns The UART instance.\n */\n uart(id: number): Uart {\n return new Uart(this.fetch, id);\n }\n}\n\n/** @hideconstructor */\nexport class Can {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the CAN interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: CanConfigPatch): Promise<CanConfig> {\n return this.fetch(`/com/can/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(canConfigPatch, config),\n schema: canConfig,\n });\n }\n\n /**\n * Transmits data over the CAN interface.\n * @param data The data to transmit.\n * @returns The transmitted data.\n */\n tx(data: CanFrame): Promise<CanFrame> {\n return this.fetch(`/com/can/${this.id}/write`, {\n method: 'POST',\n body: v.parse(canFrame, data),\n schema: canFrame,\n });\n }\n\n /**\n * Starts receiving data over the CAN interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/can/${this.id}/start_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Stops receiving data over the CAN interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/can/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the CAN interface.\n * @returns An array of can frames.\n */\n rx(): Promise<CanFrame[]> {\n return this.fetch(`/com/can/${this.id}/read`, { schema: v.array(canFrame) });\n }\n}\n\n/** @hideconstructor */\nexport class Rs232 {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the RS232 interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: Rs232ConfigPatch): Promise<Rs232Config> {\n return this.fetch(`/com/rs232/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(rs232ConfigPatch, config),\n schema: rs232Config,\n });\n }\n\n /**\n * Transmits data over the RS232 interface.\n * @param data The data to transmit.\n * @returns The transmitted data.\n */\n tx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/rs232/${this.id}/write`, {\n method: 'POST',\n body: v.parse(serialData, data),\n schema: serialData,\n });\n }\n\n /**\n * Starts receiving data over the RS232 interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/rs232/${this.id}/start_rx`, {\n method: 'POST',\n parseResponse: () => {},\n });\n }\n\n /**\n * Stops receiving data over the RS232 interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/rs232/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the RS232 interface.\n * @returns An array containing the received data.\n */\n rx(): Promise<SerialData> {\n return this.fetch(`/com/rs232/${this.id}/read`, { schema: serialData });\n }\n}\n\n/** @hideconstructor */\nexport class Rs485 {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the RS485 interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: Rs485ConfigPatch): Promise<Rs485Config> {\n return this.fetch(`/com/rs485/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(rs485ConfigPatch, config),\n schema: rs485Config,\n });\n }\n\n /**\n * Transmits data over the RS485 interface.\n * @param data The data to transmit.\n * @returns The transmitted data.\n */\n tx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/rs485/${this.id}/write`, {\n method: 'POST',\n body: v.parse(serialData, data),\n schema: serialData,\n });\n }\n\n /**\n * Starts receiving data over the RS485 interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/rs485/${this.id}/start_rx`, {\n method: 'POST',\n parseResponse: () => {},\n });\n }\n\n /**\n * Stops receiving data over the RS485 interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/rs485/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the RS485 interface.\n * @returns The received data.\n */\n rx(): Promise<SerialData> {\n return this.fetch(`/com/rs485/${this.id}/read`, { schema: serialData });\n }\n}\n\n/** @hideconstructor */\nexport class Spi {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the SPI interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: SpiConfigPatch): Promise<SpiConfig> {\n return this.fetch(`/com/spi/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(spiConfigPatch, config),\n schema: spiConfig,\n });\n }\n\n /**\n * Transmits data over the SPI interface and receives the response.\n * @param data The data to transmit.\n * @returns The received response data.\n */\n trx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/spi/${this.id}/write_read`, {\n method: 'POST',\n body: v.parse(serialData, data),\n schema: serialData,\n });\n }\n}\n\n/** @hideconstructor */\nexport class I2c {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the I2C interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: I2cConfigPatch): Promise<I2cConfig> {\n return this.fetch(`/com/i2c/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(i2cConfigPatch, config),\n schema: i2cConfig,\n });\n }\n\n tx(transaction: I2cTransactionWrite): Promise<number> {\n return this.fetch(`/com/i2c/${this.id}/write`, {\n method: 'POST',\n body: v.parse(i2cTransactionWrite, transaction),\n parseResponse: async (response) => {\n const text = await response.text();\n return parseInt(text, 10);\n },\n });\n }\n\n rx(transaction: I2cTransactionRead): Promise<SerialData> {\n return this.fetch(`/com/i2c/${this.id}/read`, {\n method: 'POST',\n body: v.parse(i2cTransactionRead, transaction),\n schema: serialData,\n });\n }\n}\n\n/** @hideconstructor */\nexport class Uart {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the UART interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: UartConfigPatch): Promise<UartConfig> {\n return this.fetch(`/com/uart/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(uartConfigPatch, config),\n schema: uartConfig,\n });\n }\n\n /**\n * Transmits data over the UART interface.\n * @param data The data to transmit.\n * @returns The received response data.\n */\n tx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/uart/${this.id}/write`, {\n method: 'POST',\n body: v.parse(serialData, data),\n });\n }\n\n /**\n * Starts receiving data over the UART interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/uart/${this.id}/start_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Stops receiving data over the UART interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/uart/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the UART interface.\n * @returns The received data.\n */\n rx(): Promise<SerialData> {\n return this.fetch(`/com/uart/${this.id}/read`, { schema: serialData });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"com-D6zvDfVV.cjs","names":["v"],"sources":["../src/api/com.ts"],"sourcesContent":["import type { UpFetch } from 'up-fetch';\nimport * as v from 'valibot';\n\nconst canFrame = v.object({\n can_id: v.number(),\n data: v.pipe(v.array(v.number()), v.minLength(0), v.maxLength(8)),\n});\nexport type CanFrame = v.InferOutput<typeof canFrame>;\n\nconst serialData = v.pipe(\n v.array(v.pipe(v.number(), v.minValue(0), v.maxValue(255))),\n v.minLength(0),\n v.maxLength(1024),\n);\nexport type SerialData = v.InferOutput<typeof serialData>;\n\nconst i2cTransactionBase = v.object({\n address: v.number(),\n start: v.boolean(),\n stop: v.boolean(),\n nack_last_byte: v.boolean(),\n});\nconst i2cTransactionRead = v.intersect([\n v.partial(i2cTransactionBase, ['start', 'stop', 'nack_last_byte']),\n v.object({ length: v.pipe(v.number(), v.minValue(1), v.maxValue(1024)) }),\n]);\ntype I2cTransactionRead = v.InferOutput<typeof i2cTransactionRead>;\nconst i2cTransactionWrite = v.intersect([\n v.partial(i2cTransactionBase, ['start', 'stop', 'nack_last_byte']),\n v.object({ data: serialData }),\n]);\ntype I2cTransactionWrite = v.InferOutput<typeof i2cTransactionWrite>;\n\nconst canConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.picklist([5_000, 10_000, 20_000, 31_250, 33_000, 40_000, 50_000, 80_000, 83_300,\n 95_000, 100_000, 125_000, 200_000, 250_000, 500_000, 1_000_000]),\n termination_resistors: v.boolean(),\n rx_filter: v.object({ extended_id: v.boolean(), id: v.number(), mask: v.number() }),\n});\nexport type CanConfig = v.InferOutput<typeof canConfig>;\nconst canConfigPatch = v.partial(canConfig);\nexport type CanConfigPatch = v.InferOutput<typeof canConfigPatch>;\n\nconst rs232Config = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(1_000_000)),\n});\nexport type Rs232Config = v.InferOutput<typeof rs232Config>;\nconst rs232ConfigPatch = v.partial(rs232Config);\nexport type Rs232ConfigPatch = v.InferOutput<typeof rs232ConfigPatch>;\n\nconst rs485Config = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(20_000_000)),\n termination_resistors: v.boolean(),\n});\nexport type Rs485Config = v.InferOutput<typeof rs485Config>;\nconst rs485ConfigPatch = v.partial(rs485Config);\nexport type Rs485ConfigPatch = v.InferOutput<typeof rs485ConfigPatch>;\n\nconst spiConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(10_000_000)),\n vcc: v.pipe(v.number(), v.minValue(1.6), v.maxValue(5)),\n});\nexport type SpiConfig = v.InferOutput<typeof spiConfig>;\nconst spiConfigPatch = v.partial(spiConfig);\nexport type SpiConfigPatch = v.InferOutput<typeof spiConfigPatch>;\n\nconst i2cConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.picklist([100_000, 400_000, 1_000_000]),\n vcc: v.pipe(v.number(), v.minValue(1.6), v.maxValue(5)),\n});\nexport type I2cConfig = v.InferOutput<typeof i2cConfig>;\nconst i2cConfigPatch = v.partial(i2cConfig);\nexport type I2cConfigPatch = v.InferOutput<typeof i2cConfigPatch>;\n\nconst uartConfig = v.object({\n enabled: v.boolean(),\n baud_rate: v.pipe(v.number(), v.minValue(300), v.maxValue(12_000_000)),\n vcc: v.pipe(v.number(), v.minValue(1.6), v.maxValue(5)),\n});\nexport type UartConfig = v.InferOutput<typeof uartConfig>;\nconst uartConfigPatch = v.partial(uartConfig);\nexport type UartConfigPatch = v.InferOutput<typeof uartConfigPatch>;\n\n/** @hideconstructor */\nexport class ComApi {\n constructor(private readonly fetch: UpFetch) {}\n\n /**\n * Resets the communication interfaces.\n */\n reset(): Promise<void> {\n return this.fetch('/com/reset', { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Access a specific CAN interface by id.\n * @param id The CAN interface id.\n * @returns The CAN instance.\n */\n can(id: number): Can {\n return new Can(this.fetch, id);\n }\n\n /**\n * Access a specific RS232 interface by id.\n * @param id The RS232 interface id.\n * @returns The RS232 instance.\n */\n rs232(id: number): Rs232 {\n return new Rs232(this.fetch, id);\n }\n\n /**\n * Access a specific RS485 interface by id.\n * @param id The RS485 interface id.\n * @returns The RS485 instance.\n */\n rs485(id: number): Rs485 {\n return new Rs485(this.fetch, id);\n }\n\n /**\n * Access a specific SPI interface by id.\n * @param id The SPI interface id.\n * @returns The SPI instance.\n */\n spi(id: number): Spi {\n return new Spi(this.fetch, id);\n }\n\n /**\n * Access a specific I2C interface by id.\n * @param id The I2C interface id.\n * @returns The I2C instance.\n */\n i2c(id: number): I2c {\n return new I2c(this.fetch, id);\n }\n\n /**\n * Access a specific UART interface by id.\n * @param id The UART interface id.\n * @returns The UART instance.\n */\n uart(id: number): Uart {\n return new Uart(this.fetch, id);\n }\n}\n\n/** @hideconstructor */\nexport class Can {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the CAN interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: CanConfigPatch): Promise<CanConfig> {\n return this.fetch(`/com/can/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(canConfigPatch, config),\n schema: canConfig,\n });\n }\n\n /**\n * Transmits data over the CAN interface.\n * @param data The data to transmit.\n * @returns The transmitted data.\n */\n tx(data: CanFrame): Promise<CanFrame> {\n return this.fetch(`/com/can/${this.id}/write`, {\n method: 'POST',\n body: v.parse(canFrame, data),\n schema: canFrame,\n });\n }\n\n /**\n * Starts receiving data over the CAN interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/can/${this.id}/start_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Stops receiving data over the CAN interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/can/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the CAN interface.\n * @returns An array of can frames.\n */\n rx(): Promise<CanFrame[]> {\n return this.fetch(`/com/can/${this.id}/read`, { schema: v.array(canFrame) });\n }\n}\n\n/** @hideconstructor */\nexport class Rs232 {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the RS232 interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: Rs232ConfigPatch): Promise<Rs232Config> {\n return this.fetch(`/com/rs232/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(rs232ConfigPatch, config),\n schema: rs232Config,\n });\n }\n\n /**\n * Transmits data over the RS232 interface.\n * @param data The data to transmit.\n * @returns The transmitted data.\n */\n tx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/rs232/${this.id}/write`, {\n method: 'POST',\n body: v.parse(serialData, data),\n schema: serialData,\n });\n }\n\n /**\n * Starts receiving data over the RS232 interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/rs232/${this.id}/start_rx`, {\n method: 'POST',\n parseResponse: () => {},\n });\n }\n\n /**\n * Stops receiving data over the RS232 interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/rs232/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the RS232 interface.\n * @returns An array containing the received data.\n */\n rx(): Promise<SerialData> {\n return this.fetch(`/com/rs232/${this.id}/read`, { schema: serialData });\n }\n}\n\n/** @hideconstructor */\nexport class Rs485 {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the RS485 interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: Rs485ConfigPatch): Promise<Rs485Config> {\n return this.fetch(`/com/rs485/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(rs485ConfigPatch, config),\n schema: rs485Config,\n });\n }\n\n /**\n * Transmits data over the RS485 interface.\n * @param data The data to transmit.\n * @returns The transmitted data.\n */\n tx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/rs485/${this.id}/write`, {\n method: 'POST',\n body: v.parse(serialData, data),\n schema: serialData,\n });\n }\n\n /**\n * Starts receiving data over the RS485 interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/rs485/${this.id}/start_rx`, {\n method: 'POST',\n parseResponse: () => {},\n });\n }\n\n /**\n * Stops receiving data over the RS485 interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/rs485/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the RS485 interface.\n * @returns The received data.\n */\n rx(): Promise<SerialData> {\n return this.fetch(`/com/rs485/${this.id}/read`, { schema: serialData });\n }\n}\n\n/** @hideconstructor */\nexport class Spi {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the SPI interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: SpiConfigPatch): Promise<SpiConfig> {\n return this.fetch(`/com/spi/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(spiConfigPatch, config),\n schema: spiConfig,\n });\n }\n\n /**\n * Transmits data over the SPI interface and receives the response.\n * @param data The data to transmit.\n * @returns The received response data.\n */\n trx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/spi/${this.id}/write_read`, {\n method: 'POST',\n body: v.parse(serialData, data),\n schema: serialData,\n });\n }\n}\n\n/** @hideconstructor */\nexport class I2c {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the I2C interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: I2cConfigPatch): Promise<I2cConfig> {\n return this.fetch(`/com/i2c/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(i2cConfigPatch, config),\n schema: i2cConfig,\n });\n }\n\n tx(transaction: I2cTransactionWrite): Promise<number> {\n return this.fetch(`/com/i2c/${this.id}/write`, {\n method: 'POST',\n body: v.parse(i2cTransactionWrite, transaction),\n parseResponse: async (response) => {\n const text = await response.text();\n return parseInt(text, 10);\n },\n });\n }\n\n rx(transaction: I2cTransactionRead): Promise<SerialData> {\n return this.fetch(`/com/i2c/${this.id}/read`, {\n method: 'POST',\n body: v.parse(i2cTransactionRead, transaction),\n schema: serialData,\n });\n }\n}\n\n/** @hideconstructor */\nexport class Uart {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the UART interface.\n * @param config The configuration to apply.\n * @returns The updated configuration.\n */\n configure(config: UartConfigPatch): Promise<UartConfig> {\n return this.fetch(`/com/uart/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(uartConfigPatch, config),\n schema: uartConfig,\n });\n }\n\n /**\n * Transmits data over the UART interface.\n * @param data The data to transmit.\n * @returns The received response data.\n */\n tx(data: SerialData): Promise<SerialData> {\n return this.fetch(`/com/uart/${this.id}/write`, {\n method: 'POST',\n body: v.parse(serialData, data),\n });\n }\n\n /**\n * Starts receiving data over the UART interface.\n */\n start_rx(): Promise<void> {\n return this.fetch(`/com/uart/${this.id}/start_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Stops receiving data over the UART interface.\n */\n stop_rx(): Promise<void> {\n return this.fetch(`/com/uart/${this.id}/stop_rx`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Reads data from the UART interface.\n * @returns The received data.\n */\n rx(): Promise<SerialData> {\n return this.fetch(`/com/uart/${this.id}/read`, { schema: serialData });\n }\n}\n"],"mappings":"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"}