@synapticon/motion-master-client 6.0.0-alpha.111 → 6.0.0-alpha.113

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.
@@ -1909,7 +1909,7 @@ export declare class Api<SecurityDataType = unknown> extends HttpClient<Security
1909
1909
  */
1910
1910
  deleteMonitoring: (topic: string, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<void, void>>;
1911
1911
  /**
1912
- * @description Returns one entry per cached parameter-definition file on disk, keyed by device identity (vendor, product, revision). The cache stores only the object-dictionary *definitions* (not live values), so a scan of previously-seen hardware can skip the slow SDO enumeration. Independent of the bus — works whether or not a driver is initialised.
1912
+ * @description Returns one entry per cached parameter-definition file on disk, keyed by vendor ID, product code and firmware version (object 0x100A). A device without 0x100A is not cached. The cache stores only the object-dictionary *definitions* (not live values), so a scan of previously-seen hardware can skip the slow SDO enumeration. Independent of the bus — works whether or not a driver is initialised.
1913
1913
  *
1914
1914
  * @name ListParameterCacheEntries
1915
1915
  * @summary List on-disk parameter caches
@@ -1925,7 +1925,7 @@ export declare class Api<SecurityDataType = unknown> extends HttpClient<Security
1925
1925
  */
1926
1926
  getParameterCache: (id: string, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<object, void>>;
1927
1927
  /**
1928
- * @description Removes one cached file from disk. The next scan of that hardware re-enumerates it. Useful when a vendor reused a revision across an object-dictionary change.
1928
+ * @description Removes one cached file from disk. The next scan of that hardware re-enumerates it. Useful when a firmware changed its object dictionary and kept its version string.
1929
1929
  *
1930
1930
  * @name DeleteParameterCache
1931
1931
  * @summary Delete a parameter-cache file
@@ -1933,7 +1933,7 @@ export declare class Api<SecurityDataType = unknown> extends HttpClient<Security
1933
1933
  */
1934
1934
  deleteParameterCache: (id: string, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<void, void>>;
1935
1935
  /**
1936
- * @description Returns every file in Motion Master's per-user cache directory, flattened: one entry per file with its full path relative to the cache root, whatever the nesting. Directories have no entries of their own. Independent of the bus — works whether or not a driver is initialised. The cache is a plain file store for data that should outlive a restart. The store itself neither validates nor interprets an upload — `PUT` accepts any bytes at any valid path, and putting a file here does not, on its own, make Motion Master do anything with it; the client chooses the paths. That is separate from whether a *feature* reads a given file, and several do: `parameters/` (the on-disk object-dictionary cache) and `dumps/` (`.mmpd` recorder dumps) are written and consumed by those features, with more to follow. Their files appear in this listing alongside everything else, so a client must not assume every entry was uploaded through this API, nor that deleting one is inconsequential.
1936
+ * @description Returns every file in Motion Master's per-user cache directory, flattened: one entry per file with its full path relative to the cache root, whatever the nesting. Directories have no entries of their own. Independent of the bus — works whether or not a driver is initialised. The cache is a plain file store for data that should outlive a restart. The store itself neither validates nor interprets an upload — `PUT` accepts any bytes at any valid path, and putting a file here does not, on its own, make Motion Master do anything with it; the client chooses the paths. That is separate from whether a *feature* reads a given file, and several do: `parameters/` (the on-disk object-dictionary cache) and `dumps/` (`.mmpd` recorder dumps) are written and consumed by those features. `esis/` holds ESI files that a client adds, named `esi-<vendor>-<version>.xml`; a device whose vendor and firmware version (0x100A) match a file takes the units of its parameters from it at the next scan or parameter init. Their files appear in this listing alongside everything else, so a client must not assume every entry was uploaded through this API, nor that deleting one is inconsequential.
1937
1937
  *
1938
1938
  * @name ListUserCacheFiles
1939
1939
  * @summary List the files in the user cache
@@ -1230,7 +1230,7 @@ export class Api extends HttpClient {
1230
1230
  ...params,
1231
1231
  });
1232
1232
  /**
1233
- * @description Returns one entry per cached parameter-definition file on disk, keyed by device identity (vendor, product, revision). The cache stores only the object-dictionary *definitions* (not live values), so a scan of previously-seen hardware can skip the slow SDO enumeration. Independent of the bus — works whether or not a driver is initialised.
1233
+ * @description Returns one entry per cached parameter-definition file on disk, keyed by vendor ID, product code and firmware version (object 0x100A). A device without 0x100A is not cached. The cache stores only the object-dictionary *definitions* (not live values), so a scan of previously-seen hardware can skip the slow SDO enumeration. Independent of the bus — works whether or not a driver is initialised.
1234
1234
  *
1235
1235
  * @name ListParameterCacheEntries
1236
1236
  * @summary List on-disk parameter caches
@@ -1256,7 +1256,7 @@ export class Api extends HttpClient {
1256
1256
  ...params,
1257
1257
  });
1258
1258
  /**
1259
- * @description Removes one cached file from disk. The next scan of that hardware re-enumerates it. Useful when a vendor reused a revision across an object-dictionary change.
1259
+ * @description Removes one cached file from disk. The next scan of that hardware re-enumerates it. Useful when a firmware changed its object dictionary and kept its version string.
1260
1260
  *
1261
1261
  * @name DeleteParameterCache
1262
1262
  * @summary Delete a parameter-cache file
@@ -1268,7 +1268,7 @@ export class Api extends HttpClient {
1268
1268
  ...params,
1269
1269
  });
1270
1270
  /**
1271
- * @description Returns every file in Motion Master's per-user cache directory, flattened: one entry per file with its full path relative to the cache root, whatever the nesting. Directories have no entries of their own. Independent of the bus — works whether or not a driver is initialised. The cache is a plain file store for data that should outlive a restart. The store itself neither validates nor interprets an upload — `PUT` accepts any bytes at any valid path, and putting a file here does not, on its own, make Motion Master do anything with it; the client chooses the paths. That is separate from whether a *feature* reads a given file, and several do: `parameters/` (the on-disk object-dictionary cache) and `dumps/` (`.mmpd` recorder dumps) are written and consumed by those features, with more to follow. Their files appear in this listing alongside everything else, so a client must not assume every entry was uploaded through this API, nor that deleting one is inconsequential.
1271
+ * @description Returns every file in Motion Master's per-user cache directory, flattened: one entry per file with its full path relative to the cache root, whatever the nesting. Directories have no entries of their own. Independent of the bus — works whether or not a driver is initialised. The cache is a plain file store for data that should outlive a restart. The store itself neither validates nor interprets an upload — `PUT` accepts any bytes at any valid path, and putting a file here does not, on its own, make Motion Master do anything with it; the client chooses the paths. That is separate from whether a *feature* reads a given file, and several do: `parameters/` (the on-disk object-dictionary cache) and `dumps/` (`.mmpd` recorder dumps) are written and consumed by those features. `esis/` holds ESI files that a client adds, named `esi-<vendor>-<version>.xml`; a device whose vendor and firmware version (0x100A) match a file takes the units of its parameters from it at the next scan or parameter init. Their files appear in this listing alongside everything else, so a client must not assume every entry was uploaded through this API, nor that deleting one is inconsequential.
1272
1272
  *
1273
1273
  * @name ListUserCacheFiles
1274
1274
  * @summary List the files in the user cache
@@ -232,8 +232,8 @@ export interface UserCacheFile {
232
232
  /** Summary of one on-disk parameter-cache file (its identity, size, and count). */
233
233
  export interface ParameterCacheEntry {
234
234
  /**
235
- * Opaque key addressing this cache file in the download/delete endpoints ("<vendor>-<product>-<revision>"). Use it verbatim — do not construct it client-side.
236
- * @example "000022d2-00000201-0000000a"
235
+ * Opaque key addressing this cache file in the download/delete endpoints ("<vendor>-<product>-<version>", the version reduced to URL-safe characters). Use it verbatim — do not construct it client-side.
236
+ * @example "000022d2-00000201-v5.6.6"
237
237
  */
238
238
  id: string;
239
239
  /**
@@ -247,10 +247,10 @@ export interface ParameterCacheEntry {
247
247
  */
248
248
  productCode: number;
249
249
  /**
250
- * Revision number.
251
- * @example 10
250
+ * The device's firmware version (0x100A) the file was written for, in full.
251
+ * @example "v5.6.6"
252
252
  */
253
- revisionNumber: number;
253
+ firmwareVersion: string;
254
254
  /**
255
255
  * Number of cached parameter definitions in the file.
256
256
  * @example 312
@@ -1018,7 +1018,7 @@ export interface ProcedureRequest {
1018
1018
  */
1019
1019
  pollIntervalMs?: number;
1020
1020
  /**
1021
- * `os-command` only: whether the command moves bulk data through the drive's fs-buffer, and which way. Most commands move none. The transfer runs while the command runs, because the drive holds the command in progress until all the data has moved, and it needs firmware 5.2 or newer. Setting a direction for a command that moves no bulk data leaves the server waiting for a transfer the drive will never start.
1021
+ * `os-command` only: whether the command moves bulk data through the drive's fs-buffer, and which way. Most commands move none. A write runs while the command runs, because the command reads its input as it arrives, and it needs firmware 5.2 or newer. A read runs after the command succeeds, because the command completes when its whole output is in the fs-buffer. No read runs after a failure. An output larger than the 2024-byte fs-buffer cannot be read: the command waits for the master to empty it and runs into its timeout. Setting a direction for a command that moves no bulk data makes the transfer wait for an answer the drive never sends.
1022
1022
  * @default "none"
1023
1023
  * @example "read"
1024
1024
  */
@@ -1692,10 +1692,15 @@ export interface DeviceParameter {
1692
1692
  */
1693
1693
  value: ParameterValue;
1694
1694
  /**
1695
- * ETG.1004 unit code reported by the slave for this entry. Absent when the slave does not populate the Unit field of the SDO Info response. The 32-bit code decomposes into prefix, base SI unit, and exponent per ETG.1004.
1696
- * @example 0
1695
+ * ETG.1004 unit code of this entry. The code comes from the SDO Info response of the slave. When the slave reports none, it comes from the device's ESI in the `esis` directory of the user cache. That file is named `esi-<vendor>-<version>.xml`, where `<version>` is the device's firmware version in 0x100A, matched exactly. Absent when neither source gives a unit. The 32-bit code decomposes into prefix, base SI unit, and exponent per ETG.1004.
1696
+ * @example 11814656
1697
1697
  */
1698
1698
  unit?: number;
1699
+ /**
1700
+ * The symbol of `unit`, for example `rpm` or `mV`. It comes from the ESI with the unit, or is rendered from the ETG.1004 code when the slave reported the unit. Absent when there is no unit or it has no symbol.
1701
+ * @example "rpm"
1702
+ */
1703
+ unitSymbol?: string;
1699
1704
  /** Slave-reported default value, decoded with the same logic as `value`. Absent when the slave does not report a default. */
1700
1705
  defaultValue?: ParameterValue;
1701
1706
  /** Slave-reported minimum value, decoded with the same logic as `value`. Absent when the slave does not report a minimum. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synapticon/motion-master-client",
3
- "version": "6.0.0-alpha.111",
3
+ "version": "6.0.0-alpha.113",
4
4
  "description": "Isomorphic TypeScript client for Motion Master: the generated HTTP API client, the WebSocket connection, and helpers.",
5
5
  "license": "MIT",
6
6
  "repository": {