xod-arduino-builder
v0.11.0-dev
Published
XOD project: Arduino Builder
Downloads
3
Keywords
Readme
xod-arduino-builder
This package is a part of the XOD project.
The builder wraps Arduino IDE into nodejs
Promise
-based cli interface.
Prerequisites
- Arduino IDE must be installed;
- Arduino IDE executable must be callable;
- Arduino IDE
packages/
folder must be reachable.
Example
Start node
cli session:
node
Import the builder and set utility display function:
const xab = require('xod-arduino-builder');
const $HOME = process.env.HOME;
const c = promise => promise.then(
value => (console.log(value), Promise.resolve(value)),
error => (console.error(error), Promise.reject(error))
);
Set paths to Arduino IDE executable and packages:
c(xab.setArduinoIdePathExecutable($HOME + '/programs/arduino-1.8.1/arduino'));
c(xab.setArduinoIdePathPackages($HOME + '/.arduino15/packages'));
View the raw official Arduino package index:
c(xab.listPackageIndex());
View the processed package index optimized for pav
selection:
c(xab.listPAVs());
const pav = {
package: 'arduino',
architecture: 'avr',
version: '1.6.16'
};
Install the selected pav
:
c(xab.installPAV(pav));
View the boards supported by the selected pav
:
c(xab.loadPAVBoards(pav));
const pab = {
package: pav.package,
architecture: pav.architecture,
board: 'uno'
};
Compile the file
for the selected pab
:
const file = $HOME + '/programs/arduino-1.8.1/examples/01.Basics/Blink/Blink.ino';
c(xab.verify(pab, file));
View the available serial port
s:
c(xab.listPorts());
const port = '/dev/ttyACM0';
Compile and upload the file
for the selected pab
at the specified port
:
c(xab.upload(pab, port, file));