Skip to content
Node.JS LabJack MODBUS Markup parsing micro-library.
JavaScript
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
test
.gitignore
.npmignore
LICENSE
README.md
package.json

README.md

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.

Something went wrong with that request. Please try again.