abb-rws-client 0.1.9 → 0.5.0

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.
@@ -7,8 +7,20 @@
7
7
  */
8
8
  /** Path to read the current controller state (motoron, motoroff, etc.) */
9
9
  export declare function controllerState(): string;
10
+ /** Path + body to set the controller motor state (motoron / motoroff). Requires mastership. */
11
+ export declare function setControllerState(state: 'motoron' | 'motoroff'): {
12
+ path: string;
13
+ body: string;
14
+ };
10
15
  /** Path to read the current operation mode (AUTO, MANR, MANF) */
11
16
  export declare function operationMode(): string;
17
+ /** Path to read the current speed ratio (0–100) */
18
+ export declare function speedRatio(): string;
19
+ /** Path + body to set the speed ratio. Only valid in AUTO mode. @param ratio 0–100 */
20
+ export declare function setSpeedRatio(ratio: number): {
21
+ path: string;
22
+ body: string;
23
+ };
12
24
  /** Path to list all RAPID tasks */
13
25
  export declare function rapidTasks(): string;
14
26
  /** Path to read the RAPID execution state (running / stopped) */
@@ -31,6 +43,123 @@ export declare function resetRapid(): {
31
43
  path: string;
32
44
  body: string;
33
45
  };
46
+ /**
47
+ * Path + body to set the RAPID execution cycle mode.
48
+ * @param cycle - 'once' (run once then stop) | 'forever' (loop indefinitely) | 'asis' (keep current)
49
+ */
50
+ export declare function setExecutionCycle(cycle: 'once' | 'forever' | 'asis'): {
51
+ path: string;
52
+ body: string;
53
+ };
54
+ /** Path to read the collision detection state (INIT/TRIGGERED/CONFIRMED/TRIGGERED_ACK). */
55
+ export declare function collisionDetectionState(): string;
56
+ /**
57
+ * Path + body to restart (or shutdown) the controller.
58
+ * @param mode - 'restart' | 'istart' | 'pstart' | 'bstart'
59
+ */
60
+ export declare function restartController(mode: 'restart' | 'istart' | 'pstart' | 'bstart'): {
61
+ path: string;
62
+ body: string;
63
+ };
64
+ /**
65
+ * Path + body to lock the operation mode selector.
66
+ * @param pin - 4-digit PIN
67
+ * @param permanent - true = permanent lock; false = temporary
68
+ */
69
+ export declare function lockOperationMode(pin: string, permanent: boolean): {
70
+ path: string;
71
+ body: string;
72
+ };
73
+ /** Path + body to unlock the operation mode selector. */
74
+ export declare function unlockOperationMode(): {
75
+ path: string;
76
+ body: string;
77
+ };
78
+ /** Path to GET the currently active RAPID UI instruction (if any). */
79
+ export declare function activeUiInstruction(): string;
80
+ /**
81
+ * Path + body to set a parameter value on the active RAPID UI instruction.
82
+ * Used to respond programmatically to TPReadNum, TPReadFK, etc.
83
+ *
84
+ * @param stackurl - Full stack URL from the UiInstruction.stack field (e.g. 'RAPID/T_ROB1/%$104')
85
+ * @param uiparam - Parameter name: 'Result', 'TPFK1' … 'TPFK5', 'TPCompleted', etc.
86
+ * @param value - New value (e.g. '42', 'TRUE', '0')
87
+ */
88
+ export declare function setUiInstructionParam(stackurl: string, uiparam: string, value: string): {
89
+ path: string;
90
+ body: string;
91
+ };
92
+ /** Path + body to activate a single RAPID task (multitasking). */
93
+ export declare function activateRapidTask(task: string): {
94
+ path: string;
95
+ body: string;
96
+ };
97
+ /** Path + body to deactivate a single RAPID task (multitasking). */
98
+ export declare function deactivateRapidTask(task: string): {
99
+ path: string;
100
+ body: string;
101
+ };
102
+ /** Path + body to activate ALL RAPID tasks. */
103
+ export declare function activateAllRapidTasks(): {
104
+ path: string;
105
+ body: string;
106
+ };
107
+ /** Path + body to deactivate ALL RAPID tasks. */
108
+ export declare function deactivateAllRapidTasks(): {
109
+ path: string;
110
+ body: string;
111
+ };
112
+ /**
113
+ * Path + body to search RAPID symbols across a task.
114
+ * POST /rw/rapid/symbols?action=search-symbol
115
+ */
116
+ export declare function searchRapidSymbols(params: {
117
+ task: string;
118
+ view?: string;
119
+ vartyp?: string;
120
+ symtyp?: string;
121
+ dattyp?: string;
122
+ regexp?: string;
123
+ recursive?: boolean;
124
+ blockurl?: string;
125
+ }): {
126
+ path: string;
127
+ body: string;
128
+ };
129
+ /**
130
+ * Path + body to validate a value against a RAPID data type.
131
+ * POST /rw/rapid/symbol/data?action=validate
132
+ * Returns 204 if valid, 400 if invalid.
133
+ */
134
+ export declare function validateRapidValue(task: string, value: string, datatype: string): {
135
+ path: string;
136
+ body: string;
137
+ };
138
+ /**
139
+ * Path to read RAPID symbol properties (type, dimensions, storage, etc.).
140
+ * @param taskName - RAPID task name, e.g. 'T_ROB1'
141
+ * @param moduleName - Module name, e.g. 'user'
142
+ * @param symbolName - Symbol name, e.g. 'reg1'
143
+ */
144
+ export declare function rapidSymbolProperties(taskName: string, moduleName: string, symbolName: string): string;
145
+ /**
146
+ * Path to read a RAPID symbol value.
147
+ * @param taskName - RAPID task name, e.g. 'T_ROB1'
148
+ * @param moduleName - Module name, e.g. 'user'
149
+ * @param symbolName - Symbol name, e.g. 'reg1'
150
+ */
151
+ export declare function rapidSymbol(taskName: string, moduleName: string, symbolName: string): string;
152
+ /**
153
+ * Path + body to set a RAPID symbol value.
154
+ * @param taskName - RAPID task name
155
+ * @param moduleName - Module name
156
+ * @param symbolName - Symbol name
157
+ * @param value - New value as RAPID-formatted string, e.g. '42', '"hello"', '[1,2,3]'
158
+ */
159
+ export declare function setRapidSymbol(taskName: string, moduleName: string, symbolName: string, value: string): {
160
+ path: string;
161
+ body: string;
162
+ };
34
163
  /**
35
164
  * Path to read joint-space positions for a mechanical unit.
36
165
  * @param mechunit - Default 'ROB_1' (the primary robot mechanical unit)
@@ -43,6 +172,12 @@ export declare function jointTarget(mechunit?: string): string;
43
172
  * @param wobj - Active work object frame; default 'wobj0'
44
173
  */
45
174
  export declare function robTarget(mechunit?: string, tool?: string, wobj?: string): string;
175
+ /**
176
+ * Path to read Cartesian position including robot configuration flags (j1, j4, j6, jx).
177
+ * Uses the /cartesian sub-resource instead of /robtarget — no tool/wobj parameters.
178
+ * @param mechunit - Default 'ROB_1'
179
+ */
180
+ export declare function cartesianFull(mechunit?: string): string;
46
181
  /**
47
182
  * Path + body to load a RAPID module into a task.
48
183
  * @param taskName - RAPID task name, e.g. 'T_ROB1'
@@ -67,10 +202,92 @@ export declare function listModules(taskName: string): string;
67
202
  /**
68
203
  * PUT path for uploading a file to the controller filesystem.
69
204
  * Use '$HOME/' prefix to target the controller home directory.
70
- * @param remotePath - Controller path, e.g. '$HOME/MyMod.mod' or 'HOME/MyMod.mod'
71
- * A leading '/' is stripped to avoid double-slash in the URL.
205
+ * @param remotePath - Controller path, e.g. '$HOME/MyMod.mod'
72
206
  */
73
207
  export declare function uploadFile(remotePath: string): string;
208
+ /** Path to get RobotWare system information (version, options, sysid) */
209
+ export declare function systemInfo(): string;
210
+ /** Path to get controller hardware identity (name, id, type, mac) */
211
+ export declare function controllerIdentity(): string;
212
+ /** Path to GET the controller clock datetime. */
213
+ export declare function clockInfo(): string;
214
+ /**
215
+ * Path + body to SET the controller clock (PUT /ctrl/clock).
216
+ * All values are interpreted as UTC by the controller.
217
+ */
218
+ export declare function setControllerClock(year: number, month: number, day: number, hour: number, min: number, sec: number): {
219
+ path: string;
220
+ body: string;
221
+ method: 'PUT';
222
+ };
223
+ /**
224
+ * Path to read event log messages.
225
+ * Domain 0 = common controller log (up to 1000 entries, most useful).
226
+ * @param domain - Log domain number; default 0
227
+ * @param lang - Language for message text; default 'en'
228
+ */
229
+ export declare function elogMessages(domain?: number, lang?: string): string;
230
+ /** Path + body to clear all messages in a specific elog domain. */
231
+ export declare function clearElogDomain(domain?: number): {
232
+ path: string;
233
+ body: string;
234
+ };
235
+ /** Path + body to clear ALL elog messages across all domains. */
236
+ export declare function clearAllElogs(): {
237
+ path: string;
238
+ body: string;
239
+ };
240
+ /**
241
+ * Path for GET (download file or list directory) and PUT (upload file).
242
+ * Use '$HOME/' prefix to target the controller home directory.
243
+ */
244
+ export declare function fileServicePath(remotePath: string): string;
245
+ /** DELETE path to remove a file from the controller filesystem. */
246
+ export declare function deleteFile(remotePath: string): string;
247
+ /**
248
+ * Path to create a new directory on the controller filesystem.
249
+ * POST to this path with body 'fs-action=create&fs-newname={dirName}'.
250
+ * @param parentPath - Parent directory path, e.g. '$HOME'
251
+ */
252
+ export declare function createDirectory(parentPath: string): {
253
+ path: string;
254
+ };
255
+ /**
256
+ * Path to copy a file on the controller filesystem.
257
+ * POST to this path with body 'fs-action=copy&fs-newname={destPath}'.
258
+ * @param sourcePath - Source file path, e.g. '$HOME/Source.mod'
259
+ * @param destPath - Destination path, e.g. '$HOME/Backup/Source.mod'
260
+ */
261
+ export declare function copyFile(sourcePath: string, destPath: string): {
262
+ path: string;
263
+ body: string;
264
+ };
265
+ /**
266
+ * Path + body to request mastership on a domain.
267
+ * Must be released after use. Domains: 'cfg' | 'motion' | 'rapid'.
268
+ */
269
+ export declare function requestMastership(domain: 'cfg' | 'motion' | 'rapid'): {
270
+ path: string;
271
+ body: string;
272
+ };
273
+ /** Path + body to release mastership on a domain. */
274
+ export declare function releaseMastership(domain: 'cfg' | 'motion' | 'rapid'): {
275
+ path: string;
276
+ body: string;
277
+ };
278
+ /**
279
+ * Path to list all I/O signals (paginated).
280
+ * @param start - Starting index (default 0)
281
+ * @param limit - Max results per page (default 100)
282
+ */
283
+ export declare function allSignals(start?: number, limit?: number): string;
284
+ /** Path to list all configured I/O networks */
285
+ export declare function networks(): string;
286
+ /**
287
+ * Path to list all devices on a network.
288
+ * @param network - Network name, e.g. 'Local'
289
+ */
290
+ export declare function devices(network: string): string;
74
291
  /**
75
292
  * Path to read a digital/analog I/O signal value.
76
293
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceMapper.d.ts","sourceRoot":"","sources":["../src/ResourceMapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,0EAA0E;AAC1E,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,iEAAiE;AACjE,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAID,mCAAmC;AACnC,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,mDAAmD;AACnD,wBAAgB,UAAU,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAK3D;AAED,kDAAkD;AAClD,wBAAgB,SAAS,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAK1D;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAK3D;AAID;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,SAAU,GAAG,MAAM,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,SAAU,EAAE,IAAI,SAAU,EAAE,IAAI,SAAU,GAAG,MAAM,CAEpF;AAID;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAKhH;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpD;AAID;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAIrD;AAeD;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAIzF;AAID,uEAAuE;AACvE,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
1
+ {"version":3,"file":"ResourceMapper.d.ts","sourceRoot":"","sources":["../src/ResourceMapper.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,28 @@
10
10
  export function controllerState() {
11
11
  return '/rw/panel/ctrlstate';
12
12
  }
13
+ /** Path + body to set the controller motor state (motoron / motoroff). Requires mastership. */
14
+ export function setControllerState(state) {
15
+ return {
16
+ path: '/rw/panel/ctrlstate?action=setctrlstate',
17
+ body: `ctrl-state=${state}`,
18
+ };
19
+ }
13
20
  /** Path to read the current operation mode (AUTO, MANR, MANF) */
14
21
  export function operationMode() {
15
22
  return '/rw/panel/opmode';
16
23
  }
24
+ /** Path to read the current speed ratio (0–100) */
25
+ export function speedRatio() {
26
+ return '/rw/panel/speedratio';
27
+ }
28
+ /** Path + body to set the speed ratio. Only valid in AUTO mode. @param ratio 0–100 */
29
+ export function setSpeedRatio(ratio) {
30
+ return {
31
+ path: '/rw/panel/speedratio?action=setspeedratio',
32
+ body: `speed-ratio=${Math.round(Math.max(0, Math.min(100, ratio)))}`,
33
+ };
34
+ }
17
35
  // ─── RAPID ───────────────────────────────────────────────────────────────────
18
36
  /** Path to list all RAPID tasks */
19
37
  export function rapidTasks() {
@@ -47,6 +65,152 @@ export function resetRapid() {
47
65
  body: '',
48
66
  };
49
67
  }
68
+ /**
69
+ * Path + body to set the RAPID execution cycle mode.
70
+ * @param cycle - 'once' (run once then stop) | 'forever' (loop indefinitely) | 'asis' (keep current)
71
+ */
72
+ export function setExecutionCycle(cycle) {
73
+ return {
74
+ path: '/rw/rapid/execution?action=setcycle',
75
+ body: `cycle=${cycle}`,
76
+ };
77
+ }
78
+ // ─── Controller panel ────────────────────────────────────────────────────────
79
+ /** Path to read the collision detection state (INIT/TRIGGERED/CONFIRMED/TRIGGERED_ACK). */
80
+ export function collisionDetectionState() {
81
+ return '/rw/panel/coldetstate';
82
+ }
83
+ /**
84
+ * Path + body to restart (or shutdown) the controller.
85
+ * @param mode - 'restart' | 'istart' | 'pstart' | 'bstart'
86
+ */
87
+ export function restartController(mode) {
88
+ return {
89
+ path: '/rw/panel?action=restart',
90
+ body: `restart-mode=${mode}`,
91
+ };
92
+ }
93
+ /**
94
+ * Path + body to lock the operation mode selector.
95
+ * @param pin - 4-digit PIN
96
+ * @param permanent - true = permanent lock; false = temporary
97
+ */
98
+ export function lockOperationMode(pin, permanent) {
99
+ return {
100
+ path: '/rw/panel/opmode?action=lock',
101
+ body: `pin=${encodeURIComponent(pin)}&permanent=${permanent ? 1 : 0}`,
102
+ };
103
+ }
104
+ /** Path + body to unlock the operation mode selector. */
105
+ export function unlockOperationMode() {
106
+ return { path: '/rw/panel/opmode?action=unlock', body: '' };
107
+ }
108
+ // ─── RAPID UI instructions ───────────────────────────────────────────────────
109
+ /** Path to GET the currently active RAPID UI instruction (if any). */
110
+ export function activeUiInstruction() {
111
+ return '/rw/rapid/uiinstr/active';
112
+ }
113
+ /**
114
+ * Path + body to set a parameter value on the active RAPID UI instruction.
115
+ * Used to respond programmatically to TPReadNum, TPReadFK, etc.
116
+ *
117
+ * @param stackurl - Full stack URL from the UiInstruction.stack field (e.g. 'RAPID/T_ROB1/%$104')
118
+ * @param uiparam - Parameter name: 'Result', 'TPFK1' … 'TPFK5', 'TPCompleted', etc.
119
+ * @param value - New value (e.g. '42', 'TRUE', '0')
120
+ */
121
+ export function setUiInstructionParam(stackurl, uiparam, value) {
122
+ return {
123
+ path: `/rw/rapid/uiinstr/active/param/${encodeURIComponent(stackurl)}/${encodeURIComponent(uiparam)}?action=set`,
124
+ body: `value=${encodeURIComponent(value)}`,
125
+ };
126
+ }
127
+ // ─── RAPID task activation ───────────────────────────────────────────────────
128
+ /** Path + body to activate a single RAPID task (multitasking). */
129
+ export function activateRapidTask(task) {
130
+ return { path: `/rw/rapid/tasks/${encodeURIComponent(task)}?action=activate`, body: '' };
131
+ }
132
+ /** Path + body to deactivate a single RAPID task (multitasking). */
133
+ export function deactivateRapidTask(task) {
134
+ return { path: `/rw/rapid/tasks/${encodeURIComponent(task)}?action=deactivate`, body: '' };
135
+ }
136
+ /** Path + body to activate ALL RAPID tasks. */
137
+ export function activateAllRapidTasks() {
138
+ return { path: '/rw/rapid/tasks?action=activate', body: '' };
139
+ }
140
+ /** Path + body to deactivate ALL RAPID tasks. */
141
+ export function deactivateAllRapidTasks() {
142
+ return { path: '/rw/rapid/tasks?action=deactivate', body: '' };
143
+ }
144
+ // ─── RAPID symbol search / validate ─────────────────────────────────────────
145
+ /**
146
+ * Path + body to search RAPID symbols across a task.
147
+ * POST /rw/rapid/symbols?action=search-symbol
148
+ */
149
+ export function searchRapidSymbols(params) {
150
+ const parts = [];
151
+ parts.push(`task=${encodeURIComponent(params.task)}`);
152
+ if (params.view)
153
+ parts.push(`view=${encodeURIComponent(params.view)}`);
154
+ if (params.vartyp)
155
+ parts.push(`vartyp=${encodeURIComponent(params.vartyp)}`);
156
+ if (params.symtyp)
157
+ parts.push(`symtyp=${encodeURIComponent(params.symtyp)}`);
158
+ if (params.dattyp)
159
+ parts.push(`dattyp=${encodeURIComponent(params.dattyp)}`);
160
+ if (params.regexp)
161
+ parts.push(`regexp=${encodeURIComponent(params.regexp)}`);
162
+ if (params.blockurl)
163
+ parts.push(`blockurl=${encodeURIComponent(params.blockurl)}`);
164
+ if (params.recursive !== undefined)
165
+ parts.push(`recursive=${params.recursive}`);
166
+ return {
167
+ path: '/rw/rapid/symbols?action=search-symbol',
168
+ body: parts.join('&'),
169
+ };
170
+ }
171
+ /**
172
+ * Path + body to validate a value against a RAPID data type.
173
+ * POST /rw/rapid/symbol/data?action=validate
174
+ * Returns 204 if valid, 400 if invalid.
175
+ */
176
+ export function validateRapidValue(task, value, datatype) {
177
+ return {
178
+ path: '/rw/rapid/symbol/data?action=validate',
179
+ body: `task=${encodeURIComponent(task)}&value=${encodeURIComponent(value)}&datatype=${encodeURIComponent(datatype)}`,
180
+ };
181
+ }
182
+ // ─── RAPID symbols ───────────────────────────────────────────────────────────
183
+ /**
184
+ * Path to read RAPID symbol properties (type, dimensions, storage, etc.).
185
+ * @param taskName - RAPID task name, e.g. 'T_ROB1'
186
+ * @param moduleName - Module name, e.g. 'user'
187
+ * @param symbolName - Symbol name, e.g. 'reg1'
188
+ */
189
+ export function rapidSymbolProperties(taskName, moduleName, symbolName) {
190
+ return `/rw/rapid/symbol/properties/RAPID/${encodeURIComponent(taskName)}/${encodeURIComponent(moduleName)}/${encodeURIComponent(symbolName)}`;
191
+ }
192
+ /**
193
+ * Path to read a RAPID symbol value.
194
+ * @param taskName - RAPID task name, e.g. 'T_ROB1'
195
+ * @param moduleName - Module name, e.g. 'user'
196
+ * @param symbolName - Symbol name, e.g. 'reg1'
197
+ */
198
+ export function rapidSymbol(taskName, moduleName, symbolName) {
199
+ return `/rw/rapid/symbol/data/RAPID/${encodeURIComponent(taskName)}/${encodeURIComponent(moduleName)}/${encodeURIComponent(symbolName)}`;
200
+ }
201
+ /**
202
+ * Path + body to set a RAPID symbol value.
203
+ * @param taskName - RAPID task name
204
+ * @param moduleName - Module name
205
+ * @param symbolName - Symbol name
206
+ * @param value - New value as RAPID-formatted string, e.g. '42', '"hello"', '[1,2,3]'
207
+ */
208
+ export function setRapidSymbol(taskName, moduleName, symbolName, value) {
209
+ return {
210
+ path: `${rapidSymbol(taskName, moduleName, symbolName)}?action=set`,
211
+ body: `value=${encodeURIComponent(value)}`,
212
+ };
213
+ }
50
214
  // ─── Motion ──────────────────────────────────────────────────────────────────
51
215
  /**
52
216
  * Path to read joint-space positions for a mechanical unit.
@@ -64,6 +228,14 @@ export function jointTarget(mechunit = 'ROB_1') {
64
228
  export function robTarget(mechunit = 'ROB_1', tool = 'tool0', wobj = 'wobj0') {
65
229
  return `/rw/motionsystem/mechunits/${encodeURIComponent(mechunit)}/robtarget?tool=${encodeURIComponent(tool)}&wobj=${encodeURIComponent(wobj)}`;
66
230
  }
231
+ /**
232
+ * Path to read Cartesian position including robot configuration flags (j1, j4, j6, jx).
233
+ * Uses the /cartesian sub-resource instead of /robtarget — no tool/wobj parameters.
234
+ * @param mechunit - Default 'ROB_1'
235
+ */
236
+ export function cartesianFull(mechunit = 'ROB_1') {
237
+ return `/rw/motionsystem/mechunits/${encodeURIComponent(mechunit)}/cartesian`;
238
+ }
67
239
  // ─── Modules ─────────────────────────────────────────────────────────────────
68
240
  /**
69
241
  * Path + body to load a RAPID module into a task.
@@ -96,14 +268,98 @@ export function listModules(taskName) {
96
268
  /**
97
269
  * PUT path for uploading a file to the controller filesystem.
98
270
  * Use '$HOME/' prefix to target the controller home directory.
99
- * @param remotePath - Controller path, e.g. '$HOME/MyMod.mod' or 'HOME/MyMod.mod'
100
- * A leading '/' is stripped to avoid double-slash in the URL.
271
+ * @param remotePath - Controller path, e.g. '$HOME/MyMod.mod'
101
272
  */
102
273
  export function uploadFile(remotePath) {
103
- // Strip a leading '/' so the result is /fileservice/path, not /fileservice//path
274
+ return fileServicePath(remotePath);
275
+ }
276
+ // ─── Controller info ─────────────────────────────────────────────────────────
277
+ /** Path to get RobotWare system information (version, options, sysid) */
278
+ export function systemInfo() {
279
+ return '/rw/system';
280
+ }
281
+ /** Path to get controller hardware identity (name, id, type, mac) */
282
+ export function controllerIdentity() {
283
+ return '/ctrl/identity';
284
+ }
285
+ /** Path to GET the controller clock datetime. */
286
+ export function clockInfo() {
287
+ return '/ctrl/clock';
288
+ }
289
+ /**
290
+ * Path + body to SET the controller clock (PUT /ctrl/clock).
291
+ * All values are interpreted as UTC by the controller.
292
+ */
293
+ export function setControllerClock(year, month, day, hour, min, sec) {
294
+ return {
295
+ path: '/ctrl/clock',
296
+ body: `sys-clock-year=${year}&sys-clock-month=${month}&sys-clock-day=${day}&sys-clock-hour=${hour}&sys-clock-min=${min}&sys-clock-sec=${sec}`,
297
+ method: 'PUT',
298
+ };
299
+ }
300
+ // ─── Event log ───────────────────────────────────────────────────────────────
301
+ /**
302
+ * Path to read event log messages.
303
+ * Domain 0 = common controller log (up to 1000 entries, most useful).
304
+ * @param domain - Log domain number; default 0
305
+ * @param lang - Language for message text; default 'en'
306
+ */
307
+ export function elogMessages(domain = 0, lang = 'en') {
308
+ return `/rw/elog/${domain}?lang=${encodeURIComponent(lang)}`;
309
+ }
310
+ /** Path + body to clear all messages in a specific elog domain. */
311
+ export function clearElogDomain(domain = 0) {
312
+ return { path: `/rw/elog/${domain}?action=clear`, body: '' };
313
+ }
314
+ /** Path + body to clear ALL elog messages across all domains. */
315
+ export function clearAllElogs() {
316
+ return { path: '/rw/elog?action=clearall', body: '' };
317
+ }
318
+ // ─── File system ─────────────────────────────────────────────────────────────
319
+ /**
320
+ * Path for GET (download file or list directory) and PUT (upload file).
321
+ * Use '$HOME/' prefix to target the controller home directory.
322
+ */
323
+ export function fileServicePath(remotePath) {
104
324
  const normalised = remotePath.replace(/^\//, '');
105
325
  return `/fileservice/${normalised}`;
106
326
  }
327
+ /** DELETE path to remove a file from the controller filesystem. */
328
+ export function deleteFile(remotePath) {
329
+ return fileServicePath(remotePath);
330
+ }
331
+ /**
332
+ * Path to create a new directory on the controller filesystem.
333
+ * POST to this path with body 'fs-action=create&fs-newname={dirName}'.
334
+ * @param parentPath - Parent directory path, e.g. '$HOME'
335
+ */
336
+ export function createDirectory(parentPath) {
337
+ return { path: fileServicePath(parentPath) };
338
+ }
339
+ /**
340
+ * Path to copy a file on the controller filesystem.
341
+ * POST to this path with body 'fs-action=copy&fs-newname={destPath}'.
342
+ * @param sourcePath - Source file path, e.g. '$HOME/Source.mod'
343
+ * @param destPath - Destination path, e.g. '$HOME/Backup/Source.mod'
344
+ */
345
+ export function copyFile(sourcePath, destPath) {
346
+ return {
347
+ path: fileServicePath(sourcePath),
348
+ body: `fs-action=copy&fs-newname=${encodeURIComponent(destPath)}`,
349
+ };
350
+ }
351
+ // ─── Mastership ───────────────────────────────────────────────────────────────
352
+ /**
353
+ * Path + body to request mastership on a domain.
354
+ * Must be released after use. Domains: 'cfg' | 'motion' | 'rapid'.
355
+ */
356
+ export function requestMastership(domain) {
357
+ return { path: `/rw/mastership/${domain}?action=request`, body: '' };
358
+ }
359
+ /** Path + body to release mastership on a domain. */
360
+ export function releaseMastership(domain) {
361
+ return { path: `/rw/mastership/${domain}?action=release`, body: '' };
362
+ }
107
363
  // ─── I/O ─────────────────────────────────────────────────────────────────────
108
364
  /**
109
365
  * Build the signal path segment from optional network/device/name.
@@ -115,6 +371,25 @@ function signalPath(network, device, name) {
115
371
  }
116
372
  return `/rw/iosystem/signals/${encodeURIComponent(name)}`;
117
373
  }
374
+ /**
375
+ * Path to list all I/O signals (paginated).
376
+ * @param start - Starting index (default 0)
377
+ * @param limit - Max results per page (default 100)
378
+ */
379
+ export function allSignals(start = 0, limit = 100) {
380
+ return `/rw/iosystem/signals?start=${start}&limit=${limit}`;
381
+ }
382
+ /** Path to list all configured I/O networks */
383
+ export function networks() {
384
+ return '/rw/iosystem/networks';
385
+ }
386
+ /**
387
+ * Path to list all devices on a network.
388
+ * @param network - Network name, e.g. 'Local'
389
+ */
390
+ export function devices(network) {
391
+ return `/rw/iosystem/devices?network=${encodeURIComponent(network)}`;
392
+ }
118
393
  /**
119
394
  * Path to read a digital/analog I/O signal value.
120
395
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceMapper.js","sourceRoot":"","sources":["../src/ResourceMapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResourceMapper.js","sourceRoot":"","sources":["../src/ResourceMapper.ts"],"names":[],"mappings":"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"}