New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

serial-nci-scale

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

serial-nci-scale

Serial interface for Salter Brecknell PS-USB scales using NCI protocol and SCP-12 layout

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4
Maintainers
1
Weekly downloads
 
Created
Source

Serial NCI Scale

An API to query a Serial Scale which supports the NCI protocal (SCP-12, NCI 3825, NCI 3835). Tested against the Salter Brecknell PS-USB scale. Depends on the Web Serial API.

Getting Started

Page Hosting the library must be served over HTTPS. Demo is available at https://chris-rudmin.github.io/serial-nci-scale/

Installation

npm install serial-nci-scale --save

Usage

import SerialNCIScale from 'serial-nci-scale';

const scale = new SerialNCIScale();
const { weight, units, status } = await scale.getWeight();

Constructor

  • const scale = new SerialNCIScale( [config] ) - Create a new instance with optional device filter array or port config object
Config Object
  • config.filters - Optional - Array of filters to use when initializing the port. Defaults to [].
  • config.portConfig - Optional - Object containing serial configuration to use for initializing port. Defaults to 7E1 byte format.
Instance Methods
  • scale.getWeight() - Returns a promise which resolves with scale weight data. Required to be called from user action
  • scale.getStatus() - Returns a promise which resolves with scale status data. Required to be called from user action
  • scale.zero() - Returns a promise which resolves when the scale is zeroed. Required to be called from user action
  • scale.startPolling([pollInterval]) - Starts polling the scale for weight data. Default polling interval is 500 ms Required to be called from user action
  • scale.stopPolling() - Stops polling the scale
  • scale.disconnect() - Returns a promise which resolves once disconnected. Closes the read and write streams and frees the serial port
Static Attributes
  • SerialNCIScale.isWebSerialSupported - true if Web Serial API exists in your browser
  • SerialNCIScale.supportedScaleFilters - Array of devices which are known to be supported
Events

The serial-nci-scale instance is an EventTarget and can be listened to for custom events. Scale data is contained the in the detail property.

  • weight - Dispatched for every weight read
  • status - Dispatched for every status read
  • settled - Dispatched when the scale is no longer in motion and if the weight is different than the last settled weight
scale.addEventListener('settled', ({ detail }) => foo(detail.status));
scale.startPolling();

Supported Browsers

Currently only Chrome 89+ and Edge 89+ support the Web Serial API. Earlier versions of Chrome and Edge can use the API if it is enabled in chrome://flags

Keywords

FAQs

Package last updated on 18 Mar 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc