@mangar2/serialdevice

1.4.1 • Public • Published

Abstract

Interface service to communicate with several arduino or similar microcontroller based on a serial interface

Contents

Meta

File index.js
Abstract Interface service to communicate with several arduino or similar microcontroller based on a serial interface
Author Volker Böhm
Copyright Copyright ( c ) 2020 Volker Böhm
License This software is licensed under the GNU LESSER GENERAL PUBLIC LICENSE Version 3 . It is furnished "as is" , without any support , and with no warranty , express or implied , as to its usefulness for any purpose .

Callback definitions

Publish

Callback to publish messages to the mqtt broker

Publish Parameters

Name Type Description
message Message message to publish

Global functions

_deriveSubscribesFromCommandMap

readonly _deriveSubscribesFromCommandMap (commandMap, topicBegin, qos)

Creates a list of subscribes starting with topicBegin and ending with all strings of the commandMap

_deriveSubscribesFromCommandMap Parameters

Name Type Description
commandMap Object map commands to topic end strings
topicBegin string begin of the topic
qos number quality of service

_deriveSubscribesFromTopicMap

readonly _deriveSubscribesFromTopicMap (topicMap, qos) => {Object.<topic:qos>}

Derives subscriptions from a topic list

_deriveSubscribesFromTopicMap Parameters

Name Type Description
topicMap Object.<topic:string> object with topic properties
qos 0, 1, 2 quality of service for the subscription

_deriveSubscribesFromTopicMap returns

Type Description
Object.<topic:qos> object with topic : qos entries

lsb

lsb (value) => {integer}

Returns the number of the least significant bit of an integer

lsb Parameters

Name Type
value integer

lsb returns

Type Description
integer -1 , if no bit set , else the position of the bit set ( starting with bit 0 )

prepare

prepare (config, serialDevice)

Creates a serial device object , if not already available

prepare Parameters

Name Type Attribute Default Description
config Object serial device configuration settings
serialDevice SerialDevice optional null serial device object

serialMessageToString

serialMessageToString (message) => {string}

Converts a serial message to a byte stream

serialMessageToString Parameters

Name Type Description
message SerialMessage message to convert

serialMessageToString returns

Type Description
string string to transmit

switchMessageToString

switchMessageToString (message)

Calculates the switching string from a switch message

switchMessageToString Parameters

Name Type Description
message SerialMessage message to convert

message properties

Name Type Description
value number value used to identify the switch and the switching value

Class SerialDevice

new SerialDevice(options)

Creates a service class to communicate with several arduino over a serial bus

SerialDevice Parameters

Name Type Description
options Object configuration options

options properties

Name Type Attribute Default Description
serialPortName string name of the port to use
baudrate integer optional 57600 baud rate to be used
qos 0, 1, 2 optional 1 quality of service to send messages
trace string optional 'messages' trace level , supported : errors , messages , internal
keepAliveDelayInSeconds number optional 1 delay between two keep alive messages to serial

SerialDevice Methods

_traceStringSendToSerial

_traceStringSendToSerial (serialString)

Traces a string send to the serial device

_traceStringSendToSerial Parameters
Name Type Description
serialString string string send to serial device

close

async close ()

Stops the service

getSubscriptions

getSubscriptions () => {topic:qos}

Gets the list of required subscriptions for this service

getSubscriptions returns
Type Description
topic:qos list of subscription strings

handleMessage

handleMessage (mqttMessage)

Processes an incoming mqtt message

handleMessage Parameters
Name Type Description
mqttMessage Message mqtt message

on

on (event, callback)

Sets a callback .

on Parameters
Name Type Description
event string event name ( not case sensitive ) for the callback ( supported : 'publish' )
callback Publish function ( . . . parameter )
on throws
Type Description
Error if the event is not supported
Error if the callback is not 'function'

run

async run ()

Starts the server

Package Sidebar

Install

npm i @mangar2/serialdevice

Weekly Downloads

5

Version

1.4.1

License

LGPL-3.0-or-later

Unpacked Size

95.1 kB

Total Files

24

Last publish

Collaborators

  • mangar2