@cygnus-reach/reach-protocol
TypeScript icon, indicating that this package has built-in type declarations

1.4.3 • Public • Published

Reach Protocol Web Client

This library is designed to facilitate communication with devices that implement the Reach Protocol, using a user-defined transport method (e.g. BLE). Currently-supported services are:

  • Parameter Repository (discover, read, write, notify)
  • Commands (discover, send)
  • Command-Line Interface (send, receive)
  • Files (discover, download, upload)
  • Time (read, write)
  • WiFi (discover, connect, disconnect)

Usage

Communication with a Reach-enabled device is achieved by creating a new DeviceAccess object, which provides methods for accessing state, reacting to events, and sending commands to the device. When creating a DeviceAccess object, a transport method must be provided that extends the NetworkAccess abstract class with implementations of the constructor and sendBytes method, along with calling the received method when bytes are received.

Changelog

  • 1.4.3
    • Bugfix to handling of headers with reported size over 255 bytes.
  • 1.4.2
    • Removed outdated "read after timestamp" configuration from readParameters.
    • Removed abstract connect method from NetworkAccess due to lack of utility in varied implementation contexts.
    • Removed connect method from DeviceAccess for above-stated reason.
    • Added optional configuration to pingString method for consistency.
    • Improved TSDoc documentation of DeviceAccess and NetworkAccess.
  • 1.4.1
    • Bugfix to WiFi service
    • Bugfix to classic header selection
  • 1.4.0
    • Implemented request state handling for file transfers, including substantial changes to the FileTransfer class.
    • Updated to Reach Protocol 0.2.3.
    • Transitioned to new header format, with use of "classic" headers configurable in DeviceAccess.
  • 1.3.1
    • Implemented request state handling for all categories except file transfers, including error responses. Core async functions now return upon a complete set of successful responses from the server, rather than upon the initial request being sent.
    • Updated structures to Reach Protocol 0.0.21
    • Exposed access to timeout in read/write file functions
    • Bugfixes to handling of file transfer init response
    • Bugfixes to file and command discovery
  • 1.3.0
    • Added support for parameter notifications and time service
    • Updated device info structure and message definitions to Reach Protocol 0.0.12
  • 1.2.0
    • Initial release with support for:
      • Get Device Info
      • Ping
      • Services:
        • Parameter Repository (discover, read, write)
        • Commands (discover, send)
        • Command-Line Interface
        • Files (discover, download, upload)
    • Known issue: DeviceAccess state not updated upon error reports and other device-reported failures.

Dependencies (3)

Dev Dependencies (8)

Package Sidebar

Install

npm i @cygnus-reach/reach-protocol

Weekly Downloads

0

Version

1.4.3

License

SEE LICENSE IN LICENSE.md

Unpacked Size

2.65 MB

Total Files

25

Last publish

Collaborators

  • jeremy-peplinski
  • wzhou-i3
  • developer-cygnus