ljmmm-parse
v0.2.6
Published
Library for parsing LabJack Modbus Map Markup documents.
Downloads
77
Readme
ljmmm-parse
LabJack Modbus Map Markup language parser micro-library for Node.js.
Installation
npm install ljmmm-parse
Usage
var ljmmm_parse = require('ljmmm-parse');
/**
* Logs
* [
* {name: 'Test0', address: 0, type: 'UINT32'},
* {name: 'Test1', address: 2, type: 'UNIT32'},
* {name: 'Another0', address: 0, type: 'UINT32'},
* {name: 'Another1', address: 2, type: 'UNIT32'}
* ]
**/
ljmmm_parse.expandLJMMMEntries(
[
{name: 'Test#(0:1)', address: 0, type: 'UINT32'},
{name: 'Another#(0:1)', address: 0, type: 'UINT32'}
]
function (err) { console.log(err); },
function (expandedEntries) { console.log(expandedEntries); }
);
/**
* Logs
* [
* {name: 'Test0', address: 0, type: 'UINT32'},
* {name: 'Test1', address: 2, type: 'UNIT32'}
* ]
**/
ljmmm_parse.expandLJMMMEntry(
{name: 'Test#(0:1)', address: 0, type: 'UINT32'},
function (err) { console.log(err); },
function (expandedEntries) { console.log(expandedEntries); }
);
// Logs ['Test0', 'Test1', 'Test2']
ljmmm_parse.expandLJMMMName(
'Test#(0:2)',
function (err) { console.log(err); },
function (expandedNames) { console.log(expandedNames); }
);
/**
* Also available:
*
* ljmmm_parse.expandLJMMMEntriesSync(listOfEntries);
* ljmmm_parse.expandLJMMMEntrySync(entry);
**/
License and Copyright
LabJack Corp, 2013
Sam Pottinger, 2013
Released under the MIT license.
Background and motivation
To standardize MODBUS map specification, LabJack developed LJMMM or LabJack Modbus Map Markup (see ljm_constants). To support software targeting LabJack devices written in Node, this library supports the interpretation of LJMMM fields.
Testing
Requires rewire (npm install rewire) and nodeunit (npm install nodeunit).
nodeunit ljmmm_test.js
Development environment and standards
This project maintains 80% code coverage at minimum and conforms to both jsDoc and Google JavaScript style guidelines.