@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.
- package/build/at1000-C05Nf5BV.mjs +2 -0
- package/build/at1000-C05Nf5BV.mjs.map +1 -0
- package/build/{at1000-CtJGQzs4.d.mts → at1000-DC56gH_z.d.mts} +5 -5
- package/build/{at1000-CtJGQzs4.d.mts.map → at1000-DC56gH_z.d.mts.map} +1 -1
- package/build/{at1000-BhiyEaDO.d.cts → at1000-DWXwGN_p.d.cts} +5 -5
- package/build/{at1000-BhiyEaDO.d.cts.map → at1000-DWXwGN_p.d.cts.map} +1 -1
- package/build/at1000-yTj5rhJg.cjs +2 -0
- package/build/at1000-yTj5rhJg.cjs.map +1 -0
- package/build/browser.cjs +1 -1
- package/build/browser.d.cts +1 -8
- package/build/browser.d.cts.map +1 -1
- package/build/browser.d.mts +5 -5
- package/build/browser.mjs +1 -1
- package/build/com-Bq-d2n2_.mjs.map +1 -1
- package/build/{com-Bau2RVba.d.cts → com-CrsBtPlz.d.cts} +29 -29
- package/build/{com-Bau2RVba.d.cts.map → com-CrsBtPlz.d.cts.map} +1 -1
- package/build/com-D6zvDfVV.cjs.map +1 -1
- package/build/{com-Bd30LXVW.d.mts → com-_ILcTDIy.d.mts} +29 -29
- package/build/{com-Bd30LXVW.d.mts.map → com-_ILcTDIy.d.mts.map} +1 -1
- package/build/com.d.cts +1 -1
- package/build/com.d.mts +1 -1
- package/build/gpio-BnyLCBEg.cjs.map +1 -1
- package/build/{gpio-DGcccQh6.d.cts → gpio-CAEHrpQE.d.cts} +17 -17
- package/build/{gpio-CvLKWnSo.d.mts.map → gpio-CAEHrpQE.d.cts.map} +1 -1
- package/build/{gpio-CvLKWnSo.d.mts → gpio-DH9cP9Yd.d.mts} +17 -17
- package/build/{gpio-DGcccQh6.d.cts.map → gpio-DH9cP9Yd.d.mts.map} +1 -1
- package/build/gpio-bjzKV_Vy.mjs.map +1 -1
- package/build/gpio.d.cts +1 -2
- package/build/gpio.d.mts +1 -1
- package/build/{hmi-C1-vU40b.d.cts → hmi-BqgMEVWu.d.mts} +4 -4
- package/build/{hmi-C1-vU40b.d.cts.map → hmi-BqgMEVWu.d.mts.map} +1 -1
- package/build/{hmi-CIOjZVch.d.mts → hmi-CG5IhN4l.d.cts} +4 -4
- package/build/{hmi-CIOjZVch.d.mts.map → hmi-CG5IhN4l.d.cts.map} +1 -1
- package/build/hmi-CTx2jfxU.mjs.map +1 -1
- package/build/hmi-CnTa8kMx.cjs.map +1 -1
- package/build/hmi.d.cts +1 -1
- package/build/hmi.d.mts +1 -1
- package/build/management-BKLSOMbM.mjs.map +1 -1
- package/build/management-DHD60Xrp.cjs.map +1 -1
- package/build/node.cjs +1 -1
- package/build/node.cjs.map +1 -1
- package/build/node.d.cts +1 -8
- package/build/node.d.cts.map +1 -1
- package/build/node.d.mts +5 -5
- package/build/node.mjs +1 -1
- package/build/node.mjs.map +1 -1
- package/build/{power-CSNvBKgh.d.cts → power-CDwKKL2S.d.cts} +19 -19
- package/build/{power-CSNvBKgh.d.cts.map → power-CDwKKL2S.d.cts.map} +1 -1
- package/build/{power-Cefqtt9P.d.mts → power-DWFus9vw.d.mts} +19 -19
- package/build/{power-Cefqtt9P.d.mts.map → power-DWFus9vw.d.mts.map} +1 -1
- package/build/power-PrmE0ai2.cjs.map +1 -1
- package/build/power-hwld3j5a.mjs.map +1 -1
- package/build/power.d.cts +1 -2
- package/build/power.d.mts +1 -1
- package/build/relays-BK2uL5i_.cjs.map +1 -1
- package/build/relays-CqglfFwF.mjs.map +1 -1
- package/package.json +8 -8
- package/build/at1000-CgxthtV5.cjs +0 -2
- package/build/at1000-CgxthtV5.cjs.map +0 -1
- package/build/at1000-zvuVNh5z.mjs +0 -2
- 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-
|
|
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-
|
|
4
|
-
import { r as HmiApi } from "./hmi-
|
|
5
|
-
import { i as PowerApi } from "./power-
|
|
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-
|
|
50
|
+
//# sourceMappingURL=at1000-DC56gH_z.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"at1000-
|
|
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-
|
|
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-
|
|
4
|
-
import { r as HmiApi } from "./hmi-
|
|
5
|
-
import { i as PowerApi } from "./power-
|
|
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-
|
|
50
|
+
//# sourceMappingURL=at1000-DWXwGN_p.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"at1000-
|
|
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-
|
|
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
|
package/build/browser.d.cts
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
import "./
|
|
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 */
|
package/build/browser.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.cts","names":[],"sources":["../src/browser.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browser.d.cts","names":[],"sources":["../src/browser.ts"],"sourcesContent":[],"mappings":";;;;cAIa,MAAA,SAAe,UAAA;EAAf,gBAAO,UAAQ,EAAA,MAAU"}
|
package/build/browser.d.mts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import "./com-
|
|
1
|
+
import "./com-_ILcTDIy.mjs";
|
|
2
2
|
import "./common-SiysH9tt.mjs";
|
|
3
3
|
import "./management-CwNeejKZ.mjs";
|
|
4
|
-
import "./gpio-
|
|
5
|
-
import "./hmi-
|
|
6
|
-
import "./power-
|
|
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-
|
|
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-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
168
|
-
readonly
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
350
|
-
readonly
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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-
|
|
613
|
+
//# sourceMappingURL=com-CrsBtPlz.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"com-
|
|
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":"0EAGA,MAAM,EAAWA,EAAE,OAAO,CACxB,OAAQA,EAAE,QAAQ,CAClB,KAAMA,EAAE,KAAKA,EAAE,MAAMA,EAAE,QAAQ,CAAC,CAAEA,EAAE,UAAU,EAAE,CAAEA,EAAE,UAAU,EAAE,CAAC,CAClE,CAAC,CAGI,EAAaA,EAAE,KACnBA,EAAE,MAAMA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAEA,EAAE,SAAS,IAAI,CAAC,CAAC,CAC3DA,EAAE,UAAU,EAAE,CACdA,EAAE,UAAU,KAAK,CAClB,CAGK,EAAqBA,EAAE,OAAO,CAClC,QAASA,EAAE,QAAQ,CACnB,MAAOA,EAAE,SAAS,CAClB,KAAMA,EAAE,SAAS,CACjB,eAAgBA,EAAE,SAAS,CAC5B,CAAC,CACI,EAAqBA,EAAE,UAAU,CACrCA,EAAE,QAAQ,EAAoB,CAAC,QAAS,OAAQ,iBAAiB,CAAC,CAClEA,EAAE,OAAO,CAAE,OAAQA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAEA,EAAE,SAAS,KAAK,CAAC,CAAE,CAAC,CAC1E,CAAC,CAEI,EAAsBA,EAAE,UAAU,CACtCA,EAAE,QAAQ,EAAoB,CAAC,QAAS,OAAQ,iBAAiB,CAAC,CAClEA,EAAE,OAAO,CAAE,KAAM,EAAY,CAAC,CAC/B,CAAC,CAGI,EAAYA,EAAE,OAAO,CACzB,QAASA,EAAE,SAAS,CACpB,UAAWA,EAAE,SAAS,CAAC,IAAO,IAAQ,IAAQ,MAAQ,KAAQ,IAAQ,IAAQ,IAAQ,MACpF,KAAQ,IAAS,MAAS,IAAS,KAAS,IAAS,IAAU,CAAC,CAClE,sBAAuBA,EAAE,SAAS,CAClC,UAAWA,EAAE,OAAO,CAAE,YAAaA,EAAE,SAAS,CAAE,GAAIA,EAAE,QAAQ,CAAE,KAAMA,EAAE,QAAQ,CAAE,CAAC,CACpF,CAAC,CAEI,EAAiBA,EAAE,QAAQ,EAAU,CAGrC,EAAcA,EAAE,OAAO,CAC3B,QAASA,EAAE,SAAS,CACpB,UAAWA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,IAAI,CAAEA,EAAE,SAAS,IAAU,CAAC,CACtE,CAAC,CAEI,EAAmBA,EAAE,QAAQ,EAAY,CAGzC,EAAcA,EAAE,OAAO,CAC3B,QAASA,EAAE,SAAS,CACpB,UAAWA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,IAAI,CAAEA,EAAE,SAAS,IAAW,CAAC,CACtE,sBAAuBA,EAAE,SAAS,CACnC,CAAC,CAEI,EAAmBA,EAAE,QAAQ,EAAY,CAGzC,EAAYA,EAAE,OAAO,CACzB,QAASA,EAAE,SAAS,CACpB,UAAWA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,IAAI,CAAEA,EAAE,SAAS,IAAW,CAAC,CACtE,IAAKA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,IAAI,CAAEA,EAAE,SAAS,EAAE,CAAC,CACxD,CAAC,CAEI,EAAiBA,EAAE,QAAQ,EAAU,CAGrC,EAAYA,EAAE,OAAO,CACzB,QAASA,EAAE,SAAS,CACpB,UAAWA,EAAE,SAAS,CAAC,IAAS,IAAS,IAAU,CAAC,CACpD,IAAKA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,IAAI,CAAEA,EAAE,SAAS,EAAE,CAAC,CACxD,CAAC,CAEI,EAAiBA,EAAE,QAAQ,EAAU,CAGrC,EAAaA,EAAE,OAAO,CAC1B,QAASA,EAAE,SAAS,CACpB,UAAWA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,IAAI,CAAEA,EAAE,SAAS,KAAW,CAAC,CACtE,IAAKA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,IAAI,CAAEA,EAAE,SAAS,EAAE,CAAC,CACxD,CAAC,CAEI,EAAkBA,EAAE,QAAQ,EAAW,CAI7C,IAAa,EAAb,KAAoB,CAClB,YAAY,EAAiC,CAAhB,KAAA,MAAA,EAK7B,OAAuB,CACrB,OAAO,KAAK,MAAM,aAAc,CAAE,OAAQ,OAAQ,kBAAqB,GAAI,CAAC,CAQ9E,IAAI,EAAiB,CACnB,OAAO,IAAI,EAAI,KAAK,MAAO,EAAG,CAQhC,MAAM,EAAmB,CACvB,OAAO,IAAI,EAAM,KAAK,MAAO,EAAG,CAQlC,MAAM,EAAmB,CACvB,OAAO,IAAI,EAAM,KAAK,MAAO,EAAG,CAQlC,IAAI,EAAiB,CACnB,OAAO,IAAI,EAAI,KAAK,MAAO,EAAG,CAQhC,IAAI,EAAiB,CACnB,OAAO,IAAI,EAAI,KAAK,MAAO,EAAG,CAQhC,KAAK,EAAkB,CACrB,OAAO,IAAI,EAAK,KAAK,MAAO,EAAG,GAKtB,EAAb,KAAiB,CACf,YAAY,EAAiC,EAA4B,CAA5C,KAAA,MAAA,EAAgC,KAAA,GAAA,EAO7D,UAAU,EAA4C,CACpD,OAAO,KAAK,MAAM,YAAY,KAAK,GAAG,SAAU,CAC9C,OAAQ,QACR,KAAMA,EAAE,MAAM,EAAgB,EAAO,CACrC,OAAQ,EACT,CAAC,CAQJ,GAAG,EAAmC,CACpC,OAAO,KAAK,MAAM,YAAY,KAAK,GAAG,QAAS,CAC7C,OAAQ,OACR,KAAMA,EAAE,MAAM,EAAU,EAAK,CAC7B,OAAQ,EACT,CAAC,CAMJ,UAA0B,CACxB,OAAO,KAAK,MAAM,YAAY,KAAK,GAAG,WAAY,CAAE,OAAQ,OAAQ,kBAAqB,GAAI,CAAC,CAMhG,SAAyB,CACvB,OAAO,KAAK,MAAM,YAAY,KAAK,GAAG,UAAW,CAAE,OAAQ,OAAQ,kBAAqB,GAAI,CAAC,CAO/F,IAA0B,CACxB,OAAO,KAAK,MAAM,YAAY,KAAK,GAAG,OAAQ,CAAE,OAAQA,EAAE,MAAM,EAAS,CAAE,CAAC,GAKnE,EAAb,KAAmB,CACjB,YAAY,EAAiC,EAA4B,CAA5C,KAAA,MAAA,EAAgC,KAAA,GAAA,EAO7D,UAAU,EAAgD,CACxD,OAAO,KAAK,MAAM,cAAc,KAAK,GAAG,SAAU,CAChD,OAAQ,QACR,KAAMA,EAAE,MAAM,EAAkB,EAAO,CACvC,OAAQ,EACT,CAAC,CAQJ,GAAG,EAAuC,CACxC,OAAO,KAAK,MAAM,cAAc,KAAK,GAAG,QAAS,CAC/C,OAAQ,OACR,KAAMA,EAAE,MAAM,EAAY,EAAK,CAC/B,OAAQ,EACT,CAAC,CAMJ,UAA0B,CACxB,OAAO,KAAK,MAAM,cAAc,KAAK,GAAG,WAAY,CAClD,OAAQ,OACR,kBAAqB,GACtB,CAAC,CAMJ,SAAyB,CACvB,OAAO,KAAK,MAAM,cAAc,KAAK,GAAG,UAAW,CAAE,OAAQ,OAAQ,kBAAqB,GAAI,CAAC,CAOjG,IAA0B,CACxB,OAAO,KAAK,MAAM,cAAc,KAAK,GAAG,OAAQ,CAAE,OAAQ,EAAY,CAAC,GAK9D,EAAb,KAAmB,CACjB,YAAY,EAAiC,EAA4B,CAA5C,KAAA,MAAA,EAAgC,KAAA,GAAA,EAO7D,UAAU,EAAgD,CACxD,OAAO,KAAK,MAAM,cAAc,KAAK,GAAG,SAAU,CAChD,OAAQ,QACR,KAAMA,EAAE,MAAM,EAAkB,EAAO,CACvC,OAAQ,EACT,CAAC,CAQJ,GAAG,EAAuC,CACxC,OAAO,KAAK,MAAM,cAAc,KAAK,GAAG,QAAS,CAC/C,OAAQ,OACR,KAAMA,EAAE,MAAM,EAAY,EAAK,CAC/B,OAAQ,EACT,CAAC,CAMJ,UAA0B,CACxB,OAAO,KAAK,MAAM,cAAc,KAAK,GAAG,WAAY,CAClD,OAAQ,OACR,kBAAqB,GACtB,CAAC,CAMJ,SAAyB,CACvB,OAAO,KAAK,MAAM,cAAc,KAAK,GAAG,UAAW,CAAE,OAAQ,OAAQ,kBAAqB,GAAI,CAAC,CAOjG,IAA0B,CACxB,OAAO,KAAK,MAAM,cAAc,KAAK,GAAG,OAAQ,CAAE,OAAQ,EAAY,CAAC,GAK9D,EAAb,KAAiB,CACf,YAAY,EAAiC,EAA4B,CAA5C,KAAA,MAAA,EAAgC,KAAA,GAAA,EAO7D,UAAU,EAA4C,CACpD,OAAO,KAAK,MAAM,YAAY,KAAK,GAAG,SAAU,CAC9C,OAAQ,QACR,KAAMA,EAAE,MAAM,EAAgB,EAAO,CACrC,OAAQ,EACT,CAAC,CAQJ,IAAI,EAAuC,CACzC,OAAO,KAAK,MAAM,YAAY,KAAK,GAAG,aAAc,CAClD,OAAQ,OACR,KAAMA,EAAE,MAAM,EAAY,EAAK,CAC/B,OAAQ,EACT,CAAC,GAKO,EAAb,KAAiB,CACf,YAAY,EAAiC,EAA4B,CAA5C,KAAA,MAAA,EAAgC,KAAA,GAAA,EAO7D,UAAU,EAA4C,CACpD,OAAO,KAAK,MAAM,YAAY,KAAK,GAAG,SAAU,CAC9C,OAAQ,QACR,KAAMA,EAAE,MAAM,EAAgB,EAAO,CACrC,OAAQ,EACT,CAAC,CAGJ,GAAG,EAAmD,CACpD,OAAO,KAAK,MAAM,YAAY,KAAK,GAAG,QAAS,CAC7C,OAAQ,OACR,KAAMA,EAAE,MAAM,EAAqB,EAAY,CAC/C,cAAe,KAAO,IAAa,CACjC,IAAM,EAAO,MAAM,EAAS,MAAM,CAClC,OAAO,SAAS,EAAM,GAAG,EAE5B,CAAC,CAGJ,GAAG,EAAsD,CACvD,OAAO,KAAK,MAAM,YAAY,KAAK,GAAG,OAAQ,CAC5C,OAAQ,OACR,KAAMA,EAAE,MAAM,EAAoB,EAAY,CAC9C,OAAQ,EACT,CAAC,GAKO,EAAb,KAAkB,CAChB,YAAY,EAAiC,EAA4B,CAA5C,KAAA,MAAA,EAAgC,KAAA,GAAA,EAO7D,UAAU,EAA8C,CACtD,OAAO,KAAK,MAAM,aAAa,KAAK,GAAG,SAAU,CAC/C,OAAQ,QACR,KAAMA,EAAE,MAAM,EAAiB,EAAO,CACtC,OAAQ,EACT,CAAC,CAQJ,GAAG,EAAuC,CACxC,OAAO,KAAK,MAAM,aAAa,KAAK,GAAG,QAAS,CAC9C,OAAQ,OACR,KAAMA,EAAE,MAAM,EAAY,EAAK,CAChC,CAAC,CAMJ,UAA0B,CACxB,OAAO,KAAK,MAAM,aAAa,KAAK,GAAG,WAAY,CAAE,OAAQ,OAAQ,kBAAqB,GAAI,CAAC,CAMjG,SAAyB,CACvB,OAAO,KAAK,MAAM,aAAa,KAAK,GAAG,UAAW,CAAE,OAAQ,OAAQ,kBAAqB,GAAI,CAAC,CAOhG,IAA0B,CACxB,OAAO,KAAK,MAAM,aAAa,KAAK,GAAG,OAAQ,CAAE,OAAQ,EAAY,CAAC"}
|