@v5x/serial 0.5.4 → 0.5.6

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 (56) hide show
  1. package/README.md +73 -9
  2. package/dist/Vex.d.ts +4 -4
  3. package/dist/VexCRC.d.ts +0 -12
  4. package/dist/VexConnection.d.ts +106 -26
  5. package/dist/VexDevice.d.ts +52 -157
  6. package/{dts/VexDevice.d.ts → dist/VexDeviceState.d.ts} +79 -62
  7. package/dist/VexError.d.ts +50 -0
  8. package/dist/VexEvent.d.ts +15 -10
  9. package/dist/VexFirmware.d.ts +47 -0
  10. package/dist/VexFirmwareVersion.d.ts +4 -43
  11. package/dist/VexIniConfig.d.ts +1 -2
  12. package/dist/VexPacket.d.ts +3 -512
  13. package/dist/VexPacketBase.d.ts +24 -0
  14. package/dist/VexPacketEncoder.d.ts +36 -0
  15. package/{dts/VexPacket.d.ts → dist/VexPacketModels.d.ts} +3 -118
  16. package/dist/VexPacketView.d.ts +5 -3
  17. package/dist/VexTransfers.d.ts +20 -0
  18. package/dist/index.cjs +4175 -0
  19. package/dist/index.cjs.map +25 -0
  20. package/dist/index.d.ts +9 -9
  21. package/dist/index.js +4093 -0
  22. package/dist/index.js.map +25 -0
  23. package/package.json +39 -71
  24. package/dist/v5-serial-protocol.cjs.js +0 -4516
  25. package/dist/v5-serial-protocol.cjs.js.map +0 -1
  26. package/dist/v5-serial-protocol.es.js +0 -4401
  27. package/dist/v5-serial-protocol.es.js.map +0 -1
  28. package/dts/Vex.d.ts +0 -235
  29. package/dts/Vex.js +0 -189
  30. package/dts/Vex.js.map +0 -1
  31. package/dts/VexCRC.d.ts +0 -19
  32. package/dts/VexCRC.js +0 -89
  33. package/dts/VexCRC.js.map +0 -1
  34. package/dts/VexConnection.d.ts +0 -45
  35. package/dts/VexConnection.js +0 -500
  36. package/dts/VexConnection.js.map +0 -1
  37. package/dts/VexDevice.js +0 -944
  38. package/dts/VexDevice.js.map +0 -1
  39. package/dts/VexEvent.d.ts +0 -16
  40. package/dts/VexEvent.js +0 -47
  41. package/dts/VexEvent.js.map +0 -1
  42. package/dts/VexFirmwareVersion.d.ts +0 -55
  43. package/dts/VexFirmwareVersion.js +0 -104
  44. package/dts/VexFirmwareVersion.js.map +0 -1
  45. package/dts/VexIniConfig.d.ts +0 -27
  46. package/dts/VexIniConfig.js +0 -122
  47. package/dts/VexIniConfig.js.map +0 -1
  48. package/dts/VexPacket.js +0 -1036
  49. package/dts/VexPacket.js.map +0 -1
  50. package/dts/VexPacketView.d.ts +0 -18
  51. package/dts/VexPacketView.js +0 -84
  52. package/dts/VexPacketView.js.map +0 -1
  53. package/dts/index.d.ts +0 -9
  54. package/dts/index.js +0 -10
  55. package/dts/index.js.map +0 -1
  56. package/index.d.ts +0 -1098
@@ -1,75 +1,13 @@
1
- import { CrcGenerator } from "./VexCRC";
2
- import * as AllPackets from "./VexPacket";
3
- import { AckType, type DataArray, type FileDownloadTarget, type FileExitAction, FileInitAction, type FileInitOption, type FileLoadAction, type FileVendor, type IFileEntry, type IFileMetadata, type ISmartDeviceInfo, type MatchMode, type SlotNumber, type SelectDashScreen } from "./Vex";
4
- import { VexFirmwareVersion } from "./VexFirmwareVersion";
5
- export declare class PacketEncoder {
6
- static HEADERS_LENGTH: number;
7
- static HEADER_TO_DEVICE: number[];
8
- static HEADER_TO_HOST: number[];
9
- static J2000_EPOCH: number;
10
- vexVersion: number;
11
- crcgen: CrcGenerator;
12
- allPacketsTable: Record<string, typeof HostBoundPacket>;
13
- static getInstance(): AllPackets.PacketEncoder;
14
- private constructor();
15
- /**
16
- * Create the vex CDC header
17
- * @param buf the bytes to send
18
- */
19
- createHeader(buf: ArrayBuffer | undefined): Uint8Array;
20
- /**
21
- * Create the vex CDC simple message
22
- * @param cmd the CDC command byte
23
- */
24
- cdcCommand(cmd: number): Uint8Array;
25
- /**
26
- * Create the vex CDC simple message
27
- * @param cmd the CDC command byte
28
- * @param data the data to send
29
- */
30
- cdcCommandWithData(cmd: number, data: Uint8Array): Uint8Array;
31
- /**
32
- * Create the vex CDC extended message
33
- * @param cmd the CDC command byte
34
- * @param ext the CDC extended command byte
35
- * @return a message
36
- */
37
- cdc2Command(cmd: number, ext: number): Uint8Array;
38
- /**
39
- * Calculate buffer length for new CDC extended command
40
- * @param data the CDC extended command payload
41
- * @returns the required buffer length of the command message
42
- */
43
- cdc2CommandBufferLength(data: Uint8Array): number;
44
- /**
45
- * Create the vex CDC extended message with some data
46
- * @param cmd the CDC command byte
47
- * @param ext the CDC extended command byte
48
- * @param data the CDC extended command payload
49
- * @return a message
50
- */
51
- cdc2CommandWithData(cmd: number, ext: number, data: Uint8Array): Uint8Array;
52
- validateHeader(data: Uint8Array): boolean;
53
- validateMessageCdc(data: Uint8Array): boolean;
54
- getPayloadSize(data: Uint8Array): number;
55
- }
56
- export declare abstract class Packet {
57
- data: Uint8Array;
58
- static ENCODER: PacketEncoder;
59
- constructor(rawData: DataArray);
60
- }
61
- export declare class DeviceBoundPacket extends Packet {
62
- constructor(payload?: Uint8Array);
63
- }
1
+ import { type DataArray, type FileDownloadTarget, type FileExitAction, FileInitAction, type FileInitOption, type FileLoadAction, type FileVendor, type IFileEntry, type IFileMetadata, type ISmartDeviceInfo, type MatchMode, type SlotNumber, type SelectDashScreen } from "./Vex.js";
2
+ import { VexFirmwareVersion } from "./VexFirmwareVersion.js";
3
+ import { DeviceBoundPacket, HostBoundPacket } from "./VexPacketBase.js";
64
4
  export declare class Query1H2DPacket extends DeviceBoundPacket {
65
5
  static COMMAND_ID: number;
66
6
  static COMMAND_EXTENDED_ID: undefined;
67
- constructor();
68
7
  }
69
8
  export declare class SystemVersionH2DPacket extends DeviceBoundPacket {
70
9
  static COMMAND_ID: number;
71
10
  static COMMAND_EXTENDED_ID: undefined;
72
- constructor();
73
11
  }
74
12
  export declare class UpdateMatchModeH2DPacket extends DeviceBoundPacket {
75
13
  static COMMAND_ID: number;
@@ -79,7 +17,6 @@ export declare class UpdateMatchModeH2DPacket extends DeviceBoundPacket {
79
17
  export declare class GetMatchStatusH2DPacket extends DeviceBoundPacket {
80
18
  static COMMAND_ID: number;
81
19
  static COMMAND_EXTENDED_ID: number;
82
- constructor();
83
20
  }
84
21
  export declare class GetRadioModeH2DPacket extends DeviceBoundPacket {
85
22
  static COMMAND_ID: number;
@@ -136,11 +73,6 @@ export declare class GetFileMetadataH2DPacket extends DeviceBoundPacket {
136
73
  static COMMAND_EXTENDED_ID: number;
137
74
  constructor(vendor: FileVendor, fileName: string, options: number);
138
75
  }
139
- export declare class SetFileMetadataH2DPacket extends DeviceBoundPacket {
140
- static COMMAND_ID: number;
141
- static COMMAND_EXTENDED_ID: number;
142
- constructor(vendor: FileVendor, fileName: string, fileInfo: IFileMetadata, options: number);
143
- }
144
76
  export declare class EraseFileH2DPacket extends DeviceBoundPacket {
145
77
  static COMMAND_ID: number;
146
78
  static COMMAND_EXTENDED_ID: number;
@@ -168,22 +100,18 @@ export declare class GetSystemFlagsH2DPacket extends DeviceBoundPacket {
168
100
  export declare class GetDeviceStatusH2DPacket extends DeviceBoundPacket {
169
101
  static COMMAND_ID: number;
170
102
  static COMMAND_EXTENDED_ID: number;
171
- constructor();
172
103
  }
173
104
  export declare class GetSystemStatusH2DPacket extends DeviceBoundPacket {
174
105
  static COMMAND_ID: number;
175
106
  static COMMAND_EXTENDED_ID: number;
176
- constructor();
177
107
  }
178
108
  export declare class GetFdtStatusH2DPacket extends DeviceBoundPacket {
179
109
  static COMMAND_ID: number;
180
110
  static COMMAND_EXTENDED_ID: number;
181
- constructor();
182
111
  }
183
112
  export declare class GetLogCountH2DPacket extends DeviceBoundPacket {
184
113
  static COMMAND_ID: number;
185
114
  static COMMAND_EXTENDED_ID: number;
186
- constructor();
187
115
  }
188
116
  export declare class ReadLogPageH2DPacket extends DeviceBoundPacket {
189
117
  static COMMAND_ID: number;
@@ -193,12 +121,6 @@ export declare class ReadLogPageH2DPacket extends DeviceBoundPacket {
193
121
  export declare class GetRadioStatusH2DPacket extends DeviceBoundPacket {
194
122
  static COMMAND_ID: number;
195
123
  static COMMAND_EXTENDED_ID: number;
196
- constructor();
197
- }
198
- export declare class GetUserDataH2DPacket extends DeviceBoundPacket {
199
- static COMMAND_ID: number;
200
- static COMMAND_EXTENDED_ID: number;
201
- constructor(e?: Uint8Array);
202
124
  }
203
125
  export declare class ScreenCaptureH2DPacket extends DeviceBoundPacket {
204
126
  static COMMAND_ID: number;
@@ -213,19 +135,8 @@ export declare class SendDashTouchH2DPacket extends DeviceBoundPacket {
213
135
  export declare class SelectDashH2DPacket extends DeviceBoundPacket {
214
136
  static COMMAND_ID: number;
215
137
  static COMMAND_EXTENDED_ID: number;
216
- /** @param port untested */
217
138
  constructor(screen: number | SelectDashScreen, port: number);
218
139
  }
219
- export declare class EnableDashH2DPacket extends DeviceBoundPacket {
220
- static COMMAND_ID: number;
221
- static COMMAND_EXTENDED_ID: number;
222
- constructor(unknown1?: number);
223
- }
224
- export declare class DisableDashH2DPacket extends DeviceBoundPacket {
225
- static COMMAND_ID: number;
226
- static COMMAND_EXTENDED_ID: number;
227
- constructor();
228
- }
229
140
  export declare class ReadKeyValueH2DPacket extends DeviceBoundPacket {
230
141
  static COMMAND_ID: number;
231
142
  static COMMAND_EXTENDED_ID: number;
@@ -239,12 +150,10 @@ export declare class WriteKeyValueH2DPacket extends DeviceBoundPacket {
239
150
  export declare class GetSlot1to4InfoH2DPacket extends DeviceBoundPacket {
240
151
  static COMMAND_ID: number;
241
152
  static COMMAND_EXTENDED_ID: number;
242
- constructor();
243
153
  }
244
154
  export declare class GetSlot5to8InfoH2DPacket extends DeviceBoundPacket {
245
155
  static COMMAND_ID: number;
246
156
  static COMMAND_EXTENDED_ID: number;
247
- constructor();
248
157
  }
249
158
  export declare class FactoryStatusH2DPacket extends DeviceBoundPacket {
250
159
  static COMMAND_ID: number;
@@ -255,13 +164,6 @@ export declare class FactoryEnableH2DPacket extends DeviceBoundPacket {
255
164
  static COMMAND_EXTENDED_ID: number;
256
165
  constructor();
257
166
  }
258
- export declare class HostBoundPacket extends Packet {
259
- ack: AckType;
260
- payloadSize: number;
261
- ackIndex: number;
262
- constructor(data: DataArray);
263
- static isValidPacket(data: Uint8Array, n: number): boolean;
264
- }
265
167
  export declare class Query1ReplyD2HPacket extends HostBoundPacket {
266
168
  static COMMAND_ID: number;
267
169
  static COMMAND_EXTENDED_ID: undefined;
@@ -335,7 +237,6 @@ export declare class ReadFileReplyD2HPacket extends HostBoundPacket {
335
237
  length: number;
336
238
  buf: ArrayBuffer;
337
239
  constructor(data: DataArray);
338
- static isValidPacket(data: Uint8Array, n: number): boolean;
339
240
  }
340
241
  export declare class LinkFileReplyD2HPacket extends HostBoundPacket {
341
242
  static COMMAND_ID: number;
@@ -363,10 +264,6 @@ export declare class GetFileMetadataReplyD2HPacket extends HostBoundPacket {
363
264
  file?: IFileMetadata;
364
265
  constructor(data: DataArray);
365
266
  }
366
- export declare class SetFileMetadataReplyD2HPacket extends HostBoundPacket {
367
- static COMMAND_ID: number;
368
- static COMMAND_EXTENDED_ID: number;
369
- }
370
267
  export declare class EraseFileReplyD2HPacket extends HostBoundPacket {
371
268
  static COMMAND_ID: number;
372
269
  static COMMAND_EXTENDED_ID: number;
@@ -452,10 +349,6 @@ export declare class GetRadioStatusReplyD2HPacket extends HostBoundPacket {
452
349
  timeslot: number;
453
350
  constructor(data: DataArray);
454
351
  }
455
- export declare class GetUserDataReplyD2HPacket extends HostBoundPacket {
456
- static COMMAND_ID: number;
457
- static COMMAND_EXTENDED_ID: number;
458
- }
459
352
  export declare class ScreenCaptureReplyD2HPacket extends HostBoundPacket {
460
353
  static COMMAND_ID: number;
461
354
  static COMMAND_EXTENDED_ID: number;
@@ -468,14 +361,6 @@ export declare class SelectDashReplyD2HPacket extends HostBoundPacket {
468
361
  static COMMAND_ID: number;
469
362
  static COMMAND_EXTENDED_ID: number;
470
363
  }
471
- export declare class EnableDashReplyD2HPacket extends HostBoundPacket {
472
- static COMMAND_ID: number;
473
- static COMMAND_EXTENDED_ID: number;
474
- }
475
- export declare class DisableDashReplyD2HPacket extends HostBoundPacket {
476
- static COMMAND_ID: number;
477
- static COMMAND_EXTENDED_ID: number;
478
- }
479
364
  export declare class ReadKeyValueReplyD2HPacket extends HostBoundPacket {
480
365
  static COMMAND_ID: number;
481
366
  static COMMAND_EXTENDED_ID: number;
@@ -1,6 +1,6 @@
1
- import { VexFirmwareVersion } from "./VexFirmwareVersion";
2
- import { type HostBoundPacket } from "./VexPacket";
3
- export declare class PacketView extends DataView {
1
+ import { VexFirmwareVersion } from "./VexFirmwareVersion.js";
2
+ import { type HostBoundPacket } from "./VexPacket.js";
3
+ export declare class PacketView extends DataView<ArrayBuffer> {
4
4
  position: number;
5
5
  littleEndianDefault: boolean;
6
6
  constructor(buffer: ArrayBuffer, offset?: number, length?: number);
@@ -12,7 +12,9 @@ export declare class PacketView extends DataView {
12
12
  nextInt32(littleEndian?: boolean): number;
13
13
  nextUint32(littleEndian?: boolean): number;
14
14
  nextString(length: number): string;
15
+ /** Read a null-terminated string from a fixed-width `length`-byte field. */
15
16
  nextNTBS(length: number): string;
17
+ /** Read a null-terminated string of at most `length` bytes. */
16
18
  nextVarNTBS(length: number): string;
17
19
  nextVersion(reverse?: boolean): VexFirmwareVersion;
18
20
  }
@@ -0,0 +1,20 @@
1
+ import { type IFileBasicInfo, type IFileHandle, FileVendor, type IProgramInfo, type IFileWriteRequest, FileDownloadTarget } from "./Vex.js";
2
+ import { type ProgramIniConfig } from "./VexIniConfig.js";
3
+ import type { V5SerialDeviceState } from "./VexDeviceState.js";
4
+ import { VexSerialError } from "./VexError.js";
5
+ import { ResultAsync } from "neverthrow";
6
+ export declare function getValue(state: V5SerialDeviceState, key: string): ResultAsync<string | undefined, VexSerialError>;
7
+ export declare function setValue(state: V5SerialDeviceState, key: string, value: string): ResultAsync<void, VexSerialError>;
8
+ export declare function listFiles(state: V5SerialDeviceState, vendor?: FileVendor): ResultAsync<IFileHandle[], VexSerialError>;
9
+ export declare function listProgram(state: V5SerialDeviceState): ResultAsync<IProgramInfo[], VexSerialError>;
10
+ export declare function readFile(state: V5SerialDeviceState, request: IFileBasicInfo | string, downloadTarget?: FileDownloadTarget, progressCallback?: (current: number, total: number) => void): ResultAsync<Uint8Array, VexSerialError>;
11
+ export declare function removeFile(state: V5SerialDeviceState, request: IFileBasicInfo | string): ResultAsync<void, VexSerialError>;
12
+ export declare function removeAllFiles(state: V5SerialDeviceState): ResultAsync<void, VexSerialError>;
13
+ export declare function uploadProgram(state: V5SerialDeviceState, iniConfig: ProgramIniConfig, binFileBuf: Uint8Array, coldFileBuf: Uint8Array | undefined, progressCallback: (state: string, current: number, total: number) => void): ResultAsync<boolean, VexSerialError>;
14
+ export declare function writeFile(state: V5SerialDeviceState, request: IFileWriteRequest, progressCallback?: (current: number, total: number) => void): ResultAsync<boolean, VexSerialError>;
15
+ /**
16
+ * @param progressCallback Informs the progress of the download.
17
+ * @returns array of bytes where each pixel is represented by 3 consecutive bytes (rgb).
18
+ * This array's length is 272 width * 480 height * 3 channels = 391680 bytes.
19
+ */
20
+ export declare function captureScreen(state: V5SerialDeviceState, progressCallback?: (current: number, total: number) => void): ResultAsync<Uint8Array, VexSerialError>;