Skip to content

ConfigurableFirmata USB becomes not ready #169

@Green-Bug-Eyed-Monster

Description

@Green-Bug-Eyed-Monster

Hi,

Hoping to get some advice on setting-up ConfigurableFirmata on an Arduino Nano with an AT328PB.

Added a condition to lump the AT328PB in with nano group during board.h configuration:

... // Arduino Duemilanove, Diecimila, Uno, Nano, etc. #if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328__) || defined(__AVR_ATmega328PB__) ...

Have ConfigurableFirmata version 3.1.0 loaded in arduino-ide_2.2.1_Linux_64bit.

Set-up serial baud rate in ConfigurableFirmata.ino

... //Firmata.begin(115200); Firmata.begin(57600) ...

Module enable defines in ConfigurableFirmata.ino:

``
...
#include <DigitalInputFirmata.h>
DigitalInputFirmata digitalInput;

#include <DigitalOutputFirmata.h>
DigitalOutputFirmata digitalOutput;

#include <SerialFirmata.h>
SerialFirmata serial;
...
``
Arduino serial monitor set to 57600 baud captures the following sequence, whenever the Nano board is reset:

"(Gibber)...ConfigurableFirmata qBooting device. Stand by... qUnknown pin mode q...(repeats last message ad infinitum)."

The repeated 'Unknown pin mode' message is a worry!

I copied the Firmata.js example blink.js file, and also set the baud rate for 57600 baud:

... const options = { baud: 57600 // Set your desired baud rate }; const board = new Board(port.path, options); ...

Tail of output from running the blink.js file in 'output debug messages' mode of node, on a USB cable connected Linux box:

user@hostname:~$DEBUG=* node blink.js ... serialport/binding-abstract read +6ms serialport/bindings/unixRead Starting read +1ms serialport/bindings/unixRead read error [Error: EAGAIN: resource temporarily unavailable, read] { errno: -11, code: 'EAGAIN', syscall: 'read' } +1ms serialport/bindings/unixRead waiting for readable because of code: EAGAIN +0ms serialport/bindings/poller Polling for "readable" +2ms

Many reads initially occur, before the USB serial device /dev/ttyUSB0 becomes unavailable, and communication suspends.

When I run the client blink.js code in node without debug messaging, the output is as follows:

user@hostname:~$node blink.js { manufacturer: '1a86', serialNumber: undefined, pnpId: 'usb-1a86_USB2.0-Ser_-if00-port0', locationId: undefined, vendorId: '1a86', productId: '7523', path: '/dev/ttyUSB0' } board constructed

The board object is created successfully in blink.js...

... const board = new Board(port.path, options); console.log("board constructed"); ...

...yet the board.on("ready"...) function never executes.

... board.on("ready", () => { console.log("ready"); // Never fires. ...

The whole ConfigurableFirmata and Firmata.js project folder can be inspected at the following: https://file.io/OuPTk63i3foI

If anyone can follow along, and please tell me why I get the repeated 'Unknown pin mode' message after resetting the Arduino, whilst connected by Arduino serial monitor?

GBEM👽

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions