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

@csllc/pnix-util

v3.0.4

Published

Utility for Control Solutions Motor Controllers

Downloads

54

Readme

pnix-util

This package implements command line and library utilities for managing Control Solutions LLC Phoenix Motor Controllers. See http://controls.com.

Installation

As a Command Line Utility

These utilities are designed to work on Windows, Mac, and Linux computers. You must install the following pre-requisites:

  • NodeJS (version 10.22.x or 12.18.x) from https://nodejs.org
  • Any drivers required for the interface hardware you intend to use

Install the command line utilities by using the following command in a terminal window: npm install -g @csllc/pnix-util

Check the version using the command: npm ls -g @csllc/pnix-util

Update to the latest version: npm update -g @csllc/pnix-util

After upgrading NodeJS and/or pnix-util, the utilities may fail to run. This is most likely because the package dependencies also need to be upgraded or rebuilt. This can be done by running: npm -g -f install

Connection to the Motor Controller

The utility supports different physical connections:

GridConnect CAN-USB-COM

This adapter allows a CANBUS network to be attached to the PC using a USB port. No driver is required for OSX; Windows drivers can be found here: Through Windows 8 Windows 8 RT Driver

PEAK-System PCAN-USB

This adapter allows a CAN Bus network to be attached to a PC using a USB port. The @csllc/cs-pcan-usb dependency package includes the necessary drivers for Windows and macOS.

Use --connection=can with -l to query adapters, and --port=pcan-usb_XX with the commands below to specify a PCAN-USB adapter, where XX is the driver-assigned port number.

Kvaser Leaf Light v2

This adapter allows a CAN Bus network to be attached to a PC using a USB port. The @csllc/cs-canlib dependency package includes the necessary driver for Windows. Under Linux, the kvaser_usb kernel module must be available to use this adapter with SocketCAN.

Use --connection=can with -l to query adapters, and --port=canlib_XX with the commands below to specify a Kvaser adapter, where XX is the driver-assigned port number.

Under Linux, Kvaser USB adapters are handled as SocketCAN devices; the PiCAN2 instructions will apply instead.

PiCAN2 for Raspberry Pi

This board adds CAN Bus functionality to a Raspberry Pi through the Linux SocketCAN driver, included in the Raspberry Pi OS.

Use --connection=can with -l to query adapters, and --port=socketcan_canXX with the commands below to specify a Kvaser adapter, where XX is the operating system-assigned port number.

Configuration

Once the utility and the physical connection is in place, you will need to set up the connection parameters.

Find the name of the interface hardware

Use the -l option to list all available connections: pnix -l

Identify the port that connects to the controller. If needed, run the command without the hardware adapter attached, then with it attached. The port that appears is the one you want. On Windows, the port is probably named something like 'COM23' though the number may be different.

Find the motor controller(s) on the CANBUS

Now that you know the port name, use the -f option to find the controllers. Note that at least one controller must be powered on, and connected via a properly terminated CANBUS. To find controllers on a 250Kbaud canbus, using port COM23, you would use the command:

pnix -f --port=COM23 --canrate=250000

The utility will output the ID of any controller(s) found on the CANBUS. Often, the controller will be ID 128.

Save the configuration for later use

The configuration can be saved as the default by adding the --save option: pnix -f --port=COM23 --canrate=250000 --unit=128 --save

pnix-watch

The pnix-watch command waits for status information from a particular controller and displays it on the screen. Assuming you have a properly connected and configured system, simply use the pnix-watch command. You can over-ride configuration using command line switches. For example: pnix-watch --unit=130

pnix-config

The pnix-config utility loads a configuration file into the unit. Normally these files will be supplied by Control Solutions - modifying the contents of the file may lead to unexpected results.

pnix-config load setup.txt --shadow The --shadow option loads the configuration temporarily - it will take effect immediately, allowing you to check that it works as intended. If the controller is power cycled, the changes will be lost.

To make the changes permanent, load the file without the --shadow switch: pnix-config load setup.txt After power cycling the controller, the new settings will be in effect.

pnix

The pnix command allows individual configuration items to be changed. For example, pnix read sconfig deadband returns the deadband setting. pnix write sconfig deadband 0x10 changes the deadband setting to hex 10 (decimal 16)

The above command changes the shadow (active copy) of the configuration. To make the change permanently, use the alternate commands: pnix write config deadband 0x10