Skip to main content
Version: 8.x.x

Debugging

Debugging Output

We use the debug package and log under the serialport namespace. Each package has it's own scope

  • serialport/stream for all stream released logging
  • serialport/binding* for all binding related logging
  • serialport/* for everything

You can enable logging through environment variables. Check the debug docs for info.

linux, osx

DEBUG=serialport/stream node myapp.js
DEBUG=serialport/* node myapp.js
DEBUG=* node myapp.js

Windows command prompt notes

CMD

On Windows the environment variable is set using the set command.

set DEBUG=serialport/*

Example:

set DEBUG=serialport/* & node myapp.js

PowerShell (VS Code default)

PowerShell uses different syntax to set environment variables.

$env:DEBUG = "serialport/*"

Example:

$env:DEBUG='serialport/*'; node app.js

Core dumps

You can enable core dumps on osx with;

ulimit -c unlimited for core dumps

You can "console.log" from c++ with;

fprintf(stdout, "Hellow World num=%d str=%s\n", 4, "hi");

Repl

You can make use of the serialport-repl command with;

serialport-repl # to auto detect an arduino
serialport-repl /path/name # to connect to a specific port

It will load a serialport object with debugging turned on.