@duet3d/objectmodel 3.7.0-alpha.12 → 3.7.0-alpha.14
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/dist/deprecations.json +1 -1
- package/dist/documentation.json +1097 -0
- package/dist/inputs/InputChannel.d.ts +1 -0
- package/dist/inputs/InputChannel.js +1 -0
- package/dist/job/Build.d.ts +2 -2
- package/dist/job/Build.js +2 -2
- package/dist/move/Extruder.d.ts +1 -1
- package/dist/move/Extruder.js +1 -1
- package/dist/move/index.d.ts +2 -0
- package/dist/move/index.js +2 -0
- package/dist/move/kinematics/KinematicsBase.d.ts +1 -1
- package/dist/move/kinematics/KinematicsBase.js +1 -1
- package/dist/plugins/PluginManifest.d.ts +1 -0
- package/dist/plugins/PluginManifest.js +1 -0
- package/dist/plugins/index.d.ts +1 -0
- package/dist/plugins/index.js +1 -0
- package/dist/sensors/FilamentMonitors/LaserFilamentMonitor.d.ts +1 -1
- package/dist/sensors/FilamentMonitors/LaserFilamentMonitor.js +1 -1
- package/dist/sensors/Probe.d.ts +1 -1
- package/dist/sensors/Probe.js +1 -1
- package/dist/state/index.d.ts +1 -0
- package/dist/state/index.js +1 -0
- package/dist/volumes/index.d.ts +1 -0
- package/dist/volumes/index.js +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,1097 @@
|
|
|
1
|
+
{
|
|
2
|
+
"boards": {
|
|
3
|
+
"summary": "List of connected boards",
|
|
4
|
+
"remarks": "The first item represents the main board"
|
|
5
|
+
},
|
|
6
|
+
"boards[].accelerometer": "Accelerometer of this board or null if unknown",
|
|
7
|
+
"boards[].accelerometer.orientation": {
|
|
8
|
+
"summary": "Orientation of the accelerometer",
|
|
9
|
+
"remarks": "See https://docs.duet3d.com/en/Duet3D_hardware/Accessories/Duet3D_Accelerometer#orientation for a list of orientations"
|
|
10
|
+
},
|
|
11
|
+
"boards[].accelerometer.points": "Number of collected data points in the last run or 0 if it failed",
|
|
12
|
+
"boards[].accelerometer.runs": "Number of completed sampling runs",
|
|
13
|
+
"boards[].bootloaderFileName": "Filename of the bootloader binary or null if unknown",
|
|
14
|
+
"boards[].canAddress": "CAN address of this board or null if not applicable",
|
|
15
|
+
"boards[].closedLoop": "Closed loop data of this board or null if unknown",
|
|
16
|
+
"boards[].closedLoop.points": "Number of collected data points in the last run or 0 if it failed",
|
|
17
|
+
"boards[].closedLoop.runs": "Number of completed sampling runs",
|
|
18
|
+
"boards[].directDisplay": "Details about a connected display or null if none is connected",
|
|
19
|
+
"boards[].directDisplay.encoder": "Encoder of this screen or null if none",
|
|
20
|
+
"boards[].directDisplay.encoder.pulsesPerClick": "Number of pulses per click of the rotary encoder",
|
|
21
|
+
"boards[].directDisplay.screen": "Screen information",
|
|
22
|
+
"boards[].directDisplay.screen.controller": {
|
|
23
|
+
"values": {
|
|
24
|
+
"ST7920": "ST7920 controller",
|
|
25
|
+
"ST7567": "ST7567 controller",
|
|
26
|
+
"ILI9488": "ILI9488 controller"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"boards[].drivers": "Drivers of this board",
|
|
30
|
+
"boards[].drivers[].closedLoop.currentFraction": "Current fraction of the configured motor current used",
|
|
31
|
+
"boards[].drivers[].closedLoop.positionError": "Position error in full steps of the motor",
|
|
32
|
+
"boards[].drivers[].config.direction": "Configured direction of the driver (0 = reverse, 1 = forward)",
|
|
33
|
+
"boards[].drivers[].config.mode": {
|
|
34
|
+
"summary": "Configured driver mode (only available for smart drivers)",
|
|
35
|
+
"values": {
|
|
36
|
+
"0": "Constant off-time chopper",
|
|
37
|
+
"1": "Random off-time chopper",
|
|
38
|
+
"2": "SpreadCycle",
|
|
39
|
+
"3": "StealthChop (includes stealthChop2)",
|
|
40
|
+
"4": "Field-oriented control (direct)",
|
|
41
|
+
"5": "Driver mode is unknown"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"boards[].firmwareDate": "Date of the firmware build",
|
|
45
|
+
"boards[].firmwareFileName": "Filename of the firmware binary or null if unknown",
|
|
46
|
+
"boards[].firmwareName": "Name of the firmware build",
|
|
47
|
+
"boards[].firmwareVersion": "Version of the firmware build",
|
|
48
|
+
"boards[].freeRam": "Amount of free RAM on this board (in bytes or null if unknown)",
|
|
49
|
+
"boards[].iapFileNameSBC": {
|
|
50
|
+
"summary": "Filename of the IAP binary that is used for updates from the SBC or null if unsupported",
|
|
51
|
+
"remarks": "This is only available for the mainboard (first board item)"
|
|
52
|
+
},
|
|
53
|
+
"boards[].iapFileNameSD": {
|
|
54
|
+
"summary": "Filename of the IAP binary that is used for updates from the SD card or null if unsupported",
|
|
55
|
+
"remarks": "This is only available for the mainboard (first board item)"
|
|
56
|
+
},
|
|
57
|
+
"boards[].inductiveSensor": "Information about an inductive sensor or null if not present",
|
|
58
|
+
"boards[].maxHeaters": "Maximum number of heaters this board can control",
|
|
59
|
+
"boards[].maxMotors": "Maximum number of motors this board can drive",
|
|
60
|
+
"boards[].mcuTemp": "Minimum, maximum, and current temperatures of the MCU or null if unknown",
|
|
61
|
+
"boards[].mcuTemp.current": "Current value",
|
|
62
|
+
"boards[].mcuTemp.max": "Maximum value",
|
|
63
|
+
"boards[].mcuTemp.min": "Minimum value",
|
|
64
|
+
"boards[].name": "Full name of the board",
|
|
65
|
+
"boards[].shortName": "Short name of this board",
|
|
66
|
+
"boards[].state": {
|
|
67
|
+
"summary": "State of this board",
|
|
68
|
+
"values": {
|
|
69
|
+
"unknown": "Unknown state",
|
|
70
|
+
"flashing": "Flashing new firmware",
|
|
71
|
+
"flashFailed": "Failed to flash new firmware",
|
|
72
|
+
"resetting": "Board is being reset",
|
|
73
|
+
"running": "Board is up and running",
|
|
74
|
+
"timedOut": "Board timed out"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"boards[].supportsDirectDisplay": "Indicates if this board supports external displays",
|
|
78
|
+
"boards[].uniqueId": "Unique identifier of the board or null if unknown",
|
|
79
|
+
"boards[].v12": "Minimum, maximum, and current voltages on the 12V rail or null if unknown",
|
|
80
|
+
"boards[].v12.current": "Current value",
|
|
81
|
+
"boards[].v12.max": "Maximum value",
|
|
82
|
+
"boards[].v12.min": "Minimum value",
|
|
83
|
+
"boards[].vIn": "Minimum, maximum, and current voltages on the input rail or null if unknown",
|
|
84
|
+
"boards[].vIn.current": "Current value",
|
|
85
|
+
"boards[].vIn.max": "Maximum value",
|
|
86
|
+
"boards[].vIn.min": "Minimum value",
|
|
87
|
+
"boards[].wifiFirmwareFileName": "Filename of the on-board WiFi chip or null if not present",
|
|
88
|
+
"directories": {
|
|
89
|
+
"summary": "Information about the individual directories",
|
|
90
|
+
"remarks": "This may not be available in RepRapFirmware if no mass storages are available"
|
|
91
|
+
},
|
|
92
|
+
"directories.filaments": "Path to the filaments directory",
|
|
93
|
+
"directories.firmware": "Path to the firmware directory",
|
|
94
|
+
"directories.gCodes": "Path to the G-Codes directory",
|
|
95
|
+
"directories.macros": "Path to the macros directory",
|
|
96
|
+
"directories.menu": {
|
|
97
|
+
"summary": "Path to the menu directory",
|
|
98
|
+
"remarks": "Intended for 12864 displays but currently unused in DSF. It is only needed for the Duet Maestro + DWC"
|
|
99
|
+
},
|
|
100
|
+
"directories.system": "Path to the system directory",
|
|
101
|
+
"directories.web": "Path to the web directory",
|
|
102
|
+
"fans": "List of configured fans",
|
|
103
|
+
"fans[].actualValue": "Value of this fan (0..1 or -1 if unknown)",
|
|
104
|
+
"fans[].blip": "Blip value indicating how long the fan is supposed to run at 100% when turning it on to get it started (in s)",
|
|
105
|
+
"fans[].frequency": "Configured frequency of this fan (in Hz)",
|
|
106
|
+
"fans[].max": "Maximum value of this fan (0..1)",
|
|
107
|
+
"fans[].min": "Minimum value of this fan (0..1)",
|
|
108
|
+
"fans[].name": "Name of the fan",
|
|
109
|
+
"fans[].requestedValue": "Requested value for this fan on a scale between 0 to 1",
|
|
110
|
+
"fans[].rpm": "Current RPM of this fan or -1 if unknown/unset",
|
|
111
|
+
"fans[].tachoPpr": "Pulses per tacho revolution",
|
|
112
|
+
"fans[].thermostatic": "Thermostatic control parameters",
|
|
113
|
+
"fans[].thermostatic.highTemperature": "Upper temperature range required to turn on the fan (in C)",
|
|
114
|
+
"fans[].thermostatic.lowTemperature": "Lower temperature range required to turn on the fan (in C)",
|
|
115
|
+
"fans[].thermostatic.sensors": {
|
|
116
|
+
"summary": "List of sensors to monitor (indices)",
|
|
117
|
+
"remarks": "This is a bitmap represented as an array"
|
|
118
|
+
},
|
|
119
|
+
"global": {
|
|
120
|
+
"summary": "Dictionary of global variables vs JSON values",
|
|
121
|
+
"remarks": "When DSF attempts to reconnect to RRF, this may be set to null to clear the contents"
|
|
122
|
+
},
|
|
123
|
+
"heat": "Information about the heat subsystem",
|
|
124
|
+
"heat.bedHeaterMapping": {
|
|
125
|
+
"summary": "List of configured bed heaters (indices), grouped by bed (first dimension)",
|
|
126
|
+
"remarks": "Items may be -1 if unconfigured"
|
|
127
|
+
},
|
|
128
|
+
"heat.bedHeaters": {
|
|
129
|
+
"summary": "List of configured bed heaters (indices)",
|
|
130
|
+
"remarks": "Items may be -1 if unconfigured"
|
|
131
|
+
},
|
|
132
|
+
"heat.chamberHeaterMapping": {
|
|
133
|
+
"summary": "List of configured chamber heaters (indices), grouped by chamber (first dimension)",
|
|
134
|
+
"remarks": "Items may be -1 if unconfigured"
|
|
135
|
+
},
|
|
136
|
+
"heat.chamberHeaters": {
|
|
137
|
+
"summary": "List of configured chamber heaters (indices)",
|
|
138
|
+
"remarks": "Items may be -1 if unconfigured"
|
|
139
|
+
},
|
|
140
|
+
"heat.coldExtrudeTemperature": "Minimum required temperature for extrusion moves (in C)",
|
|
141
|
+
"heat.coldRetractTemperature": "Minimum required temperature for retraction moves (in C)",
|
|
142
|
+
"heat.heaters": "List of configured heaters",
|
|
143
|
+
"heat.heaters[].active": "Active temperature of the heater (in C)",
|
|
144
|
+
"heat.heaters[].avgPwm": "Average heater PWM value (0..1)",
|
|
145
|
+
"heat.heaters[].current": "Current temperature of the heater (in C)",
|
|
146
|
+
"heat.heaters[].extrPwmBoost": "Current feedforward PWM boost applied to the heater",
|
|
147
|
+
"heat.heaters[].extrTempBoost": "Current temperature boost applied to the heater",
|
|
148
|
+
"heat.heaters[].max": {
|
|
149
|
+
"summary": "Maximum temperature allowed for this heater (in C)",
|
|
150
|
+
"remarks": "This is only temporary and should be replaced by a representation of the heater protection as in RRF"
|
|
151
|
+
},
|
|
152
|
+
"heat.heaters[].maxBadReadings": "Maximum number of consecutive temperature reading failures before a heater fault is raised",
|
|
153
|
+
"heat.heaters[].maxHeatingFaultTime": "Time for which a temperature anomaly must persist on this heater before raising a heater fault (in s)",
|
|
154
|
+
"heat.heaters[].maxTempExcursion": "Permitted temperature excursion from the setpoint for this heater (in K)",
|
|
155
|
+
"heat.heaters[].min": {
|
|
156
|
+
"summary": "Minimum temperature allowed for this heater (in C)",
|
|
157
|
+
"remarks": "This is only temporary and should be replaced by a representation of the heater protection as in RRF"
|
|
158
|
+
},
|
|
159
|
+
"heat.heaters[].model": "Information about the heater model",
|
|
160
|
+
"heat.heaters[].model.coolingExp": "Cooling rate exponent",
|
|
161
|
+
"heat.heaters[].model.coolingRate": "Cooling rate (in K/s)",
|
|
162
|
+
"heat.heaters[].model.deadTime": "Dead time (in s)",
|
|
163
|
+
"heat.heaters[].model.enabled": "Indicates if this heater is enabled",
|
|
164
|
+
"heat.heaters[].model.fanCoolingRate": "Cooling rate with the fan on (in K/s)",
|
|
165
|
+
"heat.heaters[].model.heatingRate": "Heating rate (in K/s)",
|
|
166
|
+
"heat.heaters[].model.inverted": "Indicates if the heater PWM signal is inverted",
|
|
167
|
+
"heat.heaters[].model.maxPwm": "Maximum PWM value",
|
|
168
|
+
"heat.heaters[].model.pid": "Details about the PID controller",
|
|
169
|
+
"heat.heaters[].model.pid.d": "Derivative value of the PID regulator",
|
|
170
|
+
"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
|
+
"heat.heaters[].model.pid.p": "Proportional value of the PID regulator",
|
|
173
|
+
"heat.heaters[].model.pid.used": "Indicates if PID control is being used",
|
|
174
|
+
"heat.heaters[].model.standardVoltage": "Standard voltage or null if unknown",
|
|
175
|
+
"heat.heaters[].monitors": "Monitors of this heater",
|
|
176
|
+
"heat.heaters[].monitors[].action": "Action to perform when the trigger condition is met",
|
|
177
|
+
"heat.heaters[].monitors[].condition": {
|
|
178
|
+
"summary": "Condition to meet to perform an action",
|
|
179
|
+
"values": {
|
|
180
|
+
"disabled": "Heater monitor is disabled",
|
|
181
|
+
"tooHigh": "Limit temperature has been exceeded",
|
|
182
|
+
"tooLow": "Limit temperature is too low"
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
"heat.heaters[].monitors[].limit": "Limit threshold for this heater monitor",
|
|
186
|
+
"heat.heaters[].monitors[].sensor": "Sensor number to monitor",
|
|
187
|
+
"heat.heaters[].sensor": "Sensor number of this heater or -1 if not configured",
|
|
188
|
+
"heat.heaters[].standby": "Standby temperature of the heater (in C)",
|
|
189
|
+
"heat.heaters[].state": {
|
|
190
|
+
"summary": "State of the heater",
|
|
191
|
+
"values": {
|
|
192
|
+
"off": "Heater is turned off",
|
|
193
|
+
"standby": "Heater is in standby mode",
|
|
194
|
+
"active": "Heater is active",
|
|
195
|
+
"fault": "Heater faulted",
|
|
196
|
+
"tuning": "Heater is being tuned",
|
|
197
|
+
"offline": "Heater is offline"
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
"inputs": "Information about every available G/M/T-code channel",
|
|
201
|
+
"inputs[].active": {
|
|
202
|
+
"summary": "True if the input is is in active mode i.e. executing commands for its assigned motion system, false if it is assigned to a motion system other than the current one",
|
|
203
|
+
"remarks": "This will always be true except for the File and File2 inputs"
|
|
204
|
+
},
|
|
205
|
+
"inputs[].axesRelative": "Whether relative positioning is being used",
|
|
206
|
+
"inputs[].compatibility": {
|
|
207
|
+
"summary": "Emulation used on this channel",
|
|
208
|
+
"values": {
|
|
209
|
+
"Default": "No emulation (same as RepRapFirmware)",
|
|
210
|
+
"RepRapFirmware": "Emulating RepRapFirmware",
|
|
211
|
+
"Marlin": "Emulating Marlin",
|
|
212
|
+
"Teacup": "Emulating Teacup",
|
|
213
|
+
"Sprinter": "Emulating Sprinter",
|
|
214
|
+
"Repetier": "Emulating Repetier",
|
|
215
|
+
"NanoDLP": "Special emulation for NanoDLP"
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
"inputs[].currentFile": "Name of the file being executed or null if none",
|
|
219
|
+
"inputs[].distanceUnit": {
|
|
220
|
+
"summary": "Whether inches are being used instead of mm",
|
|
221
|
+
"values": {
|
|
222
|
+
"mm": "Millimeters",
|
|
223
|
+
"in": "Inches"
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
"inputs[].drivesRelative": "Whether relative extrusion is being used",
|
|
227
|
+
"inputs[].feedRate": "Current feedrate as passed by the last G0/G1 F... command",
|
|
228
|
+
"inputs[].inMacro": "Whether a macro file is being processed",
|
|
229
|
+
"inputs[].inverseTimeMode": "Indicates if inverse time mode (G73) is active",
|
|
230
|
+
"inputs[].lineNumber": "Number of the current line",
|
|
231
|
+
"inputs[].macroRestartable": "Indicates if the current macro file can be restarted after a pause",
|
|
232
|
+
"inputs[].motionSystem": "Active motion system index",
|
|
233
|
+
"inputs[].name": "Name of this channel",
|
|
234
|
+
"inputs[].selectedPlane": "Index of the selected plane",
|
|
235
|
+
"inputs[].stackDepth": "Depth of the stack",
|
|
236
|
+
"inputs[].state": {
|
|
237
|
+
"summary": "State of this input channel",
|
|
238
|
+
"values": {
|
|
239
|
+
"awaitingAcknowledgement": "Awaiting message acknowledgement",
|
|
240
|
+
"idle": "Channel is idle",
|
|
241
|
+
"executing": "Channel is executing a G/M/T-code",
|
|
242
|
+
"waiting": "Channel is waiting for more data",
|
|
243
|
+
"reading": "Channel is reading a G/M/T-code",
|
|
244
|
+
"unused": "Channel has not been used yet"
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
"inputs[].volumetric": "Whether volumetric extrusion is being used",
|
|
248
|
+
"job": "Information about the current job",
|
|
249
|
+
"job.build": "Information about the current build or null if not available",
|
|
250
|
+
"job.build.currentObject": {
|
|
251
|
+
"summary": "Index of the current object being printed or -1 if unknown",
|
|
252
|
+
"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"
|
|
253
|
+
},
|
|
254
|
+
"job.build.m486Names": "Whether M486 names are being used",
|
|
255
|
+
"job.build.m486Numbers": "Whether M486 numbers are being used",
|
|
256
|
+
"job.build.objects": "List of detected build objects",
|
|
257
|
+
"job.build.objects[].cancelled": "Indicates if this build object is cancelled",
|
|
258
|
+
"job.build.objects[].name": "Name of the build object (if any)",
|
|
259
|
+
"job.build.objects[].x": "X coordinates of the build object (in mm or null if not found)",
|
|
260
|
+
"job.build.objects[].y": "Y coordinates of the build object (in mm or null if not found)",
|
|
261
|
+
"job.duration": "Total active duration of the current job file (in s or null)",
|
|
262
|
+
"job.file": "Information about the file being processed",
|
|
263
|
+
"job.file.customInfo": "User-defined key-value pairs",
|
|
264
|
+
"job.file.filament": "Filament consumption per extruder drive (in mm)",
|
|
265
|
+
"job.file.fileName": "The filename of the G-code file",
|
|
266
|
+
"job.file.generatedBy": "Name of the application that generated this file",
|
|
267
|
+
"job.file.height": "Build height of the G-code job or 0 if not found (in mm)",
|
|
268
|
+
"job.file.lastModified": "Value indicating when the file was last modified or null if unknown",
|
|
269
|
+
"job.file.layerHeight": "Height of each other layer or 0 if not found (in mm)",
|
|
270
|
+
"job.file.numLayers": "Number of total layers or 0 if unknown",
|
|
271
|
+
"job.file.printTime": "Estimated print time (in s)",
|
|
272
|
+
"job.file.simulatedTime": "Estimated print time from G-code simulation (in s)",
|
|
273
|
+
"job.file.size": "Size of the file",
|
|
274
|
+
"job.file.thumbnails": "Collection of thumbnails parsed from Gcode",
|
|
275
|
+
"job.file.thumbnails[].data": {
|
|
276
|
+
"summary": "Base64-encoded thumbnail or null if invalid or not requested",
|
|
277
|
+
"remarks": "This property is not provided by RepRapFirmware fileinfo results and it may be null if no thumbnail content is requested"
|
|
278
|
+
},
|
|
279
|
+
"job.file.thumbnails[].format": {
|
|
280
|
+
"summary": "Format of this thumbnail",
|
|
281
|
+
"values": {
|
|
282
|
+
"jpeg": null,
|
|
283
|
+
"png": null,
|
|
284
|
+
"qoi": null
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
"job.file.thumbnails[].height": "Height of this thumbnail",
|
|
288
|
+
"job.file.thumbnails[].offset": "File offset of this thumbnail",
|
|
289
|
+
"job.file.thumbnails[].size": "Size of this thumbnail",
|
|
290
|
+
"job.file.thumbnails[].width": "Width of this thumbnail",
|
|
291
|
+
"job.filePosition": "Current position in the file being processed (in bytes or null)",
|
|
292
|
+
"job.lastDuration": "Total duration of the last job (in s or null)",
|
|
293
|
+
"job.lastFileAborted": "Indicates if the last file was aborted (unexpected cancellation)",
|
|
294
|
+
"job.lastFileCancelled": "Indicates if the last file was cancelled (user cancelled)",
|
|
295
|
+
"job.lastFileName": "Name of the last file processed or null if none",
|
|
296
|
+
"job.lastFileSimulated": {
|
|
297
|
+
"summary": "Indicates if the last file processed was simulated",
|
|
298
|
+
"remarks": "This is not set if the file was aborted or cancelled"
|
|
299
|
+
},
|
|
300
|
+
"job.lastWarmUpDuration": "Warm-up duration of the last print or null if not available (in s)",
|
|
301
|
+
"job.layer": "Number of the current layer or null not available",
|
|
302
|
+
"job.layerTime": "Time elapsed since the last layer change (in s or null)",
|
|
303
|
+
"job.layers": {
|
|
304
|
+
"summary": "Information about the past layers",
|
|
305
|
+
"remarks": "In previous API versions this was a MessageCollection but it has been changed to StaticModelCollection`1 to allow past layers to be modified again when needed. Note that previous plugins subscribing to this property will not receive any more updates about this property to avoid memory leaks"
|
|
306
|
+
},
|
|
307
|
+
"job.layers[].duration": "Duration of the layer (in s)",
|
|
308
|
+
"job.layers[].filament": "Actual amount of filament extruded during this layer (in mm)",
|
|
309
|
+
"job.layers[].filamentUsage": "Amount of total filament extruded during this layer (in mm)",
|
|
310
|
+
"job.layers[].fractionPrinted": "Fraction of the file printed during this layer (0..1)",
|
|
311
|
+
"job.layers[].height": "Height of the layer (in mm or 0 if unknown)",
|
|
312
|
+
"job.layers[].temperatures": "Last heater temperatures (in C or null if unknown)",
|
|
313
|
+
"job.pauseDuration": "Total pause time since the job started",
|
|
314
|
+
"job.rawExtrusion": "Total extrusion amount without extrusion factors applied (in mm)",
|
|
315
|
+
"job.timesLeft": "Estimated times left",
|
|
316
|
+
"job.timesLeft.filament": "Time left based on filament consumption (in s or null)",
|
|
317
|
+
"job.timesLeft.file": "Time left based on file progress (in s or null)",
|
|
318
|
+
"job.timesLeft.slicer": "Time left based on the slicer reports (see M73 R, in s or null)",
|
|
319
|
+
"job.timesLeft.toPause": "Time left before the next colour change is expected (see M73 C, in s or null)",
|
|
320
|
+
"job.warmUpDuration": "Time needed to heat up the heaters (in s or null)",
|
|
321
|
+
"ledStrips": "List of configured LED strips",
|
|
322
|
+
"ledStrips[].board": "Board address of the corresponding pin",
|
|
323
|
+
"ledStrips[].colorOrder": {
|
|
324
|
+
"summary": "Order in which colour components are sent to the strip",
|
|
325
|
+
"values": {
|
|
326
|
+
"0": "Default order for DotStar LEDs",
|
|
327
|
+
"1": "Blue, red, green",
|
|
328
|
+
"2": "Red, green, blue",
|
|
329
|
+
"3": "Red, blue, green",
|
|
330
|
+
"4": "Green, blue, red",
|
|
331
|
+
"5": "Default order for WS2812 (NeoPixel) LEDs"
|
|
332
|
+
}
|
|
333
|
+
},
|
|
334
|
+
"ledStrips[].maxLeds": "Maximum number of LEDs that can be addressed on this strip",
|
|
335
|
+
"ledStrips[].pin": "Name of the pin this LED strip is connected to",
|
|
336
|
+
"ledStrips[].stopMovement": "Indicates if this strip is bit-banged and therefore requires motion to be stopped before sending a command",
|
|
337
|
+
"ledStrips[].type": {
|
|
338
|
+
"summary": "Type of this LED strip",
|
|
339
|
+
"values": {
|
|
340
|
+
"DotStar": "DotStar LED strip",
|
|
341
|
+
"NeoPixel_RGB": "NeoPixel LED strip with only RGB capability",
|
|
342
|
+
"NeoPixel_RGBW": "NeoPixel RGB LED strip with additional white output"
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
"limits": "Machine configuration limits",
|
|
346
|
+
"limits.axes": "Maximum number of axes or null if unknown",
|
|
347
|
+
"limits.axesPlusExtruders": "Maximum number of axes + extruders or null if unknown",
|
|
348
|
+
"limits.bedHeaters": "Maximum number of bed heaters or null if unknown",
|
|
349
|
+
"limits.boards": "Maximum number of boards or null if unknown",
|
|
350
|
+
"limits.chamberHeaters": "Maximum number of chamber heaters or null if unknown",
|
|
351
|
+
"limits.drivers": "Maximum number of drivers or null if unknown",
|
|
352
|
+
"limits.driversPerAxis": "Maximum number of drivers per axis or null if unknown",
|
|
353
|
+
"limits.extruders": "Maximum number of extruders or null if unknown",
|
|
354
|
+
"limits.extrudersPerTool": "Maximum number of extruders per tool or null if unknown",
|
|
355
|
+
"limits.fans": "Maximum number of fans or null if unknown",
|
|
356
|
+
"limits.gpInPorts": "Maximum number of general-purpose input ports or null if unknown",
|
|
357
|
+
"limits.gpOutPorts": "Maximum number of general-purpose output ports or null if unknown",
|
|
358
|
+
"limits.heaters": "Maximum number of heaters or null if unknown",
|
|
359
|
+
"limits.heatersPerTool": "Maximum number of heaters per tool or null if unknown",
|
|
360
|
+
"limits.ledStrips": "Maximum number of configured LED strips or null if unknown",
|
|
361
|
+
"limits.monitorsPerHeater": "Maximum number of monitors per heater or null if unknown",
|
|
362
|
+
"limits.portsPerHeater": "Maximum number of output ports per heater or null if unknown",
|
|
363
|
+
"limits.reportedAxes": "Maximum number of axes reported when the move key is requested. If the number of reported axes is greater than or equal to this value, a client may need to request move.axes explicitly in order to get the full move.axes array",
|
|
364
|
+
"limits.restorePoints": "Maximum number of restore points or null if unknown",
|
|
365
|
+
"limits.sensors": "Maximum number of sensors or null if unknown",
|
|
366
|
+
"limits.spindles": "Maximum number of spindles or null if unknown",
|
|
367
|
+
"limits.tools": "Maximum number of tools or null if unknown",
|
|
368
|
+
"limits.trackedObjects": "Maximum number of tracked objects or null if unknown",
|
|
369
|
+
"limits.triggers": "Maximum number of triggers or null if unknown",
|
|
370
|
+
"limits.volumes": "Maximum number of volumes or null if unknown",
|
|
371
|
+
"limits.workplaces": "Maximum number of workplaces or null if unknown",
|
|
372
|
+
"limits.zProbeProgramBytes": "Maximum number of Z-probe programming bytes or null if unknown",
|
|
373
|
+
"limits.zProbes": "Maximum number of Z-probes or null if unknown",
|
|
374
|
+
"move": "Information about the move subsystem",
|
|
375
|
+
"move.accelerationTime": "Value of the M201 T parameter. Only present in builds that support S-curve acceleration",
|
|
376
|
+
"move.axes": "List of the configured axes",
|
|
377
|
+
"move.axes[].acceleration": "Acceleration of this axis (in mm/s^2)",
|
|
378
|
+
"move.axes[].babystep": "Babystep amount (in mm)",
|
|
379
|
+
"move.axes[].backlash": "Configured backlash of this axis (in mm)",
|
|
380
|
+
"move.axes[].current": "Motor current (in mA)",
|
|
381
|
+
"move.axes[].drivers": "List of the assigned drivers",
|
|
382
|
+
"move.axes[].homed": "Whether or not the axis is homed",
|
|
383
|
+
"move.axes[].jerk": "Motor jerk (in mm/min)",
|
|
384
|
+
"move.axes[].letter": {
|
|
385
|
+
"summary": "Letter of this axis",
|
|
386
|
+
"values": {
|
|
387
|
+
"X": "X axis",
|
|
388
|
+
"Y": "Y axis",
|
|
389
|
+
"Z": "Z axis",
|
|
390
|
+
"U": "U axis",
|
|
391
|
+
"V": "V axis",
|
|
392
|
+
"W": "W axis",
|
|
393
|
+
"A": "A axis",
|
|
394
|
+
"B": "B axis",
|
|
395
|
+
"C": "C axis",
|
|
396
|
+
"D": "D axis",
|
|
397
|
+
"a": "a axis",
|
|
398
|
+
"b": "b axis",
|
|
399
|
+
"c": "c axis",
|
|
400
|
+
"d": "d axis",
|
|
401
|
+
"e": "e axis",
|
|
402
|
+
"f": "f axis",
|
|
403
|
+
"g": "g axis",
|
|
404
|
+
"h": "h axis",
|
|
405
|
+
"i": "i axis",
|
|
406
|
+
"j": "j axis",
|
|
407
|
+
"k": "k axis",
|
|
408
|
+
"l": "l axis",
|
|
409
|
+
"m": "m axis",
|
|
410
|
+
"n": "n axis",
|
|
411
|
+
"o": "o axis",
|
|
412
|
+
"p": "p axis",
|
|
413
|
+
"q": "q axis",
|
|
414
|
+
"r": "r axis",
|
|
415
|
+
"s": "s axis",
|
|
416
|
+
"t": "t axis",
|
|
417
|
+
"u": "u axis",
|
|
418
|
+
"v": "v axis",
|
|
419
|
+
"w": "w axis",
|
|
420
|
+
"x": "x axis",
|
|
421
|
+
"y": "y axis",
|
|
422
|
+
"z": "z axis"
|
|
423
|
+
}
|
|
424
|
+
},
|
|
425
|
+
"move.axes[].machinePosition": {
|
|
426
|
+
"summary": "Current machine position (in mm) or null if unknown/unset",
|
|
427
|
+
"remarks": "This value reflects the machine position of the move being performed or of the last one if the machine is not moving"
|
|
428
|
+
},
|
|
429
|
+
"move.axes[].max": "Maximum travel of this axis (in mm)",
|
|
430
|
+
"move.axes[].maxProbed": "Whether the axis maximum was probed",
|
|
431
|
+
"move.axes[].microstepping": "Microstepping configuration",
|
|
432
|
+
"move.axes[].microstepping.interpolated": "Indicates if the stepper driver uses interpolation",
|
|
433
|
+
"move.axes[].microstepping.value": "Microsteps per full step",
|
|
434
|
+
"move.axes[].min": "Minimum travel of this axis (in mm)",
|
|
435
|
+
"move.axes[].minProbed": "Whether the axis minimum was probed",
|
|
436
|
+
"move.axes[].percentCurrent": "Percentage applied to the motor current (0..100)",
|
|
437
|
+
"move.axes[].percentStstCurrent": "Percentage applied to the motor current during standstill (0..100 or null if not supported)",
|
|
438
|
+
"move.axes[].phaseStep": "Whether or not the axis is currently using phase stepping",
|
|
439
|
+
"move.axes[].printingJerk": "Motor jerk during the current print only (in mm/s)",
|
|
440
|
+
"move.axes[].reducedAcceleration": "Reduced accelerations used by Z probing and stall homing moves (in mm/s^2)",
|
|
441
|
+
"move.axes[].speed": "Maximum speed (in mm/min)",
|
|
442
|
+
"move.axes[].stepPos": "Current step position of the axis (in steps)",
|
|
443
|
+
"move.axes[].stepsPerMm": "Number of microsteps per mm",
|
|
444
|
+
"move.axes[].userPosition": {
|
|
445
|
+
"summary": "Current user position (in mm) or null if unknown",
|
|
446
|
+
"remarks": "This value reflects the target position of the last move fed into the look-ahead buffer"
|
|
447
|
+
},
|
|
448
|
+
"move.axes[].visible": "Whether or not the axis is visible",
|
|
449
|
+
"move.axes[].workplaceOffsets": "Offsets of this axis for each workplace (in mm)",
|
|
450
|
+
"move.backlashFactor": "Backlash distance multiplier",
|
|
451
|
+
"move.calibration": "Information about the automatic calibration",
|
|
452
|
+
"move.calibration.final": "Final calibration results (for Delta calibration)",
|
|
453
|
+
"move.calibration.final.deviation": "RMS deviation (in mm)",
|
|
454
|
+
"move.calibration.final.mean": "Mean deviation (in mm)",
|
|
455
|
+
"move.calibration.initial": "Initial calibration results (for Delta calibration)",
|
|
456
|
+
"move.calibration.initial.deviation": "RMS deviation (in mm)",
|
|
457
|
+
"move.calibration.initial.mean": "Mean deviation (in mm)",
|
|
458
|
+
"move.calibration.numFactors": "Number of factors used (for Delta calibration)",
|
|
459
|
+
"move.compensation": "Information about the currently configured compensation options",
|
|
460
|
+
"move.compensation.fadeHeight": "Effective height before the bed compensation is turned off (in mm) or null if not configured",
|
|
461
|
+
"move.compensation.file": "Full path to the currently used height map file or null if none is in use",
|
|
462
|
+
"move.compensation.liveGrid": "Grid settings of the loaded heightmap or null if no heightmap is loaded",
|
|
463
|
+
"move.compensation.liveGrid.axes": "Axis letters of this heightmap",
|
|
464
|
+
"move.compensation.liveGrid.maxs": "End coordinates of the heightmap",
|
|
465
|
+
"move.compensation.liveGrid.mins": "Start coordinates of the heightmap",
|
|
466
|
+
"move.compensation.liveGrid.radius": "Probing radius for delta kinematics",
|
|
467
|
+
"move.compensation.liveGrid.spacings": "Spacings between the coordinates",
|
|
468
|
+
"move.compensation.meshDeviation": "Deviations of the mesh grid or null if not applicable",
|
|
469
|
+
"move.compensation.meshDeviation.deviation": "RMS deviation (in mm)",
|
|
470
|
+
"move.compensation.meshDeviation.mean": "Mean deviation (in mm)",
|
|
471
|
+
"move.compensation.probeGrid": "Probe grid settings as defined by M557",
|
|
472
|
+
"move.compensation.probeGrid.axes": "Axis letters of this heightmap",
|
|
473
|
+
"move.compensation.probeGrid.maxs": "End coordinates of the heightmap",
|
|
474
|
+
"move.compensation.probeGrid.mins": "Start coordinates of the heightmap",
|
|
475
|
+
"move.compensation.probeGrid.radius": "Probing radius for delta kinematics",
|
|
476
|
+
"move.compensation.probeGrid.spacings": "Spacings between the coordinates",
|
|
477
|
+
"move.compensation.skew": "Information about the configured orthogonal axis parameters",
|
|
478
|
+
"move.compensation.skew.compensateXY": "Indicates if the TanXY value is used to compensate X when Y moves (else Y when X moves)",
|
|
479
|
+
"move.compensation.skew.tanXY": "Tangent of the skew angle for the XY or YX axes",
|
|
480
|
+
"move.compensation.skew.tanXZ": "Tangent of the skew angle for the XZ axes",
|
|
481
|
+
"move.compensation.skew.tanYZ": "Tangent of the skew angle for the YZ axes",
|
|
482
|
+
"move.compensation.type": {
|
|
483
|
+
"summary": "Type of the compensation in use",
|
|
484
|
+
"values": {
|
|
485
|
+
"none": "No compensation",
|
|
486
|
+
"mesh": "Mesh compensation"
|
|
487
|
+
}
|
|
488
|
+
},
|
|
489
|
+
"move.currentMove": "Information about the current move",
|
|
490
|
+
"move.currentMove.acceleration": "Acceleration of the current move (in mm/s^2)",
|
|
491
|
+
"move.currentMove.deceleration": "Deceleration of the current move (in mm/s^2)",
|
|
492
|
+
"move.currentMove.distance": "Total distance of the current move (in mm)",
|
|
493
|
+
"move.currentMove.duration": "Duration of the current move (in s)",
|
|
494
|
+
"move.currentMove.extrusionRate": "Current extrusion rate (in mm/s)",
|
|
495
|
+
"move.currentMove.laserPwm": "Laser PWM of the current move (0..1) or null if not applicable",
|
|
496
|
+
"move.currentMove.requestedSpeed": "Requested speed of the current move (in mm/s)",
|
|
497
|
+
"move.currentMove.topSpeed": "Top speed of the current move (in mm/s)",
|
|
498
|
+
"move.extruders": "List of configured extruders",
|
|
499
|
+
"move.extruders[].acceleration": "Acceleration of this extruder (in mm/s^2)",
|
|
500
|
+
"move.extruders[].current": "Motor current (in mA)",
|
|
501
|
+
"move.extruders[].driver": "Assigned driver",
|
|
502
|
+
"move.extruders[].factor": "Extrusion factor to use (0..1 or greater)",
|
|
503
|
+
"move.extruders[].filament": "Name of the currently loaded filament",
|
|
504
|
+
"move.extruders[].filamentDiameter": "Diameter of the corresponding filament (in mm)",
|
|
505
|
+
"move.extruders[].jerk": "Motor jerk (in mm/s)",
|
|
506
|
+
"move.extruders[].microstepping": "Microstepping configuration",
|
|
507
|
+
"move.extruders[].microstepping.interpolated": "Indicates if the stepper driver uses interpolation",
|
|
508
|
+
"move.extruders[].microstepping.value": "Microsteps per full step",
|
|
509
|
+
"move.extruders[].nonlinear": "Nonlinear extrusion parameters (see M592)",
|
|
510
|
+
"move.extruders[].nonlinear.a": "A coefficient in the extrusion formula",
|
|
511
|
+
"move.extruders[].nonlinear.b": "B coefficient in the extrusion formula",
|
|
512
|
+
"move.extruders[].nonlinear.upperLimit": "Upper limit of the nonlinear extrusion compensation",
|
|
513
|
+
"move.extruders[].percentCurrent": "Percentage applied to the motor current (0..100)",
|
|
514
|
+
"move.extruders[].percentStstCurrent": "Percentage applied to the motor current during standstill (0..100 or null if not supported)",
|
|
515
|
+
"move.extruders[].phaseStep": "Whether or not the extruder is currently using phase stepping",
|
|
516
|
+
"move.extruders[].position": "Extruder position (in mm)",
|
|
517
|
+
"move.extruders[].pressAdv": "Pressure advance parameters (see M572)",
|
|
518
|
+
"move.extruders[].pressAdv.d": "Delay coefficient (in ms), or null if pressure advance is in simple mode (k0 = 0) - RRF reports infinity here as null",
|
|
519
|
+
"move.extruders[].pressAdv.k0": "K0 coefficient",
|
|
520
|
+
"move.extruders[].pressAdv.k1": "K1 coefficient",
|
|
521
|
+
"move.extruders[].pressureAdvance": "Pressure advance",
|
|
522
|
+
"move.extruders[].printingJerk": "Motor jerk during the current print only (in mm/s)",
|
|
523
|
+
"move.extruders[].rawPosition": "Raw extruder position as commanded by the slicer without extrusion factor applied (in mm)",
|
|
524
|
+
"move.extruders[].speed": "Maximum speed (in mm/min)",
|
|
525
|
+
"move.extruders[].stepsPerMm": "Number of microsteps per mm",
|
|
526
|
+
"move.idle": "Idle current reduction parameters",
|
|
527
|
+
"move.idle.factor": "Motor current reduction factor (0..1)",
|
|
528
|
+
"move.idle.timeout": "Idle timeout after which the stepper motor currents are reduced (in s)",
|
|
529
|
+
"move.keepout": "List of configured keep-out zones",
|
|
530
|
+
"move.keepout[].coords[].max": "Maximum axis coordinate",
|
|
531
|
+
"move.keepout[].coords[].min": "Minimum axis coordinate",
|
|
532
|
+
"move.kinematics": "Configured kinematics options",
|
|
533
|
+
"move.kinematics.name": {
|
|
534
|
+
"summary": "Name of the configured kinematics",
|
|
535
|
+
"values": {
|
|
536
|
+
"cartesian": "Cartesian",
|
|
537
|
+
"coreXY": "CoreXY",
|
|
538
|
+
"coreXYU": "CoreXY with extra U axis",
|
|
539
|
+
"coreXYUV": "CoreXY with extra UV axes",
|
|
540
|
+
"coreXZ": "CoreXZ",
|
|
541
|
+
"markForged": "MarkForged",
|
|
542
|
+
"fiveBarScara": "Five-bar SCARA",
|
|
543
|
+
"hangprinter": "Hangprinter",
|
|
544
|
+
"linearDelta": "Linear delta",
|
|
545
|
+
"polar": "Polar",
|
|
546
|
+
"rotaryDelta": "Rotary delta",
|
|
547
|
+
"scara": "SCARA",
|
|
548
|
+
"unknown": "Unknown"
|
|
549
|
+
}
|
|
550
|
+
},
|
|
551
|
+
"move.kinematics.segmentation": "Segmentation parameters or null if not configured",
|
|
552
|
+
"move.kinematics.segmentation.segmentsPerSec": "Number of segments per second",
|
|
553
|
+
"move.limitAxes": "Limit axis positions by their minima and maxima",
|
|
554
|
+
"move.motionSystems": "List of configured motion systems",
|
|
555
|
+
"move.motionSystems[].currentMove": "Information about the current move",
|
|
556
|
+
"move.motionSystems[].currentMove.acceleration": "Acceleration of the current move (in mm/s^2)",
|
|
557
|
+
"move.motionSystems[].currentMove.deceleration": "Deceleration of the current move (in mm/s^2)",
|
|
558
|
+
"move.motionSystems[].currentMove.distance": "Total distance of the current move (in mm)",
|
|
559
|
+
"move.motionSystems[].currentMove.duration": "Duration of the current move (in s)",
|
|
560
|
+
"move.motionSystems[].currentMove.extrusionRate": "Current extrusion rate (in mm/s)",
|
|
561
|
+
"move.motionSystems[].currentMove.laserPwm": "Laser PWM of the current move (0..1) or null if not applicable",
|
|
562
|
+
"move.motionSystems[].currentMove.requestedSpeed": "Requested speed of the current move (in mm/s)",
|
|
563
|
+
"move.motionSystems[].currentMove.topSpeed": "Top speed of the current move (in mm/s)",
|
|
564
|
+
"move.motionSystems[].currentObject": "Number of the current object being printed or null if not printing",
|
|
565
|
+
"move.motionSystems[].currentTool": "Number of the currently selected tool or -1 if none is selected",
|
|
566
|
+
"move.motionSystems[].nextTool": "Number of the next tool to be selected",
|
|
567
|
+
"move.motionSystems[].previousTool": "Number of the previous tool",
|
|
568
|
+
"move.motionSystems[].printingAcceleration": "Maximum acceleration allowed while printing (in mm/s^2)",
|
|
569
|
+
"move.motionSystems[].restorePoints": "List of restore points",
|
|
570
|
+
"move.motionSystems[].restorePoints[].coords": "Axis coordinates of the restore point (in mm)",
|
|
571
|
+
"move.motionSystems[].restorePoints[].extruderPos": "The virtual extruder position at the start of this move",
|
|
572
|
+
"move.motionSystems[].restorePoints[].fanPwm": "PWM value of the tool fan (0..1)",
|
|
573
|
+
"move.motionSystems[].restorePoints[].feedRate": "Requested feedrate (in mm/s)",
|
|
574
|
+
"move.motionSystems[].restorePoints[].ioBits": "The output port bits setting for this move or null if not applicable",
|
|
575
|
+
"move.motionSystems[].restorePoints[].laserPwm": "Laser PWM value (0..1) or null if not applicable",
|
|
576
|
+
"move.motionSystems[].restorePoints[].toolNumber": "The tool number that was active",
|
|
577
|
+
"move.motionSystems[].rotation": "Parameters for centre rotation",
|
|
578
|
+
"move.motionSystems[].rotation.angle": "Angle of the centre rotatation (in deg)",
|
|
579
|
+
"move.motionSystems[].rotation.centre": "XY coordinates of the centre rotation",
|
|
580
|
+
"move.motionSystems[].speedFactor": "Speed factor applied to every regular move (0.01..1 or greater)",
|
|
581
|
+
"move.motionSystems[].travelAcceleration": "Maximum acceleration allowed while travelling (in mm/s^2)",
|
|
582
|
+
"move.motionSystems[].userPosition": "User coordinates of the motion system",
|
|
583
|
+
"move.motionSystems[].virtualEPos": "Virtual total extruder position",
|
|
584
|
+
"move.motionSystems[].workplaceNumber": "Index of the currently selected workplace",
|
|
585
|
+
"move.noMovesBeforeHoming": "Indicates if standard moves are forbidden if the corresponding axis is not homed",
|
|
586
|
+
"move.printingAcceleration": "Maximum acceleration allowed while printing (in mm/s^2)",
|
|
587
|
+
"move.queue": "List of move queue items (DDA rings)",
|
|
588
|
+
"move.queue[].gracePeriod": "The minimum idle time before we should start a move (in s)",
|
|
589
|
+
"move.queue[].length": "Maximum number of moves that can be accomodated in the DDA ring",
|
|
590
|
+
"move.rotation": "Parameters for centre rotation",
|
|
591
|
+
"move.rotation.angle": "Angle of the centre rotatation (in deg)",
|
|
592
|
+
"move.rotation.centre": "XY coordinates of the centre rotation",
|
|
593
|
+
"move.shaping": "Parameters for input shaping",
|
|
594
|
+
"move.shaping.amplitudes": "Amplitudes of the input shaper",
|
|
595
|
+
"move.shaping.damping": "Damping factor",
|
|
596
|
+
"move.shaping.delays": "Input shaper delays (in s)",
|
|
597
|
+
"move.shaping.frequency": "Frequency (in Hz)",
|
|
598
|
+
"move.shaping.type": {
|
|
599
|
+
"summary": "Configured input shaping type",
|
|
600
|
+
"values": {
|
|
601
|
+
"none": "None",
|
|
602
|
+
"mzv": "MZV",
|
|
603
|
+
"zvd": "ZVD",
|
|
604
|
+
"zvdd": "ZVDD",
|
|
605
|
+
"zvddd": "ZVDDD",
|
|
606
|
+
"ei2": "EI2 (2-hump)",
|
|
607
|
+
"ei3": "EI3 (3-hump)",
|
|
608
|
+
"custom": "Custom"
|
|
609
|
+
}
|
|
610
|
+
},
|
|
611
|
+
"move.speedFactor": "Speed factor applied to every regular move (0.01..1 or greater)",
|
|
612
|
+
"move.travelAcceleration": "Maximum acceleration allowed while travelling (in mm/s^2)",
|
|
613
|
+
"move.usingSCurve": "Indicates if third-order S-curve acceleration is enabled. Only present in builds that support S-curve acceleration",
|
|
614
|
+
"move.virtualEPos": "Virtual total extruder position",
|
|
615
|
+
"move.workplaceNumber": "Index of the currently selected workplace",
|
|
616
|
+
"network": "Information about connected network adapters",
|
|
617
|
+
"network.corsSite": "If this is set, the web server will allow cross-origin requests via the Access-Control-Allow-Origin header",
|
|
618
|
+
"network.hostname": "Hostname of the machine",
|
|
619
|
+
"network.interfaces": "List of available network interfaces",
|
|
620
|
+
"network.interfaces[].activeProtocols": "List of active protocols",
|
|
621
|
+
"network.interfaces[].actualIP": "Actual IPv4 address of the network adapter or null if unknown",
|
|
622
|
+
"network.interfaces[].configuredIP": "Configured IPv4 address of the network adapter or null if unknown",
|
|
623
|
+
"network.interfaces[].dnsServer": "Configured IPv4 DNS server of the network adapter or null if unknown",
|
|
624
|
+
"network.interfaces[].firmwareVersion": "Version of the network interface or null if unknown. This is only reported by ESP-based boards in standalone mode",
|
|
625
|
+
"network.interfaces[].gateway": "IPv4 gateway of the network adapter or null if unknown",
|
|
626
|
+
"network.interfaces[].mac": "Physical address of the network adapter or null if unknown",
|
|
627
|
+
"network.interfaces[].numReconnects": "Number of reconnect attempts or null if unknown. This is only reported by ESP-based boards in standalone mode",
|
|
628
|
+
"network.interfaces[].rssi": "Received signal strength indicator of the WiFi adapter (only WiFi, in dBm, or null if unknown)",
|
|
629
|
+
"network.interfaces[].speed": "Speed of the network interface (in MBit, null if unknown, 0 if not connected)",
|
|
630
|
+
"network.interfaces[].ssid": "SSID of the WiFi network or null if not applicable",
|
|
631
|
+
"network.interfaces[].state": "State of this network interface or null if unknown",
|
|
632
|
+
"network.interfaces[].subnet": "Subnet of the network adapter or null if unknown",
|
|
633
|
+
"network.interfaces[].type": {
|
|
634
|
+
"summary": "Type of this network interface",
|
|
635
|
+
"values": {
|
|
636
|
+
"ethernet": "Wired network interface",
|
|
637
|
+
"wifi": "Wireless network interface"
|
|
638
|
+
}
|
|
639
|
+
},
|
|
640
|
+
"network.interfaces[].wifiCountry": {
|
|
641
|
+
"summary": "WiFi country code if this is a WiFi adapter and if the country code can be determined",
|
|
642
|
+
"remarks": "For this setting to be populated in SBC mode it is required to have the DuetPiManagementPlugin running. This is required due to missing Linux permissions of the control server."
|
|
643
|
+
},
|
|
644
|
+
"network.name": "Name of the machine",
|
|
645
|
+
"plugins": {
|
|
646
|
+
"summary": "Dictionary of loaded plugins where each key is the plugin identifier",
|
|
647
|
+
"remarks": "This is only populated by DSF in SBC mode, however it may be populated manually as well in standalone mode. Keys are compared case-insensitively, so two plugin identifiers differing only in case map to the same entry. Values in this dictionary cannot become null. If a value is changed to null, the corresponding item is deleted"
|
|
648
|
+
},
|
|
649
|
+
"plugins[].author": "Author of the plugin",
|
|
650
|
+
"plugins[].data": "Custom plugin data to be populated in the object model (DSF/DWC in SBC mode - or - DWC in standalone mode). Before DuetAPI.Commands.SetPluginData can be used, corresponding properties must be registered via this property first!",
|
|
651
|
+
"plugins[].dsfFiles": "List of files for the DSF plugin",
|
|
652
|
+
"plugins[].dwcDependencies": "List of DWC plugins this plugin depends on. Circular dependencies are not supported",
|
|
653
|
+
"plugins[].dwcFiles": "List of files for the DWC plugin",
|
|
654
|
+
"plugins[].dwcVersion": "Major/minor compatible DWC version",
|
|
655
|
+
"plugins[].homepage": "Link to the plugin homepage or source code repository",
|
|
656
|
+
"plugins[].id": {
|
|
657
|
+
"summary": "Identifier of this plugin. May consist of letters and digits only (max length 32 chars)",
|
|
658
|
+
"remarks": "Compared case-insensitively, so two ids differing only in case refer to the same plugin and cannot be installed alongside each other. For plugins with DWC components, this is the Webpack chunk name too"
|
|
659
|
+
},
|
|
660
|
+
"plugins[].license": "License of the plugin. Should follow the SPDX format (see https://spdx.org/licenses/)",
|
|
661
|
+
"plugins[].name": "Name of the plugin. May consist of letters, digits, dashes, and underscores only (max length 64 chars)",
|
|
662
|
+
"plugins[].pid": "Process ID of the plugin or -1 if not started. It is set to 0 while the plugin is being shut down",
|
|
663
|
+
"plugins[].rrfVersion": "Major/minor supported RRF version (optional)",
|
|
664
|
+
"plugins[].sbcAutoRestart": "Automatically restart the SBC process when terminated",
|
|
665
|
+
"plugins[].sbcConfigFiles": {
|
|
666
|
+
"summary": "List of files in the sys or virtual SD directory that should not be overwritten on upgrade",
|
|
667
|
+
"remarks": "The file may be specified either relative to 0:/sys directory (e.g. motion.conf) or relative to the virtual SD directory (e.g. sys/motion.conf). Drive indices as in 0:/sys/motion.conf are not allowed!"
|
|
668
|
+
},
|
|
669
|
+
"plugins[].sbcDsfVersion": "Required DSF version for the plugin running on the SBC (ignored if there is no SBC executable)",
|
|
670
|
+
"plugins[].sbcExecutable": {
|
|
671
|
+
"summary": "Filename in the dsf directory used to start the plugin",
|
|
672
|
+
"remarks": "A plugin may provide different binaries in subdirectories per architecture. Supported architectures are: arm, arm64, x86, x86_64"
|
|
673
|
+
},
|
|
674
|
+
"plugins[].sbcExecutableArguments": "Command-line arguments for the executable",
|
|
675
|
+
"plugins[].sbcExtraExecutables": "List of other filenames in the dsf directory that should be executable",
|
|
676
|
+
"plugins[].sbcNotifyStarted": "Plugin notifies DSF when it is fully started",
|
|
677
|
+
"plugins[].sbcOutputRedirected": "Defines if messages from stdout/stderr are output as generic messages",
|
|
678
|
+
"plugins[].sbcPackageDependencies": "List of packages this plugin depends on (apt packages in the case of DuetPi)",
|
|
679
|
+
"plugins[].sbcPermissions": "List of permissions required by the plugin executable running on the SBC",
|
|
680
|
+
"plugins[].sbcPluginDependencies": "List of SBC plugins this plugin depends on. Circular dependencies are not supported",
|
|
681
|
+
"plugins[].sbcPythonDependencies": "List of Python packages this plugin depends on",
|
|
682
|
+
"plugins[].sbcRequired": "Set to true if a SBC is absolutely required for this plugin",
|
|
683
|
+
"plugins[].sdFiles": "List of files to be installed to the (virtual) SD excluding web files",
|
|
684
|
+
"plugins[].started": "Indicates if the plugin is fully started",
|
|
685
|
+
"plugins[].tags": "List of general tags for search",
|
|
686
|
+
"plugins[].version": "Version of the plugin",
|
|
687
|
+
"sbc": "Information about the SBC which Duet Software Framework is running on. This is null if the system is operating in standalone mode",
|
|
688
|
+
"sbc.appArmor": {
|
|
689
|
+
"summary": "Indicates if AppArmor support is enabled",
|
|
690
|
+
"remarks": "By default, AppArmor is required for plugin functionality"
|
|
691
|
+
},
|
|
692
|
+
"sbc.cpu": "Information about the SBC's CPU",
|
|
693
|
+
"sbc.cpu.avgLoad": "Average CPU load (0..100%) or null if unknown",
|
|
694
|
+
"sbc.cpu.hardware": "CPU hardware as reported by /proc/cpuinfo",
|
|
695
|
+
"sbc.cpu.numCores": "Number of CPU cores/threads (defaults to 1)",
|
|
696
|
+
"sbc.cpu.temperature": "Current CPU temperature (in degC) or null if unknown",
|
|
697
|
+
"sbc.distribution": "Name and version of the system distribution or null if unknown",
|
|
698
|
+
"sbc.distributionBuildTime": "Build datetime of the system distribution or null if unknown",
|
|
699
|
+
"sbc.dsf": "Information about DSF running on the SBC",
|
|
700
|
+
"sbc.dsf.buildDateTime": "Datetime when DSF was built",
|
|
701
|
+
"sbc.dsf.communicationMethod": {
|
|
702
|
+
"summary": "Communication method used to talk to the firmware",
|
|
703
|
+
"values": {
|
|
704
|
+
"spi": "SPI link adapter",
|
|
705
|
+
"usb": "USB link adapter"
|
|
706
|
+
}
|
|
707
|
+
},
|
|
708
|
+
"sbc.dsf.httpEndpoints": "List of registered third-party HTTP endpoints",
|
|
709
|
+
"sbc.dsf.httpEndpoints[].endpointType": {
|
|
710
|
+
"summary": "HTTP type of this endpoint",
|
|
711
|
+
"values": {
|
|
712
|
+
"GET": "HTTP GET request",
|
|
713
|
+
"POST": "HTTP POST request",
|
|
714
|
+
"PUT": "HTTP PUT request",
|
|
715
|
+
"PATCH": "HTTP PATCH request",
|
|
716
|
+
"TRACE": "HTTP TRACE request",
|
|
717
|
+
"DELETE": "HTTP DELETE request",
|
|
718
|
+
"OPTIONS": "HTTP OPTIONS request",
|
|
719
|
+
"WebSocket": "WebSocket request. This has not been implemented yet but it is reserved for future usage"
|
|
720
|
+
}
|
|
721
|
+
},
|
|
722
|
+
"sbc.dsf.httpEndpoints[].isUploadRequest": {
|
|
723
|
+
"summary": "Whether this is a upload request",
|
|
724
|
+
"remarks": "If set to true, the whole body payload is written to a temporary file and the file path is passed via the DuetAPI.Commands.ReceivedHttpRequest.Body property"
|
|
725
|
+
},
|
|
726
|
+
"sbc.dsf.httpEndpoints[].namespace": {
|
|
727
|
+
"summary": "Namespace of the endpoint",
|
|
728
|
+
"remarks": "May be HttpEndpoint.RepRapFirmwareNamespace to register root-level rr_ requests (to emulate RRF poll requests)"
|
|
729
|
+
},
|
|
730
|
+
"sbc.dsf.httpEndpoints[].path": "Path to the endpoint",
|
|
731
|
+
"sbc.dsf.httpEndpoints[].unixSocket": "Path to the UNIX socket",
|
|
732
|
+
"sbc.dsf.is64Bit": "Indicates if the process is 64-bit",
|
|
733
|
+
"sbc.dsf.pluginSupport": "Indicates if DSF allows the installation and usage of third-party plugins",
|
|
734
|
+
"sbc.dsf.rootPluginSupport": {
|
|
735
|
+
"summary": "Indicates if DSF allows the installation and usage of third-party root plugins (potentially dangerous, disabled by default)",
|
|
736
|
+
"remarks": "Requires DSF.PluginSupport to be true"
|
|
737
|
+
},
|
|
738
|
+
"sbc.dsf.userSessions": "List of user sessions",
|
|
739
|
+
"sbc.dsf.userSessions[].accessLevel": {
|
|
740
|
+
"summary": "Access level of this session",
|
|
741
|
+
"values": {
|
|
742
|
+
"readOnly": "Changes to the system and/or operation are not permitted",
|
|
743
|
+
"readWrite": "Changes to the system and/or operation are permitted"
|
|
744
|
+
}
|
|
745
|
+
},
|
|
746
|
+
"sbc.dsf.userSessions[].id": "Identifier of this session",
|
|
747
|
+
"sbc.dsf.userSessions[].origin": "Origin of this session. For remote sessions, this equals the remote IP address",
|
|
748
|
+
"sbc.dsf.userSessions[].originId": "Corresponding identifier of the origin. If it is a remote session, it is the remote port, else it defaults to the PID of the current process",
|
|
749
|
+
"sbc.dsf.userSessions[].sessionType": {
|
|
750
|
+
"summary": "Type of this session",
|
|
751
|
+
"values": {
|
|
752
|
+
"local": "Local client",
|
|
753
|
+
"http": "Remote client via HTTP",
|
|
754
|
+
"telnet": "Remote client via Telnet"
|
|
755
|
+
}
|
|
756
|
+
},
|
|
757
|
+
"sbc.dsf.version": "Version of Duet Software Framework (provided by Duet Control Server)",
|
|
758
|
+
"sbc.memory": "Information about the SBC's memory (RAM)",
|
|
759
|
+
"sbc.memory.available": "Available memory (in bytes)",
|
|
760
|
+
"sbc.memory.total": "Total memory (in bytes)",
|
|
761
|
+
"sbc.model": "SBC model or null if unknown",
|
|
762
|
+
"sbc.serial": "Serial of the SBC or null if unknown",
|
|
763
|
+
"sbc.uptime": "Uptime of the running system (in s)",
|
|
764
|
+
"sensors": "Information about connected sensors including Z-probes and endstops",
|
|
765
|
+
"sensors.analog": "List of analog sensors",
|
|
766
|
+
"sensors.analog[].beta": "Beta value of this sensor (if applicable)",
|
|
767
|
+
"sensors.analog[].c": "C value of this sensor",
|
|
768
|
+
"sensors.analog[].highReading": "High sensor reading (only linear analog sensors, otherwise null)",
|
|
769
|
+
"sensors.analog[].lastReading": "Last sensor reading (in C) or null if invalid",
|
|
770
|
+
"sensors.analog[].lowReading": "Low sensor reading (only linear analog sensors, otherwise null)",
|
|
771
|
+
"sensors.analog[].name": "Name of this sensor or null if not configured",
|
|
772
|
+
"sensors.analog[].offsetAdj": {
|
|
773
|
+
"summary": "Offset adjustment (in K)",
|
|
774
|
+
"remarks": "See also M308 U"
|
|
775
|
+
},
|
|
776
|
+
"sensors.analog[].port": "Port of this sensor or null if not applicable",
|
|
777
|
+
"sensors.analog[].r25": "Resistance of this sensor at 25C",
|
|
778
|
+
"sensors.analog[].rRef": "Series resistance of this sensor channel (only applicable for thermistors)",
|
|
779
|
+
"sensors.analog[].slopeAdj": {
|
|
780
|
+
"summary": "Slope adjustment factor",
|
|
781
|
+
"remarks": "See also M308 V"
|
|
782
|
+
},
|
|
783
|
+
"sensors.analog[].state": {
|
|
784
|
+
"summary": "State of this sensor",
|
|
785
|
+
"values": {
|
|
786
|
+
"ok": "Sensor is functional",
|
|
787
|
+
"shortCircuit": "Short circuit detected",
|
|
788
|
+
"shortToVcc": "Short to VCC detected",
|
|
789
|
+
"shortToGround": "Short to GND detected",
|
|
790
|
+
"openCircuit": "Sensor circuit is open",
|
|
791
|
+
"timeout": "Timeout while waiting for sensor data",
|
|
792
|
+
"ioError": "IO error",
|
|
793
|
+
"hardwareError": "Hardware error",
|
|
794
|
+
"notReady": "Not ready",
|
|
795
|
+
"invalidOutputNumber": "Invalid output number",
|
|
796
|
+
"busBusy": "Sensor bus is busy",
|
|
797
|
+
"badResponse": "Bad sensor response",
|
|
798
|
+
"unknownPort": "Unknown sensor port",
|
|
799
|
+
"notInitialised": "Sensor not initialized",
|
|
800
|
+
"unknownSensor": "Unknown sensor",
|
|
801
|
+
"overOrUnderVoltage": "Sensor exceeded min/max voltage",
|
|
802
|
+
"badVref": "Bad VREF detected",
|
|
803
|
+
"badVssa": "Bad VSSA detected",
|
|
804
|
+
"unknownError": "Unknown error"
|
|
805
|
+
}
|
|
806
|
+
},
|
|
807
|
+
"sensors.analog[].type": {
|
|
808
|
+
"summary": "Type of this sensor",
|
|
809
|
+
"values": {
|
|
810
|
+
"thermistor": "Regular temperature thermistor",
|
|
811
|
+
"pt1000": "PT1000 sensor",
|
|
812
|
+
"rtdmax31865": "RTD MAX31865",
|
|
813
|
+
"thermocouplemax31855": "MAX31855 thermocouple",
|
|
814
|
+
"thermocouplemax31856": "MAX31856 thermocouple",
|
|
815
|
+
"linearanalog": null,
|
|
816
|
+
"dht21": "DHT21 sensor",
|
|
817
|
+
"dht22": "DHT22 sensor",
|
|
818
|
+
"dhthumidity": "DHT humidity sensor",
|
|
819
|
+
"bme280": "BME280 sensor",
|
|
820
|
+
"bmepressure": "BME280 pressure sensor",
|
|
821
|
+
"bmehumidity": "BME280 humidity sensor",
|
|
822
|
+
"currentloooppyro": "Current loop sensor",
|
|
823
|
+
"ads131.chan0": "ADS131 channel 0",
|
|
824
|
+
"ads131.chan1": "ADS131 channel 1",
|
|
825
|
+
"mcutemp": "MCU temperature",
|
|
826
|
+
"drivers": "On-board stepper driver sensors",
|
|
827
|
+
"driversduex": "Stepper driver sensors on the DueX expansion board",
|
|
828
|
+
"unknown": "Unknown temperature sensor"
|
|
829
|
+
}
|
|
830
|
+
},
|
|
831
|
+
"sensors.endstops": "List of configured endstops",
|
|
832
|
+
"sensors.endstops[].highEnd": "Whether this endstop is at the high end of the axis",
|
|
833
|
+
"sensors.endstops[].probe": "Number of the referenced probe if type is ZProbeAsEndstop, else null",
|
|
834
|
+
"sensors.endstops[].triggered": "Whether or not the endstop is hit",
|
|
835
|
+
"sensors.endstops[].type": {
|
|
836
|
+
"summary": "Type of the endstop",
|
|
837
|
+
"values": {
|
|
838
|
+
"inputPin": "Generic input pin",
|
|
839
|
+
"zProbeAsEndstop": "Z-probe acts as an endstop",
|
|
840
|
+
"motorStallAny": "Motor stall detection stops all the drives when triggered",
|
|
841
|
+
"motorStallIndividual": "Motor stall detection stops individual drives when triggered",
|
|
842
|
+
"unknown": "Unknown type"
|
|
843
|
+
}
|
|
844
|
+
},
|
|
845
|
+
"sensors.filamentMonitors": "List of configured filament monitors",
|
|
846
|
+
"sensors.filamentMonitors[].enableMode": {
|
|
847
|
+
"summary": "Enable mode of this filament monitor",
|
|
848
|
+
"values": {
|
|
849
|
+
"0": "Filament monitor is disabled",
|
|
850
|
+
"1": "Filament monitor is enabled during prints from SD card",
|
|
851
|
+
"2": "Filament monitor is always enabled (when printing from USB)"
|
|
852
|
+
}
|
|
853
|
+
},
|
|
854
|
+
"sensors.filamentMonitors[].enabled": "Whether this filament monitor is enabled",
|
|
855
|
+
"sensors.filamentMonitors[].status": {
|
|
856
|
+
"summary": "Last reported status of this filament monitor",
|
|
857
|
+
"values": {
|
|
858
|
+
"noMonitor": "No monitor is present",
|
|
859
|
+
"ok": "Filament working normally",
|
|
860
|
+
"noDataReceived": "No data received from the remote filament senosr",
|
|
861
|
+
"noFilament": "No filament present",
|
|
862
|
+
"tooLittleMovement": "Sensor reads less movement than expected",
|
|
863
|
+
"tooMuchMovement": "Sensor reads more movment than expected",
|
|
864
|
+
"sensorError": "Sensor encountered an error"
|
|
865
|
+
}
|
|
866
|
+
},
|
|
867
|
+
"sensors.filamentMonitors[].type": {
|
|
868
|
+
"summary": "Type of this filament monitor",
|
|
869
|
+
"values": {
|
|
870
|
+
"simple": "Simple filament sensor",
|
|
871
|
+
"laser": "Laser filament sensor",
|
|
872
|
+
"pulsed": "Pulsed filament sensor",
|
|
873
|
+
"rotatingMagnet": "Rotating magnet filament sensor",
|
|
874
|
+
"unknown": "Unknown sensor type"
|
|
875
|
+
}
|
|
876
|
+
},
|
|
877
|
+
"sensors.gpIn": "List of general-purpose input ports",
|
|
878
|
+
"sensors.gpIn[].value": "Value of this port (0..1)",
|
|
879
|
+
"sensors.probes": "List of configured probes",
|
|
880
|
+
"sensors.probes[].calibA": "Linear coefficient for scanning probes",
|
|
881
|
+
"sensors.probes[].calibB": "Quadratic coefficient for scanning probes",
|
|
882
|
+
"sensors.probes[].calibrationTemperature": "Calibration temperature (in C)",
|
|
883
|
+
"sensors.probes[].deployedByUser": "Indicates if the user has deployed the probe",
|
|
884
|
+
"sensors.probes[].disablesHeaters": "Whether probing disables the heater(s)",
|
|
885
|
+
"sensors.probes[].diveHeight": "Dive height of the probe (in mm)",
|
|
886
|
+
"sensors.probes[].diveHeights": "Dive heights of the probe. The first element is the regular dive height, the second element may be used by scanning Z-probes",
|
|
887
|
+
"sensors.probes[].isCalibrated": "Indicates if the scanning probe is calibrated",
|
|
888
|
+
"sensors.probes[].lastStopHeight": "Height of the probe where it stopped last time (in mm)",
|
|
889
|
+
"sensors.probes[].maxProbeCount": "Maximum number of times to probe after a bad reading was determined",
|
|
890
|
+
"sensors.probes[].measuredHeight": "Measured height (only applicable for scanning probes, in mm or null)",
|
|
891
|
+
"sensors.probes[].offsets": "X+Y offsets (in mm)",
|
|
892
|
+
"sensors.probes[].recoveryTime": "Recovery time (in s)",
|
|
893
|
+
"sensors.probes[].scanCoefficients": "Coefficients for the scanning Z-probe (4 elements, if applicable)",
|
|
894
|
+
"sensors.probes[].speeds": "Fast and slow probing speeds (in mm/s). Scanning probes may have three speeds where the last one is the movement speed while probing heightmaps",
|
|
895
|
+
"sensors.probes[].temperatureCoefficients": "List of temperature coefficients",
|
|
896
|
+
"sensors.probes[].threshold": "Configured trigger threshold (0..1023)",
|
|
897
|
+
"sensors.probes[].tolerance": "Allowed tolerance deviation between two measures (in mm)",
|
|
898
|
+
"sensors.probes[].touchMode": "Touch mode options (if supported, otherwise null)",
|
|
899
|
+
"sensors.probes[].touchMode.active": "Indicates if the touch probe is enabled",
|
|
900
|
+
"sensors.probes[].touchMode.speed": "Speed while probing in touch mode (in mm/s)",
|
|
901
|
+
"sensors.probes[].touchMode.threshold": "Threshold value of the touch probe",
|
|
902
|
+
"sensors.probes[].touchMode.triggerHeight": "Height of the trigger point of the touch probe (in mm)",
|
|
903
|
+
"sensors.probes[].travelSpeed": "Travel speed when probing multiple points (in mm/min)",
|
|
904
|
+
"sensors.probes[].triggerHeight": "Z height at which the probe is triggered (in mm)",
|
|
905
|
+
"sensors.probes[].type": {
|
|
906
|
+
"summary": "Type of the configured probe",
|
|
907
|
+
"values": {
|
|
908
|
+
"0": "No probe",
|
|
909
|
+
"1": "A simple unmodulated probe (like dc42's infrared probe)",
|
|
910
|
+
"2": "A modulated probe (like the original one shipped with the RepRapPro Ormerod)",
|
|
911
|
+
"3": "Alternate analog probe (like the ultrasonic probe)",
|
|
912
|
+
"4": "Endstop switch (obsolete, should not be used any more)",
|
|
913
|
+
"5": "A switch that is triggered when the probe is activated (filtered)",
|
|
914
|
+
"6": "Endstop switch on the E1 endstop pin (obsolete, should not be used any more)",
|
|
915
|
+
"7": "Endstop switch on Z endstop pin (obsolete, should not be used any more)",
|
|
916
|
+
"8": "A switch that is triggered when the probe is activated (unfiltered)",
|
|
917
|
+
"9": "A BLTouch probe",
|
|
918
|
+
"10": "Z motor stall detection",
|
|
919
|
+
"11": "Analog scanning probe"
|
|
920
|
+
}
|
|
921
|
+
},
|
|
922
|
+
"sensors.probes[].value": "Current analog values of the probe",
|
|
923
|
+
"spindles": "List of configured CNC spindles",
|
|
924
|
+
"spindles[].active": "Active RPM",
|
|
925
|
+
"spindles[].canReverse": "Flags whether the spindle may spin in reverse direction",
|
|
926
|
+
"spindles[].current": "Current RPM, negative if anticlockwise direction",
|
|
927
|
+
"spindles[].frequency": "Frequency (in Hz)",
|
|
928
|
+
"spindles[].idlePwm": "Idle PWM value (0..1)",
|
|
929
|
+
"spindles[].max": "Maximum RPM",
|
|
930
|
+
"spindles[].maxPwm": "Maximum PWM value when turned on (0..1)",
|
|
931
|
+
"spindles[].min": "Minimum RPM when turned on",
|
|
932
|
+
"spindles[].minPwm": "Minimum PWM value when turned on (0..1)",
|
|
933
|
+
"spindles[].state": {
|
|
934
|
+
"summary": "Current state",
|
|
935
|
+
"values": {
|
|
936
|
+
"unconfigured": "Spinde not configured",
|
|
937
|
+
"stopped": "Spindle is stopped (inactive)",
|
|
938
|
+
"forward": "Spindle is going forwards",
|
|
939
|
+
"reverse": "Spindle is going in reverse"
|
|
940
|
+
}
|
|
941
|
+
},
|
|
942
|
+
"spindles[].type": "Spindle type",
|
|
943
|
+
"state": "Information about the machine state",
|
|
944
|
+
"state.atxPower": "State of the ATX power pin (if controlled)",
|
|
945
|
+
"state.atxPowerPort": "Port of the ATX power pin or null if not assigned",
|
|
946
|
+
"state.beep": "Information about a requested beep or null if none is requested",
|
|
947
|
+
"state.beep.duration": "Duration of the requested beep (in ms)",
|
|
948
|
+
"state.beep.frequency": "Frequency of the requested beep (in Hz)",
|
|
949
|
+
"state.currentTool": "Number of the currently selected tool or -1 if none is selected",
|
|
950
|
+
"state.deferredPowerDown": {
|
|
951
|
+
"summary": "When provided it normally has value 0 normally and 1 when a deferred power down is pending",
|
|
952
|
+
"remarks": "It is only available after power switching has been enabled by M80 or M81"
|
|
953
|
+
},
|
|
954
|
+
"state.displayMessage": "Persistent message to display (see M117)",
|
|
955
|
+
"state.gpOut": "List of general-purpose output ports",
|
|
956
|
+
"state.gpOut[].freq": "PWM frequency of this port (in Hz)",
|
|
957
|
+
"state.gpOut[].pwm": "PWM value of this port (0..1)",
|
|
958
|
+
"state.laserPwm": "Laser PWM of the next commanded move (0..1) or null if not applicable",
|
|
959
|
+
"state.logFile": "Log file being written to or null if logging is disabled",
|
|
960
|
+
"state.logLevel": {
|
|
961
|
+
"summary": "Current log level",
|
|
962
|
+
"values": {
|
|
963
|
+
"debug": null,
|
|
964
|
+
"info": null,
|
|
965
|
+
"warn": null,
|
|
966
|
+
"off": null
|
|
967
|
+
}
|
|
968
|
+
},
|
|
969
|
+
"state.machineMode": {
|
|
970
|
+
"summary": "Current mode of operation",
|
|
971
|
+
"values": {
|
|
972
|
+
"FFF": "Fused Filament Fabrication (default)",
|
|
973
|
+
"CNC": "Computer Numerical Control",
|
|
974
|
+
"Laser": "Laser operation mode (e.g. laser cutters)"
|
|
975
|
+
}
|
|
976
|
+
},
|
|
977
|
+
"state.macroRestarted": "Indicates if the current macro file was restarted after a pause",
|
|
978
|
+
"state.messageBox": "Details about a requested message box or null if none is requested",
|
|
979
|
+
"state.messageBox.axisControls": "Bitmap of the axis movement controls to show (indices)",
|
|
980
|
+
"state.messageBox.cancelButton": "Indicates if a cancel button is supposed to be shown",
|
|
981
|
+
"state.messageBox.choices": "List of possible choices (only for mode 4)",
|
|
982
|
+
"state.messageBox.default": "Default value (only for modes >= 4)",
|
|
983
|
+
"state.messageBox.max": "Maximum input value (only for modes >= 5)",
|
|
984
|
+
"state.messageBox.message": "Content of the message box",
|
|
985
|
+
"state.messageBox.min": "Minimum input value (only for modes >= 5)",
|
|
986
|
+
"state.messageBox.mode": {
|
|
987
|
+
"summary": "Mode of the message box to display",
|
|
988
|
+
"values": {
|
|
989
|
+
"0": "Display a message box without any buttons",
|
|
990
|
+
"1": "Display a message box with only a Close button",
|
|
991
|
+
"2": "Display a message box with only an Ok button which is supposed to send M292 when pressed, blocking",
|
|
992
|
+
"3": "Display a message box with an Ok button that sends M292 P0 or a cancel button that sends M292 P1 when clicked, blocking",
|
|
993
|
+
"4": "Multiple choices, blocking",
|
|
994
|
+
"5": "Integer value required, blocking",
|
|
995
|
+
"6": "Floating-point value required, blocking",
|
|
996
|
+
"7": "String value required, blocking"
|
|
997
|
+
}
|
|
998
|
+
},
|
|
999
|
+
"state.messageBox.seq": {
|
|
1000
|
+
"summary": "Sequence number of the message box",
|
|
1001
|
+
"remarks": "This is increased whenever a new message box is supposed to be displayed"
|
|
1002
|
+
},
|
|
1003
|
+
"state.messageBox.timeout": "Total timeout for this message box (in ms)",
|
|
1004
|
+
"state.messageBox.title": "Title of the message box",
|
|
1005
|
+
"state.msUpTime": "Millisecond fraction of State.UpTime",
|
|
1006
|
+
"state.nextTool": "Number of the next tool to be selected",
|
|
1007
|
+
"state.pluginsStarted": "This value is set to true when the plugins have been started",
|
|
1008
|
+
"state.powerFailScript": "Script to execute when the power fails",
|
|
1009
|
+
"state.previousTool": "Number of the previous tool",
|
|
1010
|
+
"state.restorePoints": "List of restore points",
|
|
1011
|
+
"state.restorePoints[].coords": "Axis coordinates of the restore point (in mm)",
|
|
1012
|
+
"state.restorePoints[].extruderPos": "The virtual extruder position at the start of this move",
|
|
1013
|
+
"state.restorePoints[].fanPwm": "PWM value of the tool fan (0..1)",
|
|
1014
|
+
"state.restorePoints[].feedRate": "Requested feedrate (in mm/s)",
|
|
1015
|
+
"state.restorePoints[].ioBits": "The output port bits setting for this move or null if not applicable",
|
|
1016
|
+
"state.restorePoints[].laserPwm": "Laser PWM value (0..1) or null if not applicable",
|
|
1017
|
+
"state.restorePoints[].toolNumber": "The tool number that was active",
|
|
1018
|
+
"state.startupError": "First error on start-up or null if there was none",
|
|
1019
|
+
"state.startupError.file": "Filename of the macro where the error occurred",
|
|
1020
|
+
"state.startupError.line": "Line number of the error",
|
|
1021
|
+
"state.startupError.message": "Message of the error",
|
|
1022
|
+
"state.status": {
|
|
1023
|
+
"summary": "Current state of the machine",
|
|
1024
|
+
"values": {
|
|
1025
|
+
"disconnected": "Not connected to the Duet",
|
|
1026
|
+
"starting": "Processing config.g",
|
|
1027
|
+
"updating": "The firmware is being updated",
|
|
1028
|
+
"off": "The machine is turned off (i.e. the input voltage is too low for operation)",
|
|
1029
|
+
"halted": "The machine has encountered an emergency stop and is ready to reset",
|
|
1030
|
+
"pausing": "The machine is about to pause a file job",
|
|
1031
|
+
"paused": "The machine has paused a file job",
|
|
1032
|
+
"resuming": "The machine is about to resume a paused file job",
|
|
1033
|
+
"cancelling": "Job file is being cancelled",
|
|
1034
|
+
"processing": "The machine is processing a file job",
|
|
1035
|
+
"simulating": "The machine is simulating a file job to determine its processing time",
|
|
1036
|
+
"busy": "The machine is busy doing something (e.g. moving)",
|
|
1037
|
+
"changingTool": "The machine is changing the current tool",
|
|
1038
|
+
"idle": "The machine is on but has nothing to do"
|
|
1039
|
+
}
|
|
1040
|
+
},
|
|
1041
|
+
"state.thisActive": "Shorthand for inputs[state.thisInput].active",
|
|
1042
|
+
"state.thisInput": {
|
|
1043
|
+
"summary": "Index of the current G-code input channel (see ObjectModel.Inputs)",
|
|
1044
|
+
"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"
|
|
1045
|
+
},
|
|
1046
|
+
"state.time": "Internal date and time in RepRapFirmware or null if unknown",
|
|
1047
|
+
"state.upTime": "How long the machine has been running (in s)",
|
|
1048
|
+
"tools": "List of configured tools",
|
|
1049
|
+
"tools[].active": "Active temperatures of the associated heaters (in C)",
|
|
1050
|
+
"tools[].axes": {
|
|
1051
|
+
"summary": "Associated axes. At present only X and Y can be mapped per tool.",
|
|
1052
|
+
"remarks": "The order is the same as the visual axes, so by default the layout is [ [0], // X [1] // Y ] Make sure to set each item individually so the change events are called. Each item is a bitmap represented as an array"
|
|
1053
|
+
},
|
|
1054
|
+
"tools[].extruders": "Extruder drives of this tool",
|
|
1055
|
+
"tools[].fans": {
|
|
1056
|
+
"summary": "List of associated fans (indices)",
|
|
1057
|
+
"remarks": "This is a bitmap represented as an array"
|
|
1058
|
+
},
|
|
1059
|
+
"tools[].feedForward": "Feedforward coefficients to apply to the mapped heaters during extrusions",
|
|
1060
|
+
"tools[].feedForwardAdvance": "Time advance for applying feedforward in milliseconds",
|
|
1061
|
+
"tools[].feedForwardPwm": "Feedforward coefficients to apply to the mapped heaters during extrusions",
|
|
1062
|
+
"tools[].feedForwardTemp": "Temperature increase per mm/dec extrusion speed",
|
|
1063
|
+
"tools[].filamentExtruder": "Extruder drive index for resolving the tool filament (index or -1)",
|
|
1064
|
+
"tools[].heaters": "List of associated heaters (indices)",
|
|
1065
|
+
"tools[].isRetracted": "True if the filament has been firmware-retracted",
|
|
1066
|
+
"tools[].mix": "Mix ratios of the associated extruder drives",
|
|
1067
|
+
"tools[].name": "Name of this tool",
|
|
1068
|
+
"tools[].number": "Number of this tool",
|
|
1069
|
+
"tools[].offsets": "Axis offsets (in mm) This list is in the same order as Move.Axes",
|
|
1070
|
+
"tools[].offsetsProbed": "Bitmap of the probed axis offsets",
|
|
1071
|
+
"tools[].retraction": "Firmware retraction parameters",
|
|
1072
|
+
"tools[].retraction.extraRestart": "Amount of additional filament to extrude when undoing a retraction (in mm)",
|
|
1073
|
+
"tools[].retraction.length": "Retraction length (in mm)",
|
|
1074
|
+
"tools[].retraction.speed": "Retraction speed (in mm/s)",
|
|
1075
|
+
"tools[].retraction.unretractSpeed": "Unretract speed (in mm/s)",
|
|
1076
|
+
"tools[].retraction.zHop": "Amount of Z lift after doing a retraction (in mm)",
|
|
1077
|
+
"tools[].spindle": "Index of the mapped spindle or -1 if not mapped",
|
|
1078
|
+
"tools[].spindleRpm": "RPM of the mapped spindle",
|
|
1079
|
+
"tools[].standby": "Standby temperatures of the associated heaters (in C)",
|
|
1080
|
+
"tools[].state": {
|
|
1081
|
+
"summary": "Current state of this tool",
|
|
1082
|
+
"values": {
|
|
1083
|
+
"off": "Tool is turned off",
|
|
1084
|
+
"active": "Tool is active",
|
|
1085
|
+
"standby": "Tool is in standby"
|
|
1086
|
+
}
|
|
1087
|
+
},
|
|
1088
|
+
"volumes": "List of available mass storages",
|
|
1089
|
+
"volumes[].capacity": "Total capacity of the storage device (in bytes or null)",
|
|
1090
|
+
"volumes[].freeSpace": "How much space is still available on this device (in bytes or null)",
|
|
1091
|
+
"volumes[].mounted": "Whether the storage device is mounted",
|
|
1092
|
+
"volumes[].name": "Name of this volume",
|
|
1093
|
+
"volumes[].openFiles": "Number of currently open files or null if unknown",
|
|
1094
|
+
"volumes[].partitionSize": "Total size of this volume (in bytes or null)",
|
|
1095
|
+
"volumes[].path": "Logical path of the storage device",
|
|
1096
|
+
"volumes[].speed": "Speed of the storage device (in bytes/s or null if unknown)"
|
|
1097
|
+
}
|