All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
0.11.0 (2020-10-25)
- deps: bump color-string from 1.5.3 to 1.5.4 (3588aff)
- deps-dev: bump eslint from 7.10.0 to 7.11.0 (1fd6af1)
- deps-dev: bump sinon from 9.1.0 to 9.2.0 (#179) (a9ea21f)
- Added github action for testing board compilation (#176) (5847799)
- Move testing and coveralls to github actions (#178) (a49db6f), closes #177
0.10.5 (2020-10-05)
- linting: Added linting checks to the JS files to the repo (#169) (f32c302)
- utils: Removed debug msg and added release recipe (#172) (710f29d)
- ci: Add husky to repo with tests hooked correctly (#170) (e5e1a0e)
- ci: Updated node versions to 12 and 14 for current support for travis (#171) (01f120e)
- Additional make recipes to make life a bit easier (#174) (690d972)
- docs: Added changelog controls to standard-version to include other detail (#173) (0444aaa)
0.10.4 (2020-10-04)
0.10.3 (2020-10-04)
0.10.2 (2019-06-05)
- package: update johnny-five to version 1.0.0 (a43c8dc)
- Security updates to fix dependency security issues
- Updates for all major packages in the repo in order to bring back in line
- Build now passing for nodejs v10 and this has been added to build testing script
- Updates for johnny five and firmata and move firmata to peer dependency
- Breaking change with Sinon as a result of 3.0, needed to reactor tests as a result
- Range of other package updates bringing back into line.
- Range of general changes related to upstream package dependencies and bringing back into line.
- Example documentation updates to bring in line with the new
.length
API - thanks @rupl - Upgraded mockfirmata for testing
- Added capability for gamma correction for the strip. Currently set to no
correction by default, it can now be added as an initialisation parameter
gamma
. - Package updates for all dependencies
- Bug fixes:
- Made
pixel.off()
behaviour actually work properly as a result of test coverage - YAY Tests! - Better handling for the way exceptions are raised for range errors.
- Made
- Major update to tests
- Roll out of istanbul for code coverage testing
- Updates of tests to all work again properly with latest API due to drift
- Addition of new test for gamma value creation
- New test for ensuring
stripLength
throws an error - Removed redundant tests that were testing ColorString.
- Fixes to test messages to better indicate what they were testing.
- Large refactor to tests for exception handling
- Added test for pixel.off correctness.
- Tests for handling garbage colour values
- Added tests for handling wrapping / shifting conditions.
- Removed redundant checks in codebase where preconditions had to be met so checks were irrelevant
- Added tests for handling issues where strips are incorrectly initialised
- Achieved significant coverage improvement using Istanbul
- Added travis integration and integrated with gitter and coveralls.
- Added green keeper integration
- Fixes to all examples to bring in line with new
length
API and removal of deprecration notices as a result of this change. Thanks @The-Alchemist
- Fixes to testing setup - thanks @reconbot
- Put in error check to make sure the firmata firmware is capable of doing node-pixel stuff. Fixes #74
- Put in I2C write check to deal with specifically time outs on high bandwidth writes that appear to happen on RPi. Fixes #71 and
- Added
.off()
option to individual pixels. Completed: #61
- Moved all strip manipulation up to the level of the ws2812 library
in order to consolidate into a single array. This means that the
Strips
are now relatively dumb and just operate on the array they are passed which is ripe for further consolidation down the line. ( = more memory for pixels - YAY!) - Added a SHIFT operation to the protocol per #32 which is what required this large refactor above.
- Begun deprecation of
strip.stripLength()
and move tostrip.length
as the more logic alternative. 0.8 generates warning, 0.9 will throw error, 0.10 will have function removed - Added example
examples/repl
that exposesstrip
object so you can manipulate it from a repl environment
Thanks to @stevemao for the following:
- Updated strip color to consistently take arrays for the rgb model
- Made
Strip.off()
behaviour intuitive so it latches as soon as it's set and turns the strip off. - Updated package file to be able to run
npm test
- updated packages to bring dependency list up to scratch.
- removed es6-collections shim YAY ES6.
- Updated node-pixel-firmata with latest version of StandardFirmata (v2.5.3)
- Updated lib to use new color string api.
- Resolved issue with an osx segfault when trying to write too quickly after firmware returns
- Update to grunt file to now build and compile hexes to target MCU architecture
- Manifest file for interchange to be able to install to targets.
- Update of examples as needed.
- Fixed some default I2C address issues - thanks @frxnz
- Added
strip.off()
functionality and tests - thanks again @noopkat
- Documentation fixes around syntax highlighting thanks to @noopkat
- Modified maximum firmata to 192 pixels after profiling and lack of memory issue
- Strip multipin! You can now use and define multiple strips on different pins in the firmata and I2C backpack versions of node-pixel.
- Tests are starting to be laid in for any development. New features require tests to be built out as well from now on.
- Removed the AdaFruit lib and switched to lightweight lib with a number of modifications from https://github.com/cpldcpu/light_ws2812 (mostly removals of things we don't need because the JS side will take care of it).
- Added protocol changes to set the colour order of the strip so that you can use different types of pixels
- Added protocol changes to define multiple strips of varying legnths
- Interface to the virtual strip is singular and the C lib takes care of the mapping to the actual pixel required.
- Added
set_off()
in order to rapidly and efficiently wipe an entire strip of values back to zero in the firmware. - Implemented error checking for too many strips and too many pixels that would exceed memory limits in the firmware.
- Updated new examples and updated examples documentation properly incuding the updates to the master readme and installation guides. All examples have code in them as well as proper wiring diagrams.
- Package dependencies updated to bring into line.
- New tests for pixel lengths, strip maximums, ensuring calculations are correct.
- Fixed bug in backpack firmware that meant it was doing full scale serial debugging by default.
- Major refactor to deal with install and symlinking issues. Updates mean a Grunt task which is used to build the destination trees properly so the firmware can be compiled. This means better cross-platform support as well as no symlinking when npm installed the package. More details here #34
- New documentation added and installation instruction fixed.
- Grunt file used to do all building operations from a source tree to produce the relevant files in the right place for building
- renamed the examples to be more sensical.
- @pierceray contributed two examples porting "rainbow" behaviour with a static rainbow effect and a dynamic moving one.
- Various documentation updates to clean up errors.
- npm installation fixes - thanks @frxnz
- Documentation updates and bug fixes around Baudrate on backpack for RPi installation
- Thanks to @frxnz
- Added pin selection to the constructor in order to be able to set which pin you are using for the strip.
- Added custom I2C controller in pixel.js
- added custom I2C Backpack firmware.
- Removed ATTIny85 support due to bugginess.
- Updated all documentation including firmware install support etc.
- Restructure of the firmware folder ahead of providing backpack and native firmata controllers.
- Updated all of the package versions.
- Migration of all protocol messages to use firmata SYSEX commands with custom command set that will be viable when moving to I2C / SPI.
- Updates to Pixel lib to talk this protocol
- Optimisation of the SYSEX commands to ensure high bitrate (now at 150fps on test rig - up from 18)
- Removal of all the string processing code which drops hex file size from 20K to 11K
- documentation of protocol as it's being created.
- First implementation of Pixel library on JS side against firmata API
- big restructure of entire code base to work properly in ino and arduino
- Removal of 95% of all custom firmata messages and compression of existing messages in order to speed things up.
- Entire restructure of code library including ino support and structure to support no-dependency firmware compilation.
- Firmata only implementation
- Specific implementation in firmata to provide functions
- Naive implementation against Adafruit NP library.
- Initial build of library