@cygnus-reach/reach-protocol
v1.4.4
Published
Improve the Reach℠ remote support experience with straightforward device interactions via the Reach Protocol.
Keywords
Readme
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.4
- Bugfixes to
readParameterandreadParametersto ensure returned values reflect the response(s) provided by the device to the request itself, rather than the most up-to-date parameter values upon receipt of the last response. - Added deduplication logic for
readParameterswhen a list of parameter IDs is provided.
- Bugfixes to
- 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
connectmethod fromNetworkAccessdue to lack of utility in varied implementation contexts. - Removed
connectmethod fromDeviceAccessfor above-stated reason. - Added optional configuration to
pingStringmethod for consistency. - Improved TSDoc documentation of
DeviceAccessandNetworkAccess.
- Removed outdated "read after timestamp" configuration from
- 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
FileTransferclass. - Updated to Reach Protocol 0.2.3.
- Transitioned to new header format, with use of "classic" headers configurable in DeviceAccess.
- Implemented request state handling for file transfers, including substantial changes to the
- 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:
DeviceAccessstate not updated upon error reports and other device-reported failures.
- Initial release with support for:
