0.3.2 • Published 1 year ago

node-red-contrib-xkeys_joystick v0.3.2

Weekly downloads
-
License
MIT
Repository
gitlab
Last release
1 year ago

node-red-contrib-xkeys_joystick

This is another of a group of Node-RED nodes which enable access to X-keys physical devices using the Dynamic Control Data Protocol (DCDP).

Dedicated Node-RED nodes for each X-keys event of interest (button, jog, joystick, etc.) will communicate, using MQTT, with a lightweight DCDP server, whose sole purpose is to mediate access to any physically attached X-keys devices.

This xkeys_joystick node encapsulates joystick events from any or specific X-keys devices.

Installation

This node requires dcdp-server version 0.1.1 to be running. Please follow the instructions at the dcdp-server development repository to install it or, to upgrade an existing installation, see the dcdp-server upgrade instructions.

The node-red-contrib-xkeys_joystick node itself is best installed from Node-RED's Palette manager. Go to the Palette manager's Install tab and search for node-red-contrib-xkeys_joystick; then Install it once found. If not found, press the Refresh module list button (two semicircular arrows) and search again.

When installed, a new xk joystick will be found in the palette tab in a dedicated Xkeys category.

Usage

The full msg.payload of the xkey_joystick node is as follows:

{ device: NAME, vendor_id: VID, product_id: PID, unit_id: UID, control_id: INDEX, x: XVAL, y: YVAL, z: ZVAL, deltaZ: DELTAZ }

where

  • NAME is an abbreviated name of the source device
  • VID is the Vendor ID of the source device
  • PID is the Product ID of the source device
  • UID is the Unit ID of the source device, typically 0 from the factory but assignable 0-255
  • INDEX is the controller number (in case a device has multiple joystick controls)
  • XVAL, YVAL, ZVAL, DELTAZ are the x, y, z (twist) and deltaZ values emited by the device

Issues

When configuring the node, a drop down list of possible devices shoud be available. If not, instead displaying just a note to Press Deploy button to see device list, first follow that advice. If that is unsuccessful (still no list of possible devices), then check the status of the dcdp-server by running the command sudo systemctl status dcdp-server in a terminal. Typical output of a normally running dcdp-server will be:

pi@pi3b:~ $ sudo systemctl status dcdp-server
● dcdp-server.service - Run dcdp-server as background service
Loaded: loaded (/etc/systemd/system/dcdp-server.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-10-14 09:31:55 AEST; 23h ago

whereas a non-running dcdp-server will show something like:

pi@pi3b:~ $ sudo systemctl status dcdp-server
● dcdp-server.service - Run dcdp-server as background service
Loaded: loaded (/etc/systemd/system/dcdp-server.service; enabled; vendor preset: enabled)
Active: failed (Result: timeout) since Fri 2021-10-15 08:41:37 AEST; 19s ago

If necessary, (re)start the dcdp-server with sudo systemctl restart dcdp-server

Authors and acknowledgment

Many thanks to P.I. Engineering for financial support and donation of several X-keys devices for development and testing.

License

MIT

0.3.0

1 year ago

0.3.2

1 year ago

0.3.1

1 year ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago