node-intelhex
An asynchronous, promise-based, reader/writer module for Intel Hex files for node.
[![NPM Version][npm-image]][npm-url] [![NPM Downloads][downloads-image]][downloads-url] [![Linux Build][travis-image]][travis-url] [![Windows Build][appveyor-image]][appveyor-url] [![Test Coverage][coveralls-image]][coveralls-url]
Installation
$ npm install node-intelhex
Features
- Asynchronous using ES6 Promises
- High-level functions to transfer node Buffer objects to files and back
- Low-level functions to write/parse files a line at a time
Usage
const hex = ;
readFile(filename, options, callback~opt~)
Reads "filename" asynchronously, returns an object with a node Buffer along with the starting address. If the file contains discontinuous data, gaps are filled with zeroes automatically.
data: Buffer address: number
If no callback specified, returns a Promise
The "options" argument contains an object that can specify additional options:
progress:
A callback to monitor progress. Receives a number representing percentage complete. Only called when percentage changes.
info:
A callback to receive informational messages during parsing. Mostly for debug purposes.
Example
hex ;
writeFile(filename, address, data, options, callback~opt~)
Writes the buffer in "data" to file "filename", with starting address "address".
Optional callback or Promise resolution on completion (after flushing).
The "options" argument contains an object that can specify additional options:
progress:
A callback to monitor progress. Receives a number representing percentage complete. Only called when percentage changes.
Example
hex ;
setLineBytes(num)
Set the number of bytes per line to num. Default is 32.
bufferReader(data)
Returns an object that takes a Buffer and starting address and produces Intel Hex lines one at a time until complete.
// create readerlet br = hex; // pull next record stringbr // end of buffer?br // length of bufferbrlength // num bytes readbr