@duet3d/objectmodel 3.7.0-alpha.13 → 3.7.0-alpha.15

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 (48) hide show
  1. package/dist/boards/Driver.d.ts +1 -1
  2. package/dist/boards/Driver.js +1 -1
  3. package/dist/boards/directDisplay/DirectDisplayScreenST7567.js +1 -1
  4. package/dist/boards/index.d.ts +0 -1
  5. package/dist/boards/index.js +0 -1
  6. package/dist/documentation.json +57 -15
  7. package/dist/enums.json +34 -2
  8. package/dist/heat/HeaterModel.d.ts +0 -1
  9. package/dist/heat/HeaterModel.js +0 -1
  10. package/dist/inputs/CodeChannel.d.ts +2 -1
  11. package/dist/inputs/CodeChannel.js +2 -1
  12. package/dist/inputs/InputChannel.d.ts +1 -0
  13. package/dist/inputs/InputChannel.js +1 -0
  14. package/dist/job/Build.d.ts +2 -2
  15. package/dist/job/Build.js +2 -2
  16. package/dist/job/GCodeFileInfo.d.ts +1 -1
  17. package/dist/job/GCodeFileInfo.js +1 -1
  18. package/dist/job/index.d.ts +3 -3
  19. package/dist/job/index.js +2 -3
  20. package/dist/ledStrips/index.js +1 -1
  21. package/dist/move/index.d.ts +2 -0
  22. package/dist/move/index.js +2 -0
  23. package/dist/move/kinematics/KinematicsBase.d.ts +2 -2
  24. package/dist/move/kinematics/KinematicsBase.js +3 -2
  25. package/dist/network/NetworkInterface.d.ts +1 -1
  26. package/dist/network/NetworkInterface.js +1 -1
  27. package/dist/plugins/PluginManifest.d.ts +1 -0
  28. package/dist/plugins/PluginManifest.js +1 -0
  29. package/dist/plugins/index.d.ts +1 -0
  30. package/dist/plugins/index.js +1 -0
  31. package/dist/sbc/Memory.d.ts +2 -2
  32. package/dist/sbc/dsf/UserSession.d.ts +1 -1
  33. package/dist/sbc/dsf/UserSession.js +1 -1
  34. package/dist/sbc/dsf/index.d.ts +1 -0
  35. package/dist/sbc/dsf/index.js +1 -0
  36. package/dist/sensors/AnalogSensor.d.ts +11 -2
  37. package/dist/sensors/AnalogSensor.js +11 -2
  38. package/dist/sensors/FilamentMonitors/LaserFilamentMonitor.d.ts +1 -1
  39. package/dist/sensors/FilamentMonitors/LaserFilamentMonitor.js +1 -1
  40. package/dist/sensors/Probe.d.ts +1 -3
  41. package/dist/sensors/Probe.js +1 -3
  42. package/dist/state/index.d.ts +1 -0
  43. package/dist/state/index.js +1 -0
  44. package/dist/tools/index.d.ts +1 -1
  45. package/dist/tools/index.js +1 -1
  46. package/dist/volumes/index.d.ts +2 -1
  47. package/dist/volumes/index.js +1 -0
  48. package/package.json +1 -1
@@ -21,7 +21,7 @@ export declare enum DriverMode {
21
21
  }
22
22
  export declare class DriverConfig extends ModelObject {
23
23
  direction: boolean;
24
- mode: DriverMode;
24
+ mode: DriverMode | null;
25
25
  }
26
26
  export default class Driver extends ModelObject {
27
27
  constructor();
@@ -33,7 +33,7 @@ export class DriverConfig extends ModelObject {
33
33
  constructor() {
34
34
  super(...arguments);
35
35
  this.direction = true;
36
- this.mode = DriverMode.spreadCycle;
36
+ this.mode = null;
37
37
  }
38
38
  }
39
39
  export default class Driver extends ModelObject {
@@ -11,7 +11,7 @@ export class DirectDisplayScreenST7567 extends DirectDisplayScreenBase {
11
11
  return null;
12
12
  }
13
13
  if (typeof jsonElement.controller === "string" && jsonElement.controller !== this.controller) {
14
- return getDirectDisplayScreen(jsonElement.type).update(jsonElement);
14
+ return getDirectDisplayScreen(jsonElement.controller).update(jsonElement);
15
15
  }
16
16
  return super.update(jsonElement);
17
17
  }
@@ -29,7 +29,6 @@ export declare class MinMaxCurrent extends ModelObject {
29
29
  export declare class Board extends ModelObject {
30
30
  constructor();
31
31
  accelerometer: Accelerometer | null;
32
- bootloaderFileName: string | null;
33
32
  canAddress: number | null;
34
33
  closedLoop: BoardClosedLoop | null;
35
34
  directDisplay: DirectDisplay | null;
@@ -40,7 +40,6 @@ export class Board extends ModelObject {
40
40
  constructor() {
41
41
  super();
42
42
  this.accelerometer = null;
43
- this.bootloaderFileName = null;
44
43
  this.canAddress = null;
45
44
  this.closedLoop = null;
46
45
  this.directDisplay = null;
@@ -10,7 +10,6 @@
10
10
  },
11
11
  "boards[].accelerometer.points": "Number of collected data points in the last run or 0 if it failed",
12
12
  "boards[].accelerometer.runs": "Number of completed sampling runs",
13
- "boards[].bootloaderFileName": "Filename of the bootloader binary or null if unknown",
14
13
  "boards[].canAddress": "CAN address of this board or null if not applicable",
15
14
  "boards[].closedLoop": "Closed loop data of this board or null if unknown",
16
15
  "boards[].closedLoop.points": "Number of collected data points in the last run or 0 if it failed",
@@ -168,12 +167,19 @@
168
167
  "heat.heaters[].model.pid": "Details about the PID controller",
169
168
  "heat.heaters[].model.pid.d": "Derivative value of the PID regulator",
170
169
  "heat.heaters[].model.pid.i": "Integral value of the PID regulator",
171
- "heat.heaters[].model.pid.overridden": "Indicates if custom PID values are used",
172
170
  "heat.heaters[].model.pid.p": "Proportional value of the PID regulator",
173
171
  "heat.heaters[].model.pid.used": "Indicates if PID control is being used",
174
172
  "heat.heaters[].model.standardVoltage": "Standard voltage or null if unknown",
175
173
  "heat.heaters[].monitors": "Monitors of this heater",
176
- "heat.heaters[].monitors[].action": "Action to perform when the trigger condition is met",
174
+ "heat.heaters[].monitors[].action": {
175
+ "summary": "Action to perform when the trigger condition is met",
176
+ "values": {
177
+ "0": "Generate a heater fault",
178
+ "1": "Permanently switch off the heater",
179
+ "2": "Temporarily switch off the heater until the condition is no longer met",
180
+ "3": "Shut down the printer"
181
+ }
182
+ },
177
183
  "heat.heaters[].monitors[].condition": {
178
184
  "summary": "Condition to meet to perform an action",
179
185
  "values": {
@@ -226,6 +232,7 @@
226
232
  "inputs[].drivesRelative": "Whether relative extrusion is being used",
227
233
  "inputs[].feedRate": "Current feedrate as passed by the last G0/G1 F... command",
228
234
  "inputs[].inMacro": "Whether a macro file is being processed",
235
+ "inputs[].inverseTimeMode": "Indicates if inverse time mode (G73) is active",
229
236
  "inputs[].lineNumber": "Number of the current line",
230
237
  "inputs[].macroRestartable": "Indicates if the current macro file can be restarted after a pause",
231
238
  "inputs[].motionSystem": "Active motion system index",
@@ -250,8 +257,8 @@
250
257
  "summary": "Index of the current object being printed or -1 if unknown",
251
258
  "remarks": "This value may now be greater than the length of the job.build.objects array. This is because the size of job.build.objects is limited to conserve memory (to 20 on Duet 2 or 40 on Duet 3), whereas when M486 labelling is used, many more objects can be numbered and the first 64 can be cancelled individually"
252
259
  },
253
- "job.build.m486names": "Whether M486 names are being used",
254
- "job.build.m486numbers": "Whether M486 numbers are being used",
260
+ "job.build.m486Names": "Whether M486 names are being used",
261
+ "job.build.m486Numbers": "Whether M486 numbers are being used",
255
262
  "job.build.objects": "List of detected build objects",
256
263
  "job.build.objects[].cancelled": "Indicates if this build object is cancelled",
257
264
  "job.build.objects[].name": "Name of the build object (if any)",
@@ -488,6 +495,8 @@
488
495
  "move.currentMove": "Information about the current move",
489
496
  "move.currentMove.acceleration": "Acceleration of the current move (in mm/s^2)",
490
497
  "move.currentMove.deceleration": "Deceleration of the current move (in mm/s^2)",
498
+ "move.currentMove.distance": "Total distance of the current move (in mm)",
499
+ "move.currentMove.duration": "Duration of the current move (in s)",
491
500
  "move.currentMove.extrusionRate": "Current extrusion rate (in mm/s)",
492
501
  "move.currentMove.laserPwm": "Laser PWM of the current move (0..1) or null if not applicable",
493
502
  "move.currentMove.requestedSpeed": "Requested speed of the current move (in mm/s)",
@@ -546,13 +555,14 @@
546
555
  }
547
556
  },
548
557
  "move.kinematics.segmentation": "Segmentation parameters or null if not configured",
549
- "move.kinematics.segmentation.minSegmentLength": "Minimum length of a segment (in mm)",
550
558
  "move.kinematics.segmentation.segmentsPerSec": "Number of segments per second",
551
559
  "move.limitAxes": "Limit axis positions by their minima and maxima",
552
560
  "move.motionSystems": "List of configured motion systems",
553
561
  "move.motionSystems[].currentMove": "Information about the current move",
554
562
  "move.motionSystems[].currentMove.acceleration": "Acceleration of the current move (in mm/s^2)",
555
563
  "move.motionSystems[].currentMove.deceleration": "Deceleration of the current move (in mm/s^2)",
564
+ "move.motionSystems[].currentMove.distance": "Total distance of the current move (in mm)",
565
+ "move.motionSystems[].currentMove.duration": "Duration of the current move (in s)",
556
566
  "move.motionSystems[].currentMove.extrusionRate": "Current extrusion rate (in mm/s)",
557
567
  "move.motionSystems[].currentMove.laserPwm": "Laser PWM of the current move (0..1) or null if not applicable",
558
568
  "move.motionSystems[].currentMove.requestedSpeed": "Requested speed of the current move (in mm/s)",
@@ -620,11 +630,25 @@
620
630
  "network.interfaces[].firmwareVersion": "Version of the network interface or null if unknown. This is only reported by ESP-based boards in standalone mode",
621
631
  "network.interfaces[].gateway": "IPv4 gateway of the network adapter or null if unknown",
622
632
  "network.interfaces[].mac": "Physical address of the network adapter or null if unknown",
623
- "network.interfaces[].numReconnects": "Number of reconnect attempts or null if unknown. This is only reported by ESP-based boards in standalone mode",
624
633
  "network.interfaces[].rssi": "Received signal strength indicator of the WiFi adapter (only WiFi, in dBm, or null if unknown)",
625
634
  "network.interfaces[].speed": "Speed of the network interface (in MBit, null if unknown, 0 if not connected)",
626
635
  "network.interfaces[].ssid": "SSID of the WiFi network or null if not applicable",
627
- "network.interfaces[].state": "State of this network interface or null if unknown",
636
+ "network.interfaces[].state": {
637
+ "summary": "State of this network interface or null if unknown",
638
+ "values": {
639
+ "disabled": null,
640
+ "enabled": null,
641
+ "initFailed": null,
642
+ "starting1": null,
643
+ "starting2": null,
644
+ "changingMode": null,
645
+ "establishingLink": null,
646
+ "obtainingIP": null,
647
+ "connected": null,
648
+ "active": null,
649
+ "idle": null
650
+ }
651
+ },
628
652
  "network.interfaces[].subnet": "Subnet of the network adapter or null if unknown",
629
653
  "network.interfaces[].type": {
630
654
  "summary": "Type of this network interface",
@@ -669,6 +693,7 @@
669
693
  },
670
694
  "plugins[].sbcExecutableArguments": "Command-line arguments for the executable",
671
695
  "plugins[].sbcExtraExecutables": "List of other filenames in the dsf directory that should be executable",
696
+ "plugins[].sbcNotifyStarted": "Plugin notifies DSF when it is fully started",
672
697
  "plugins[].sbcOutputRedirected": "Defines if messages from stdout/stderr are output as generic messages",
673
698
  "plugins[].sbcPackageDependencies": "List of packages this plugin depends on (apt packages in the case of DuetPi)",
674
699
  "plugins[].sbcPermissions": "List of permissions required by the plugin executable running on the SBC",
@@ -676,6 +701,7 @@
676
701
  "plugins[].sbcPythonDependencies": "List of Python packages this plugin depends on",
677
702
  "plugins[].sbcRequired": "Set to true if a SBC is absolutely required for this plugin",
678
703
  "plugins[].sdFiles": "List of files to be installed to the (virtual) SD excluding web files",
704
+ "plugins[].started": "Indicates if the plugin is fully started",
679
705
  "plugins[].tags": "List of general tags for search",
680
706
  "plugins[].version": "Version of the plugin",
681
707
  "sbc": "Information about the SBC which Duet Software Framework is running on. This is null if the system is operating in standalone mode",
@@ -710,7 +736,7 @@
710
736
  "TRACE": "HTTP TRACE request",
711
737
  "DELETE": "HTTP DELETE request",
712
738
  "OPTIONS": "HTTP OPTIONS request",
713
- "WebSocket": "WebSocket request for bidirectional communication with a custom endpoint"
739
+ "WebSocket": "WebSocket request. This has not been implemented yet but it is reserved for future usage"
714
740
  }
715
741
  },
716
742
  "sbc.dsf.httpEndpoints[].isUploadRequest": {
@@ -795,6 +821,10 @@
795
821
  "overOrUnderVoltage": "Sensor exceeded min/max voltage",
796
822
  "badVref": "Bad VREF detected",
797
823
  "badVssa": "Bad VSSA detected",
824
+ "readingTooLow": null,
825
+ "readingTooHigh": null,
826
+ "ambientReadingTooLow": null,
827
+ "ambientReadingTooHigh": null,
798
828
  "unknownError": "Unknown error"
799
829
  }
800
830
  },
@@ -806,15 +836,20 @@
806
836
  "rtdmax31865": "RTD MAX31865",
807
837
  "thermocouplemax31855": "MAX31855 thermocouple",
808
838
  "thermocouplemax31856": "MAX31856 thermocouple",
809
- "linearanalog": "Linear analog sensor",
839
+ "linearanalog": null,
810
840
  "dht21": "DHT21 sensor",
811
841
  "dht22": "DHT22 sensor",
812
842
  "dhthumidity": "DHT humidity sensor",
813
843
  "bme280": "BME280 sensor",
814
844
  "bmepressure": "BME280 pressure sensor",
815
845
  "bmehumidity": "BME280 humidity sensor",
816
- "currentloooppyro": "Current loop sensor",
817
- "ads131.chan0": "ADS131 channel 0",
846
+ "bme68x": null,
847
+ "bme68xpressure": null,
848
+ "bme68xhumidity": null,
849
+ "bme68xgas": null,
850
+ "currentloop": "Current loop sensor",
851
+ "ads131.chan0.u": null,
852
+ "ads131.chan0.b": null,
818
853
  "ads131.chan1": "ADS131 channel 1",
819
854
  "mcutemp": "MCU temperature",
820
855
  "drivers": "On-board stepper driver sensors",
@@ -871,8 +906,6 @@
871
906
  "sensors.gpIn": "List of general-purpose input ports",
872
907
  "sensors.gpIn[].value": "Value of this port (0..1)",
873
908
  "sensors.probes": "List of configured probes",
874
- "sensors.probes[].calibA": "Linear coefficient for scanning probes",
875
- "sensors.probes[].calibB": "Quadratic coefficient for scanning probes",
876
909
  "sensors.probes[].calibrationTemperature": "Calibration temperature (in C)",
877
910
  "sensors.probes[].deployedByUser": "Indicates if the user has deployed the probe",
878
911
  "sensors.probes[].disablesHeaters": "Whether probing disables the heater(s)",
@@ -891,6 +924,7 @@
891
924
  "sensors.probes[].tolerance": "Allowed tolerance deviation between two measures (in mm)",
892
925
  "sensors.probes[].touchMode": "Touch mode options (if supported, otherwise null)",
893
926
  "sensors.probes[].touchMode.active": "Indicates if the touch probe is enabled",
927
+ "sensors.probes[].touchMode.speed": "Speed while probing in touch mode (in mm/s)",
894
928
  "sensors.probes[].touchMode.threshold": "Threshold value of the touch probe",
895
929
  "sensors.probes[].touchMode.triggerHeight": "Height of the trigger point of the touch probe (in mm)",
896
930
  "sensors.probes[].travelSpeed": "Travel speed when probing multiple points (in mm/min)",
@@ -932,7 +966,13 @@
932
966
  "reverse": "Spindle is going in reverse"
933
967
  }
934
968
  },
935
- "spindles[].type": "Spindle type",
969
+ "spindles[].type": {
970
+ "summary": "Spindle type",
971
+ "values": {
972
+ "enaDir": "Enable and direction",
973
+ "fwdRev": "Forward and reverse"
974
+ }
975
+ },
936
976
  "state": "Information about the machine state",
937
977
  "state.atxPower": "State of the ATX power pin (if controlled)",
938
978
  "state.atxPowerPort": "Port of the ATX power pin or null if not assigned",
@@ -1031,6 +1071,7 @@
1031
1071
  "idle": "The machine is on but has nothing to do"
1032
1072
  }
1033
1073
  },
1074
+ "state.thisActive": "Shorthand for inputs[state.thisInput].active",
1034
1075
  "state.thisInput": {
1035
1076
  "summary": "Index of the current G-code input channel (see ObjectModel.Inputs)",
1036
1077
  "remarks": "This is primarily intended for macro files to determine on which G-code channel it is running. The value of this property is always null in object model queries"
@@ -1083,6 +1124,7 @@
1083
1124
  "volumes[].mounted": "Whether the storage device is mounted",
1084
1125
  "volumes[].name": "Name of this volume",
1085
1126
  "volumes[].openFiles": "Number of currently open files or null if unknown",
1127
+ "volumes[].partitionSize": "Total size of this volume (in bytes or null)",
1086
1128
  "volumes[].path": "Logical path of the storage device",
1087
1129
  "volumes[].speed": "Speed of the storage device (in bytes/s or null if unknown)"
1088
1130
  }
package/dist/enums.json CHANGED
@@ -20,6 +20,12 @@
20
20
  "running",
21
21
  "timedOut"
22
22
  ],
23
+ "heat.heaters[].monitors[].action": [
24
+ "0",
25
+ "1",
26
+ "2",
27
+ "3"
28
+ ],
23
29
  "heat.heaters[].monitors[].condition": [
24
30
  "disabled",
25
31
  "tooHigh",
@@ -139,6 +145,19 @@
139
145
  "ei3",
140
146
  "custom"
141
147
  ],
148
+ "network.interfaces[].state": [
149
+ "disabled",
150
+ "enabled",
151
+ "initFailed",
152
+ "starting1",
153
+ "starting2",
154
+ "changingMode",
155
+ "establishingLink",
156
+ "obtainingIP",
157
+ "connected",
158
+ "active",
159
+ "idle"
160
+ ],
142
161
  "network.interfaces[].type": [
143
162
  "ethernet",
144
163
  "wifi"
@@ -185,6 +204,10 @@
185
204
  "overOrUnderVoltage",
186
205
  "badVref",
187
206
  "badVssa",
207
+ "readingTooLow",
208
+ "readingTooHigh",
209
+ "ambientReadingTooLow",
210
+ "ambientReadingTooHigh",
188
211
  "unknownError"
189
212
  ],
190
213
  "sensors.analog[].type": [
@@ -200,8 +223,13 @@
200
223
  "bme280",
201
224
  "bmepressure",
202
225
  "bmehumidity",
203
- "currentloooppyro",
204
- "ads131.chan0",
226
+ "bme68x",
227
+ "bme68xpressure",
228
+ "bme68xhumidity",
229
+ "bme68xgas",
230
+ "currentloop",
231
+ "ads131.chan0.u",
232
+ "ads131.chan0.b",
205
233
  "ads131.chan1",
206
234
  "mcutemp",
207
235
  "drivers",
@@ -256,6 +284,10 @@
256
284
  "forward",
257
285
  "reverse"
258
286
  ],
287
+ "spindles[].type": [
288
+ "enaDir",
289
+ "fwdRev"
290
+ ],
259
291
  "state.logLevel": [
260
292
  "debug",
261
293
  "info",
@@ -2,7 +2,6 @@ import ModelObject from "../ModelObject";
2
2
  export declare class HeaterModelPID extends ModelObject {
3
3
  d: number;
4
4
  i: number;
5
- overridden: boolean;
6
5
  p: number;
7
6
  used: boolean;
8
7
  }
@@ -4,7 +4,6 @@ export class HeaterModelPID extends ModelObject {
4
4
  super(...arguments);
5
5
  this.d = 0;
6
6
  this.i = 0;
7
- this.overridden = false;
8
7
  this.p = 0;
9
8
  this.used = true;
10
9
  }
@@ -13,6 +13,7 @@ export declare enum CodeChannel {
13
13
  autopause = 11,
14
14
  file2 = 12,
15
15
  queue2 = 13,
16
- unknown = 14
16
+ usb2 = 14,
17
+ unknown = 15
17
18
  }
18
19
  export default CodeChannel;
@@ -14,6 +14,7 @@ export var CodeChannel;
14
14
  CodeChannel[CodeChannel["autopause"] = 11] = "autopause";
15
15
  CodeChannel[CodeChannel["file2"] = 12] = "file2";
16
16
  CodeChannel[CodeChannel["queue2"] = 13] = "queue2";
17
- CodeChannel[CodeChannel["unknown"] = 14] = "unknown";
17
+ CodeChannel[CodeChannel["usb2"] = 14] = "usb2";
18
+ CodeChannel[CodeChannel["unknown"] = 15] = "unknown";
18
19
  })(CodeChannel || (CodeChannel = {}));
19
20
  export default CodeChannel;
@@ -21,6 +21,7 @@ export declare class InputChannel extends ModelObject {
21
21
  drivesRelative: boolean;
22
22
  feedRate: number;
23
23
  inMacro: boolean;
24
+ inverseTimeMode: boolean;
24
25
  macroRestartable: boolean;
25
26
  motionSystem: number;
26
27
  name: string;
@@ -25,6 +25,7 @@ export class InputChannel extends ModelObject {
25
25
  this.drivesRelative = true;
26
26
  this.feedRate = 50;
27
27
  this.inMacro = false;
28
+ this.inverseTimeMode = false;
28
29
  this.macroRestartable = false;
29
30
  this.motionSystem = 0;
30
31
  this.name = "";
@@ -8,8 +8,8 @@ export declare class BuildObject extends ModelObject {
8
8
  }
9
9
  export declare class Build extends ModelObject {
10
10
  currentObject: number;
11
- m486names: boolean;
12
- m486numbers: boolean;
11
+ m486Names: boolean;
12
+ m486Numbers: boolean;
13
13
  readonly objects: ModelCollection<BuildObject>;
14
14
  }
15
15
  export default Build;
package/dist/job/Build.js CHANGED
@@ -13,8 +13,8 @@ export class Build extends ModelObject {
13
13
  constructor() {
14
14
  super(...arguments);
15
15
  this.currentObject = -1;
16
- this.m486names = false;
17
- this.m486numbers = false;
16
+ this.m486Names = false;
17
+ this.m486Numbers = false;
18
18
  this.objects = new ModelCollection(BuildObject);
19
19
  }
20
20
  }
@@ -6,7 +6,7 @@ export declare class GCodeFileInfo extends ModelObject {
6
6
  readonly customInfo: ModelDictionary<any>;
7
7
  filament: Array<number>;
8
8
  fileName: string;
9
- generatedBy: string;
9
+ generatedBy: string | null;
10
10
  height: number;
11
11
  lastModified: string | null;
12
12
  layerHeight: number;
@@ -8,7 +8,7 @@ export class GCodeFileInfo extends ModelObject {
8
8
  this.customInfo = new ModelDictionary(false);
9
9
  this.filament = new Array();
10
10
  this.fileName = "";
11
- this.generatedBy = "";
11
+ this.generatedBy = null;
12
12
  this.height = 0;
13
13
  this.lastModified = null;
14
14
  this.layerHeight = 0;
@@ -11,7 +11,7 @@ export declare class Layer extends ModelObject {
11
11
  filamentUsage: number;
12
12
  fractionPrinted: number;
13
13
  height: number;
14
- temperatures: Array<number>;
14
+ temperatures: Array<number | null>;
15
15
  }
16
16
  export declare class TimesLeft extends ModelObject {
17
17
  filament: number | null;
@@ -21,9 +21,9 @@ export declare class TimesLeft extends ModelObject {
21
21
  }
22
22
  export declare class Job extends ModelObject {
23
23
  constructor();
24
- build: Build;
24
+ build: Build | null;
25
25
  duration: number | null;
26
- file: GCodeFileInfo | null;
26
+ readonly file: GCodeFileInfo;
27
27
  filePosition: number | bigint | null;
28
28
  lastDuration: number | null;
29
29
  lastFileName: string | null;
package/dist/job/index.js CHANGED
@@ -28,9 +28,9 @@ export class TimesLeft extends ModelObject {
28
28
  export class Job extends ModelObject {
29
29
  constructor() {
30
30
  super();
31
- this.build = new Build();
31
+ this.build = null;
32
32
  this.duration = null;
33
- this.file = null;
33
+ this.file = new GCodeFileInfo();
34
34
  this.filePosition = null;
35
35
  this.lastDuration = null;
36
36
  this.lastFileName = null;
@@ -46,7 +46,6 @@ export class Job extends ModelObject {
46
46
  this.timesLeft = new TimesLeft();
47
47
  this.warmUpDuration = null;
48
48
  ModelObject.wrapModelProperty(this, "build", Build);
49
- ModelObject.wrapModelProperty(this, "file", GCodeFileInfo);
50
49
  }
51
50
  }
52
51
  export default Job;
@@ -18,7 +18,7 @@ export class LedStrip extends ModelObject {
18
18
  constructor() {
19
19
  super(...arguments);
20
20
  this.board = 0;
21
- this.colorOrder = LedStripColorOrder.GRB;
21
+ this.colorOrder = LedStripColorOrder.BGR;
22
22
  this.maxLeds = 0;
23
23
  this.pin = "";
24
24
  this.stopMovement = false;
@@ -11,6 +11,8 @@ import Kinematics from "./kinematics";
11
11
  export declare class CurrentMove extends ModelObject {
12
12
  acceleration: number;
13
13
  deceleration: number;
14
+ distance: number;
15
+ duration: number;
14
16
  extrusionRate: number;
15
17
  laserPwm: number | null;
16
18
  requestedSpeed: number;
@@ -13,6 +13,8 @@ export class CurrentMove extends ModelObject {
13
13
  super(...arguments);
14
14
  this.acceleration = 0;
15
15
  this.deceleration = 0;
16
+ this.distance = 0;
17
+ this.duration = 0;
16
18
  this.extrusionRate = 0;
17
19
  this.laserPwm = null;
18
20
  this.requestedSpeed = 0;
@@ -16,11 +16,11 @@ export declare enum KinematicsName {
16
16
  }
17
17
  export declare class MoveSegmentation extends ModelObject {
18
18
  segmentsPerSec: number;
19
- minSegmentLength: number;
19
+ minSegLength: number;
20
20
  }
21
21
  export declare abstract class KinematicsBase extends ModelObject {
22
22
  readonly name: KinematicsName;
23
- readonly segmentation: MoveSegmentation;
23
+ segmentation: MoveSegmentation | null;
24
24
  constructor(name: KinematicsName);
25
25
  }
26
26
  export default KinematicsBase;
@@ -19,14 +19,15 @@ export class MoveSegmentation extends ModelObject {
19
19
  constructor() {
20
20
  super(...arguments);
21
21
  this.segmentsPerSec = 0;
22
- this.minSegmentLength = 0;
22
+ this.minSegLength = 0;
23
23
  }
24
24
  }
25
25
  export class KinematicsBase extends ModelObject {
26
26
  constructor(name) {
27
27
  super();
28
- this.segmentation = new MoveSegmentation();
28
+ this.segmentation = null;
29
29
  this.name = name;
30
+ ModelObject.wrapModelProperty(this, "segmentation", MoveSegmentation);
30
31
  }
31
32
  }
32
33
  export default KinematicsBase;
@@ -11,6 +11,7 @@ export declare enum NetworkProtocol {
11
11
  export declare enum NetworkInterfaceState {
12
12
  disabled = "disabled",
13
13
  enabled = "enabled",
14
+ initFailed = "initFailed",
14
15
  starting1 = "starting1",
15
16
  starting2 = "starting2",
16
17
  changingMode = "changingMode",
@@ -32,7 +33,6 @@ export declare class NetworkInterface extends ModelObject {
32
33
  firmwareVersion: string | null;
33
34
  gateway: string | null;
34
35
  mac: string | null;
35
- numReconnects: number | null;
36
36
  rssi: number | null;
37
37
  /** @deprecated use rssi instead */
38
38
  signal: number | null;
@@ -13,6 +13,7 @@ export var NetworkInterfaceState;
13
13
  (function (NetworkInterfaceState) {
14
14
  NetworkInterfaceState["disabled"] = "disabled";
15
15
  NetworkInterfaceState["enabled"] = "enabled";
16
+ NetworkInterfaceState["initFailed"] = "initFailed";
16
17
  NetworkInterfaceState["starting1"] = "starting1";
17
18
  NetworkInterfaceState["starting2"] = "starting2";
18
19
  NetworkInterfaceState["changingMode"] = "changingMode";
@@ -37,7 +38,6 @@ export class NetworkInterface extends ModelObject {
37
38
  this.firmwareVersion = null;
38
39
  this.gateway = null;
39
40
  this.mac = null;
40
- this.numReconnects = null;
41
41
  this.rssi = null;
42
42
  /** @deprecated use rssi instead */
43
43
  this.signal = null;
@@ -54,6 +54,7 @@ export declare class PluginManifest extends ModelObject {
54
54
  sbcExecutableArguments: string | null;
55
55
  sbcExtraExecutables: Array<string>;
56
56
  sbcAutoRestart: boolean;
57
+ sbcNotifyStarted: boolean;
57
58
  sbcOutputRedirected: boolean;
58
59
  sbcPermissions: ModelSet<SbcPermission>;
59
60
  sbcConfigFiles: Array<string>;
@@ -55,6 +55,7 @@ export class PluginManifest extends ModelObject {
55
55
  this.sbcExecutableArguments = null;
56
56
  this.sbcExtraExecutables = [];
57
57
  this.sbcAutoRestart = false;
58
+ this.sbcNotifyStarted = false;
58
59
  this.sbcOutputRedirected = true;
59
60
  this.sbcPermissions = new ModelSet();
60
61
  this.sbcConfigFiles = [];
@@ -4,6 +4,7 @@ export declare class Plugin extends PluginManifest {
4
4
  dwcFiles: Array<string>;
5
5
  sdFiles: Array<string>;
6
6
  pid: number;
7
+ started: boolean;
7
8
  }
8
9
  export default Plugin;
9
10
  export * from "./PluginManifest";
@@ -6,6 +6,7 @@ export class Plugin extends PluginManifest {
6
6
  this.dwcFiles = [];
7
7
  this.sdFiles = [];
8
8
  this.pid = -1;
9
+ this.started = false;
9
10
  }
10
11
  }
11
12
  export default Plugin;
@@ -1,6 +1,6 @@
1
1
  import ModelObject from "../ModelObject";
2
2
  export declare class Memory extends ModelObject {
3
- available: number | null;
4
- total: number | null;
3
+ available: number | bigint | null;
4
+ total: number | bigint | null;
5
5
  }
6
6
  export default Memory;
@@ -11,7 +11,7 @@ export declare enum SessionType {
11
11
  export declare class UserSession extends ModelObject {
12
12
  accessLevel: AccessLevel;
13
13
  id: number;
14
- origin: string | null;
14
+ origin: string;
15
15
  originId: number;
16
16
  sessionType: SessionType;
17
17
  }
@@ -15,7 +15,7 @@ export class UserSession extends ModelObject {
15
15
  super(...arguments);
16
16
  this.accessLevel = AccessLevel.readOnly;
17
17
  this.id = 0;
18
- this.origin = null;
18
+ this.origin = "";
19
19
  this.originId = -1;
20
20
  this.sessionType = SessionType.local;
21
21
  }
@@ -16,3 +16,4 @@ export declare class DSF extends ModelObject {
16
16
  export default DSF;
17
17
  export * from "./CommunicationMethod";
18
18
  export * from "./HttpEndpoint";
19
+ export * from "./UserSession";
@@ -19,3 +19,4 @@ export class DSF extends ModelObject {
19
19
  export default DSF;
20
20
  export * from "./CommunicationMethod";
21
21
  export * from "./HttpEndpoint";
22
+ export * from "./UserSession";
@@ -12,8 +12,13 @@ export declare enum AnalogSensorType {
12
12
  bme280 = "bme280",
13
13
  bme280pressure = "bmepressure",
14
14
  bme280humidity = "bmehumidity",
15
- currentLoop = "currentloooppyro",
16
- ads131chan0 = "ads131.chan0",
15
+ bme68x = "bme68x",
16
+ bme68xpressure = "bme68xpressure",
17
+ bme68xhumidity = "bme68xhumidity",
18
+ bme68xgas = "bme68xgas",
19
+ currentLoop = "currentloop",
20
+ ads131chan0Unipolar = "ads131.chan0.u",
21
+ ads131chan0Bipolar = "ads131.chan0.b",
17
22
  ads131chan1 = "ads131.chan1",
18
23
  mcuTemp = "mcutemp",
19
24
  drivers = "drivers",
@@ -39,6 +44,10 @@ export declare enum TemperatureError {
39
44
  overOrUnderVoltage = "overOrUnderVoltage",
40
45
  badVref = "badVref",
41
46
  badVssa = "badVssa",
47
+ readingTooLow = "readingTooLow",
48
+ readingTooHigh = "readingTooHigh",
49
+ ambientReadingTooLow = "ambientReadingTooLow",
50
+ ambientReadingTooHigh = "ambientReadingTooHigh",
42
51
  unknownError = "unknownError"
43
52
  }
44
53
  export declare class AnalogSensor extends ModelObject {
@@ -13,8 +13,13 @@ export var AnalogSensorType;
13
13
  AnalogSensorType["bme280"] = "bme280";
14
14
  AnalogSensorType["bme280pressure"] = "bmepressure";
15
15
  AnalogSensorType["bme280humidity"] = "bmehumidity";
16
- AnalogSensorType["currentLoop"] = "currentloooppyro";
17
- AnalogSensorType["ads131chan0"] = "ads131.chan0";
16
+ AnalogSensorType["bme68x"] = "bme68x";
17
+ AnalogSensorType["bme68xpressure"] = "bme68xpressure";
18
+ AnalogSensorType["bme68xhumidity"] = "bme68xhumidity";
19
+ AnalogSensorType["bme68xgas"] = "bme68xgas";
20
+ AnalogSensorType["currentLoop"] = "currentloop";
21
+ AnalogSensorType["ads131chan0Unipolar"] = "ads131.chan0.u";
22
+ AnalogSensorType["ads131chan0Bipolar"] = "ads131.chan0.b";
18
23
  AnalogSensorType["ads131chan1"] = "ads131.chan1";
19
24
  AnalogSensorType["mcuTemp"] = "mcutemp";
20
25
  AnalogSensorType["drivers"] = "drivers";
@@ -41,6 +46,10 @@ export var TemperatureError;
41
46
  TemperatureError["overOrUnderVoltage"] = "overOrUnderVoltage";
42
47
  TemperatureError["badVref"] = "badVref";
43
48
  TemperatureError["badVssa"] = "badVssa";
49
+ TemperatureError["readingTooLow"] = "readingTooLow";
50
+ TemperatureError["readingTooHigh"] = "readingTooHigh";
51
+ TemperatureError["ambientReadingTooLow"] = "ambientReadingTooLow";
52
+ TemperatureError["ambientReadingTooHigh"] = "ambientReadingTooHigh";
44
53
  TemperatureError["unknownError"] = "unknownError";
45
54
  })(TemperatureError || (TemperatureError = {}));
46
55
  export class AnalogSensor extends ModelObject {
@@ -4,7 +4,7 @@ import { Duet3DFilamentMonitor } from "./Duet3DFilamentMonitor";
4
4
  export declare class LaserFilamentMonitorCalibrated extends ModelObject {
5
5
  percentMax: number;
6
6
  percentMin: number;
7
- sensivity: number;
7
+ sensitivity: number;
8
8
  totalDistance: number;
9
9
  }
10
10
  export declare class LaserFilamentMonitorConfigured extends ModelObject {
@@ -7,7 +7,7 @@ export class LaserFilamentMonitorCalibrated extends ModelObject {
7
7
  super(...arguments);
8
8
  this.percentMax = 0;
9
9
  this.percentMin = 0;
10
- this.sensivity = 0;
10
+ this.sensitivity = 0;
11
11
  this.totalDistance = 0;
12
12
  }
13
13
  }
@@ -15,14 +15,12 @@ export declare enum ProbeType {
15
15
  }
16
16
  export declare class ProbeTouchMode extends ModelObject {
17
17
  active: boolean;
18
- sensitivity: number;
18
+ speed: number;
19
19
  triggerHeight: number;
20
20
  threshold: number;
21
21
  }
22
22
  export declare class Probe extends ModelObject {
23
23
  constructor();
24
- calibA: number | null;
25
- calibB: number | null;
26
24
  calibrationTemperature: number;
27
25
  deployedByUser: boolean;
28
26
  disablesHeaters: boolean;
@@ -18,7 +18,7 @@ export class ProbeTouchMode extends ModelObject {
18
18
  constructor() {
19
19
  super(...arguments);
20
20
  this.active = false;
21
- this.sensitivity = 0;
21
+ this.speed = 0;
22
22
  this.triggerHeight = 0;
23
23
  this.threshold = 0;
24
24
  }
@@ -26,8 +26,6 @@ export class ProbeTouchMode extends ModelObject {
26
26
  export class Probe extends ModelObject {
27
27
  constructor() {
28
28
  super();
29
- this.calibA = null;
30
- this.calibB = null;
31
29
  this.calibrationTemperature = 0;
32
30
  this.deployedByUser = false;
33
31
  this.disablesHeaters = false;
@@ -59,6 +59,7 @@ export declare class State extends ModelObject {
59
59
  readonly restorePoints: ModelCollection<RestorePoint>;
60
60
  startupError: StartupError | null;
61
61
  status: MachineStatus;
62
+ thisActive: boolean | null;
62
63
  thisInput: number | null;
63
64
  time: string | null;
64
65
  upTime: number;
@@ -71,6 +71,7 @@ export class State extends ModelObject {
71
71
  this.restorePoints = new ModelCollection(RestorePoint);
72
72
  this.startupError = null;
73
73
  this.status = MachineStatus.starting;
74
+ this.thisActive = null;
74
75
  this.thisInput = null;
75
76
  this.time = null;
76
77
  this.upTime = 0;
@@ -22,7 +22,7 @@ export declare class Tool extends ModelObject {
22
22
  name: string;
23
23
  number: number;
24
24
  offsets: Array<number>;
25
- offsetsProbed: boolean;
25
+ offsetsProbed: number;
26
26
  retraction: ToolRetraction;
27
27
  spindle: number;
28
28
  spindleRpm: number;
@@ -25,7 +25,7 @@ export class Tool extends ModelObject {
25
25
  this.name = "";
26
26
  this.number = 0;
27
27
  this.offsets = [];
28
- this.offsetsProbed = false;
28
+ this.offsetsProbed = 0;
29
29
  this.retraction = new ToolRetraction();
30
30
  this.spindle = -1;
31
31
  this.spindleRpm = 0;
@@ -4,7 +4,8 @@ export declare class Volume extends ModelObject {
4
4
  freeSpace: number | bigint | null;
5
5
  mounted: boolean;
6
6
  name: string | null;
7
- openFiles: number | null;
7
+ openFiles: boolean | null;
8
+ partitionSize: number | bigint | null;
8
9
  path: string | null;
9
10
  speed: number | null;
10
11
  }
@@ -7,6 +7,7 @@ export class Volume extends ModelObject {
7
7
  this.mounted = false;
8
8
  this.name = null;
9
9
  this.openFiles = null;
10
+ this.partitionSize = null;
10
11
  this.path = null;
11
12
  this.speed = null;
12
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duet3d/objectmodel",
3
- "version": "3.7.0-alpha.13",
3
+ "version": "3.7.0-alpha.15",
4
4
  "description": "TypeScript implementation of the Duet3D Object Model",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",