node-js node-red VSCP

New version node-vscp-type (1.0.13)

A new version of the package node-vscp-type (1.0.13) was published at 2021-04-21T08:54:11.951Z

Updated class/type definitions

node-js node-red VSCP

New version node-red-contrib-socketcan

A new version of the package node-red-contrib-socketcan (1.2.0) was published at 2021-04-08T21:59:11.642Z

CAND FD support added by Tournabien Guillaume
VSCP vscpworks

VSCP Works

It started with +800 errors and a LOT of warnings. Now just a few warnings left. They will soon be gone to. Promise.

VSCP is back on windows.

Built over a remote terminal. Not the best development environment, but it is possible to do work that way to apparently.

Hopefully we will see some alpha code released in April.

VSCP vscpworks

VSCP Works

The main window for the new VSCP Works. You can define the connections over the different supported transports. Note the raw can and raw mqtt which are general CAN and MQTT support.

Double click on the connection to open the session window

The session window have the same content as for the previous version of VSCP Works

  1. The list of incoming events from the selected connection. Can be filtered, etc. Click on a row to get info about the event. When no row is selected event count is displayed. When several rows are selected time difference calculations are shown.
  2. Status info for event. Click on head to get information about bits.
  3. Timing information for the event.
  4. VSCP class and type information for event. Click on class or type to take you to the help page for the class/type.
  5. GUID for event. GUID’s can be named and if they are the name is shown here. Also sensors (sensor index) can be named. Also shown here.
  6. The data content is displayed also in clear text for all events. Measurements have extended information.
  7. The transmit event area. Transmit events can be defined. Automatic periodic events. Load save to disk as for the previous VSCP Works.

And more…

Here a dump of the event count display shown when no row is selected.

And here when multiple rows are selected making it possible to do event timing calculations.

Still a lot do do but on the way. All written in Qt.

node-js node-red VSCP

node-red-contrib-socketcan 1.0.11

A new version of the package node-red-contrib-socketcan (1.0.11) was published at 2021-03-14T17:15:45.915Z 
  • Now using latest socketcan lib.
node-red VSCP

new version of the package node-red-contrib-socketcan

A new version of the package node-red-contrib-socketcan (1.0.10) was published at 2021-03-14T14:17:24.860Z 

21 years later

This is quite funny actually. Twenty one year after VSCP was born this man is almost perfectly describing VSCP infrastructure and thoughts.

Development VSCP

#VSCP project autogenerated files with units

Units for all measurements and conversion between them is now included in the autogenerated databases and in autogenerated JSON and XML files. Also ASCII and UTF8 symbols are included for each measurement unit.

The unit definitions and formats relay on the mustche format with JavaScript (pseudo) code for the conversion. Simple tools can be used in a project handle this. For this the default unit always is defined as


That is the value (which is a floating point value) is always substituted on it’s own by mustache. For the other unit’s for a specific measurement there are mathematical expressions added to convert that unit to the default unit. With this schema all units can be converted to every other defined unit by first converting it to the default unit.

As an example, for temperature measurements this looks like this

  • unit = 0 (default) is Kelvin: {{val}}
  • unit = 1 is Celsius: {{val}} + 273.15
  • unit = 2 is Fahrenheit: ({{val}} – 273.15) * 1.8 + 32.0
  • unit = 3 is undefined.

A helper for event display is <b>render</b> which for the moment is only defined for vscpworks but can have formats defined for other presenter software as well. The definitions for measurement renderings as an example looks like this today

    <vscpworks template=" 
       {{lbl-start}}Unit: {{lbl-end}} = {{unitstr}} [{{unit}}]{{newline}} 
       {{lbl-start}}Sensorindex: {{lbl-end}} = {{sensorindex}}{{newline}} 
       {{lbl-start}}Value: {{lbl-end}} = {{val}}{{symbol}}{{newline}} " /> 

Mustache is also used here for variable substitution. More info is here.

You find the auto generated files here


State of VSCP

A short update from the VSCP makers. Yes me. The one and only. At least when it comes to development efforts on VSCP.

The work on the new VSCP Works version continues. It is a lot of dialogboxes and other stuff to do before the fun stuff can be implemented. But the work is moving in the right direction. The first session handling (event logger) for tcp/ip, canal and mqtt should soon be in place. The others, socketcan, udp, multicast, rest, ws1,ws2, rawcan, rawmqtt will take a bit more time to finish. The nice thing with this is that the transports all get a pluggable common API. Very easy to switch transport in other words and the possibility to build other functionality like reading/writing registers etc on top of this API. This code must be low level and is only dependent on C++ 11 and openssl.

But hopefully I can get some alpha code for VSCP works out soon now so testing can take place by the brave. It’s really the packaging that prevent me from doing this today. This work takes so much time.

Last Friday I decided to decided to give the Windows port of VSCP Works a try. It is now a long time since I been doing any development on Windows, but having been there for way over 10000h I thought this should be an easy task. I was wrong. Gave up. To some extent this giving up is due to me not having a Windows machine for development. I do this work through a remote desktop interface. Not optimal. But I will come back to this later again. There will be a windows port. Last Friday was not just the day to dig deep enough to make it real.

For the VSCP daemon it just sits and wait for release. I need to make some decisions on some low level issues and have some drivers to fix before it can go out through my old red door.

LoRaWan with its small packet size and speed is a perfect for VSCP (of course). I need some hardware to do some coding/demo with it. So if someone have a board or two (and a gateway) they have no need for… 😉

But writing “state of VSCP” does not help much in getting things ready for release. This have to be bye, bye for now, I have some coding to do.

As always I want to thank the sponsors of VSCP. Your support is of great, GREAT, help in this effort.

Take care everyone!


#VSCP docs