resin-device-operations
v2.0.0
Published
Execute device spec operations
Downloads
4,077
Maintainers
Readme
resin-device-operations
Execute device spec operations.
Role
The intention of this module is to provide low level access to how Resin.io device specs configuration operations are executed.
THIS MODULE IS LOW LEVEL AND IS NOT MEANT TO BE USED BY END USERS DIRECTLY.
Installation
Install resin-device-operations
by running:
$ npm install --save resin-device-operations
Documentation
operations.execute(image, operations, options) ⇒ EventEmitter
This function returns an EventEmitter
object that emits the following events:
state (Object state)
: When an operation is going to be executed. The state object contains theoperation
and the progresspercentage
(0-100).stdout (String data)
: When an operation prints to stdout.stderr (String data)
: When an operation prints to stderr.burn (String state)
: When theburn
operation emits progress state.error (Error error)
: When an error happens.end
: When all the operations are completed successfully.
Kind: static method of operations
Summary: Execute a set of operations over an image
Access: public
| Param | Type | Description | | --- | --- | --- | | image | String | path to image | | operations | Array.<Object> | array of operations | | options | Object | configuration options |
Example
execution = operations.execute 'foo/bar.img', [
command: 'copy'
from:
partition:
primary: 1
path: '/bitstreams/parallella_e16_headless_gpiose_7010.bit.bin'
to:
partition:
primary: 1
path: '/parallella.bit.bin'
when:
coprocessorCore: '16'
processorType: 'Z7010'
,
command: 'copy'
from:
partition:
primary: 1
path: '/bistreams/parallella_e16_headless_gpiose_7020.bit.bin'
to:
partition:
primary: 1
path: '/parallella.bit.bin'
when:
coprocessorCore: '16'
processorType: 'Z7020'
],
coprocessorCore: '16'
processorType: 'Z7010'
execution.on('stdout', process.stdout.write)
execution.on('stderr', process.stderr.write)
execution.on 'state', (state) ->
console.log(state.operation.command)
console.log(state.percentage)
execution.on 'error', (error) ->
throw error
execution.on 'end', ->
console.log('Finished all operations')
Support
If you're having any problem, please raise an issue on GitHub and the Resin.io team will be happy to help.
Tests
Run the test suite by doing:
$ npm test
Contribute
- Issue Tracker: github.com/resin-io-modules/resin-device-operations/issues
- Source Code: github.com/resin-io-modules/resin-device-operations
Before submitting a PR, please make sure that you include tests, and that coffeelint runs without any warning:
$ gulp lint
License
The project is licensed under the Apache 2.0 license.