@kduma-autoid/capacitor-usb-scale v2.0.0
@kduma-autoid/capacitor-usb-scale
Capacitor adapter for cheap USB scales like Dymo M10
Install
npm install @kduma-autoid/capacitor-usb-scale
npx cap syncAPI
enumerateDevices()requestPermission(...)hasPermission(...)open(...)close()addListener('onRead', ...)addListener('onScaleConnected', ...)addListener('onScaleDisconnected', ...)removeAllListeners()- Interfaces
- Enums
enumerateDevices()
enumerateDevices() => Promise<EnumerateDevicesResponse>Get a list of all connected compatible USB scale devices
Returns: Promise<EnumerateDevicesResponse>
requestPermission(...)
requestPermission(options?: RequestPermissionOptions | undefined) => Promise<void>Request permission to access the USB scale device
Throws an error if permission is denied
| Param | Type |
|---|---|
options | RequestPermissionOptions |
hasPermission(...)
hasPermission(options?: HasPermissionOptions | undefined) => Promise<HasPermissionResponse>Check if app has permission to access the USB scale device
| Param | Type |
|---|---|
options | HasPermissionOptions |
Returns: Promise<HasPermissionResponse>
open(...)
open(options?: OpenOptions | undefined) => Promise<void>Open the USB scale device for data reading
Throws an error if the device is not connected or permission is denied
| Param | Type |
|---|---|
options | OpenOptions |
close()
close() => Promise<void>Close the USB scale device
addListener('onRead', ...)
addListener(eventName: 'onRead', listenerFunc: (event: OnReadEvent) => void) => Promise<PluginListenerHandle>Event emitted when the scale sends data
| Param | Type |
|---|---|
eventName | 'onRead' |
listenerFunc | (event: OnReadEvent) => void |
Returns: Promise<PluginListenerHandle>
addListener('onScaleConnected', ...)
addListener(eventName: 'onScaleConnected', listenerFunc: (event: OnScaleConnectedEvent) => void) => Promise<PluginListenerHandle>Event emitted when a compatible USB scale device is connected.
| Param | Type |
|---|---|
eventName | 'onScaleConnected' |
listenerFunc | (event: OnScaleConnectedEvent) => void |
Returns: Promise<PluginListenerHandle>
addListener('onScaleDisconnected', ...)
addListener(eventName: 'onScaleDisconnected', listenerFunc: (event: OnScaleDisconnectedEvent) => void) => Promise<PluginListenerHandle>Event emitted when a compatible USB scale device is disconnected.
| Param | Type |
|---|---|
eventName | 'onScaleDisconnected' |
listenerFunc | (event: OnScaleDisconnectedEvent) => void |
Returns: Promise<PluginListenerHandle>
removeAllListeners()
removeAllListeners() => Promise<void>Removes all listeners
Interfaces
EnumerateDevicesResponse
| Prop | Type |
|---|---|
devices | USBDevice[] |
USBDevice
| Prop | Type |
|---|---|
id | string |
vid | number |
pid | number |
serial | string |
product | { manufacturer: string; name: string; } |
RequestPermissionOptions
| Prop | Type | Description |
|---|---|---|
device_id | string | The device to request permission for. If not specified, the first device will be used. |
HasPermissionResponse
| Prop | Type | Description |
|---|---|---|
permission | boolean | Whether the app has permission to access the USB scale device |
HasPermissionOptions
| Prop | Type | Description |
|---|---|---|
device_id | string | The device to check permission for. If not specified, the first device will be used. |
OpenOptions
| Prop | Type | Description |
|---|---|---|
device_id | string | The device to open. If not specified, the first device will be used. |
PluginListenerHandle
| Prop | Type |
|---|---|
remove | () => Promise<void> |
OnReadEvent
| Prop | Type |
|---|---|
data | number[] |
weight | number |
status | ScaleStatus |
OnScaleConnectedEvent
| Prop | Type |
|---|---|
device | USBDevice |
OnScaleDisconnectedEvent
| Prop | Type |
|---|---|
device | USBDevice |
Enums
ScaleStatus
| Members | Value |
|---|---|
Fault | "fault" |
Zero | "zero" |
InMotion | "in-motion" |
Stable | "stable" |
UnderZero | "under-zero" |
OverWeight | "over-weight" |
NeedCalibration | "need-calibration" |
NeedZeroing | "need-zeroing" |
Unknown | "unknown" |
Events
usb_scale_read
addEventListener(type: "usb_scale_read", listener: (ev: ScaleRead) => any, useCapture?: boolean): void;Emitted when the scale sends data, and there is no callback set by setIncomingWeightDataCallback.
usb_scale_connected
addEventListener(type: "usb_scale_connected", listener: (ev: { device: USBDevice }) => any, useCapture?: boolean): void;Emitted when a compatible USB scale device is connected.
usb_scale_disconnected
addEventListener(type: "usb_scale_disconnected", listener: (ev: { device: USBDevice }) => any, useCapture?: boolean): void;Emitted when a compatible USB scale device is disconnected.