Breakout 0.2.1 available

Breakout v0.2.1 is now available from github and the Download page.

Most of the changes were under the hood. IOBoard was significantly refactored. Unit tests were added for the core Breakout files (I know… I know… but better late than never). Unit tests and lint checks are run automatically as part of the build process (Breakout/build/) so if you make any¬†contributions make sure unit tests and lint checks pass before submitting code. See the test readme for more info. Tests are not included in the Breakout release download, they are only included if you clone the source or download a the v0.2.1 tag from github.

Some notable changes:

  • A new method getAnalogPinCount was added to IOBoard to report the number of analog pins.
  • A new getter state¬†was added to Pin in order to report the current state of the pin. This is useful if you are running multiple client applications against a single board and want to inquire about the state on a particular pin on the board. For example if another client application is setting PWM on the board, you can call queryPinState(refToPinObject) and listen for the response. Then you can check the pin state to get the pwm value set by the other client application. See the docs for Pin.state for more info. Also note that pin.value is not = pin.state.
  • A removeFilter(filterToRemove) method was added to Pin to remove a specified filter from the Pin object.
  • Example files can now be opened directly (double-click on html file) in addition to being loaded for a server.
  • A new example was added to Breakout/custom_examples/ to demonstrate sending a JSON string from the Arduino to the client application using Firmata sendString. See custom_examples/simple_json and the corresponding Arduino sketch in custom_examples/sketches/.
  • Applications using custom firmware can now also make use of system reset callbacks. If you had previously writing custom firmware, note that you should update your code to listen for IOBoard.READY rather than IOBoard.CONNECTED see custom_examples/simple_json.html.

See the change log for the full list of updates.