resin-device-operations

2.0.0 • Public • Published

resin-device-operations

npm version dependencies Build Status Build status

Join our online chat at Gitter chat

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 the operation and the progress percentage (0-100).
  • stdout (String data): When an operation prints to stdout.
  • stderr (String data): When an operation prints to stderr.
  • burn (String state): When the burn 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

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.

Dependents (2)

Package Sidebar

Install

npm i resin-device-operations

Weekly Downloads

697

Version

2.0.0

License

Apache-2.0

Unpacked Size

43.5 kB

Total Files

16

Last publish

Collaborators

  • balena.io