npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@mangar2/serialdevice

v1.4.1

Published

implements tools to communicate with a serial attached device

Downloads

13

Readme

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