gobot.io/x/gobot/v2@v2.1.0/CHANGELOG.md (about)

     1  # CHANGELOG
     2  
     3  ## [Unreleased](https://github.com/hybridgroup/gobot/compare/v2.1.0...HEAD)
     4  
     5  ## [v2.1.0](https://github.com/hybridgroup/gobot/compare/v2.0.3...v2.1.0) (2023-05-29)
     6  
     7  ### Build
     8  
     9  * **v2:** revert of [#927](https://github.com/hybridgroup/gobot/pull/927), no usage of a v2 subfolder anymore (issue [#920](https://github.com/hybridgroup/gobot/issues/920))
    10  
    11  ## [v2.0.3](https://github.com/hybridgroup/gobot/compare/v2.0.2...v2.0.3) (2023-05-24)
    12  
    13  * accidentally created release without any changes
    14  
    15  ## [v2.0.2](https://github.com/hybridgroup/gobot/compare/v2.0.1...v2.0.2) (2023-05-22)
    16  
    17  ### Build
    18  
    19  * **v2:** fix usage by moving code to a v2 subfolder ([#927](https://github.com/hybridgroup/gobot/pull/927))
    20  
    21  ## [v2.0.1](https://github.com/hybridgroup/gobot/compare/v2.0.0...v2.0.1) (2023-05-21)
    22  
    23  ### Build
    24  
    25  * **style:** add golangci-lint workflow configuration ([#916](https://github.com/hybridgroup/gobot/issues/916))
    26  * **style:** fix linter findings of "gosimple", "govet" and "staticcheck" ([#917](https://github.com/hybridgroup/gobot/issues/917))
    27  
    28  ### Bump
    29  
    30  * periph.io/x/conn/v3 from 3.6.10 to 3.7.0 ([#913](https://github.com/hybridgroup/gobot/issues/913))
    31  * github.com/gofrs/uuid from 4.3.0+incompatible to 4.4.0+incompatible ([#914](https://github.com/hybridgroup/gobot/issues/914))
    32  * golang.org/x/net from 0.1.0 to 0.10.0 ([#915](https://github.com/hybridgroup/gobot/issues/915))
    33  * github.com/nats-io/nats-server/v2 from 2.1.0 to 2.7.4 ([#906](https://github.com/hybridgroup/gobot/issues/906))
    34  
    35  ### Core
    36  
    37  * fix Semantic Import Versioning for v2 ([#921](https://github.com/hybridgroup/gobot/issues/921))
    38  
    39  ### Docs
    40  
    41  * **core:** adjust changelog generation ([#924](https://github.com/hybridgroup/gobot/issues/924))
    42  
    43  ## [v2.0.0](https://github.com/hybridgroup/gobot/compare/v1.16.0...v2.0.0) (2023-05-15)
    44  
    45  ### ble
    46  
    47  * update to TinyGo Bluetooth package v0.6.0 release
    48  
    49  ### build
    50  
    51  * update appveyor for go 1.19
    52  * switch to new cimg with golang 1.17
    53  * new home path for cimg
    54  * check examples in CI ([#884](https://github.com/hybridgroup/gobot/issues/884))
    55  * add tests of more platforms to CI
    56  * add configuration file for dependabot ([#907](https://github.com/hybridgroup/gobot/issues/907))
    57  * add PR template
    58  
    59  ### core
    60  
    61  * use base driver for all I2C devices
    62  * rename package "sysfs" to "system"
    63  * go.mod to 1.17 and all modules incl. code upgrades
    64  
    65  ## digispark
    66  
    67  * add example for generic i2c.Driver
    68  * fix i2c.ReadBlockData(), Read_Data() and some small other fixes
    69  
    70  ### dji tello
    71  
    72  * Halt does not terminate all the related goroutines and may wait forever when it is called multiple times
    73  
    74  ### docs
    75  
    76  * README for gpio, pwm, i2c and add example
    77  * document fields for flight data
    78  
    79  ### aio
    80  
    81  * analog sensor driver to prevent ReadValue() to get float64
    82  
    83  ### gopigo3
    84  
    85  * fix examples and driver
    86  
    87  ### gpio
    88  
    89  * add advanced digital pin options (pull, bias, drive, debounce, event)
    90  * add support for new character device Kernel ABI for GPIO
    91  * add read firmware version and DHT sensors for grovepi
    92  
    93  ### i2c
    94  
    95  * add generic i2c driver
    96  * fix I2C connection-bus caching and multiple device usage
    97  * introduce I2cBusAdaptor for composition in platforms
    98  * **Adafruit1109:** fix driver shows bad characters after Halt()
    99  * **ads1x15:** fix driver not working stable when reading multiple inputs
   100  * **ADXL345:** use ReadBlockData()
   101  * **bmxy8z:** use ReadBlockData
   102  * **BMP180, BMP280 BMP388 BME280:** use ReadBlockData()
   103  * **CCS811:** use ReadBlockData()
   104  * **HMC5883L:** fix I2C driver typo: change from HMC8553L
   105  * **HMC5883L:** fix driver returns wrong values
   106  * **L3GD20H:** fix full scale range usage
   107  * **MPL115A2:** use ReadBlockData(), WriteByteData()
   108  * **MPU6050:** fix wrong initialize and reduced temperature resolution
   109  * **PCA9501:** add driver
   110  * **PCA953x:** add driver
   111  * **PCF8583:** add driver
   112  * **TH02:** fix wrong register usage for read heater
   113  
   114  ### jetson nano
   115  
   116  * add Jetson Nano adpator
   117  * fix pwm feature
   118  
   119  ### joystick
   120  
   121  * add Xbox-One controller
   122  * add configuration for Nintendo Switch controllers ([#903](https://github.com/hybridgroup/gobot/issues/903))
   123  * add Dualsense joystick (PlayStation 5) ([#880](https://github.com/hybridgroup/gobot/issues/880))
   124  
   125  ### nanopi neo
   126  
   127  * add platform
   128  
   129  ### piblaster
   130  
   131  * add unused but missing interface implementation
   132  
   133  ### radxa rock pi 4(c+)
   134  
   135  * add platform ([#902](https://github.com/hybridgroup/gobot/issues/902))
   136  
   137  ### raspi
   138  
   139  * fix  pwm cache
   140  * fix Stopping and Starting Robot and LED Driver/LED does not toggle on restart
   141  
   142  ### spi
   143  
   144  * fix spi.SpiConnection is not gobot.Connection: missing method Connect
   145  * using GPIO's is now possible
   146  * **MFRC522:** add driver
   147  
   148  ### test
   149  
   150  * increase some timings to make tests a little less fragile
   151  * skip test TestNatsAdaptorFailedConnect when flaky
   152  * stabilize "every"-test
   153  * stabilize flaky utils_test
   154  * stabilize firmata tests
   155  * fix tests with sysfs mocks, ReadBlockData, WriteBlockData
   156  * fix keyboard tests and exclude opencv
   157  * fix PWM related read/write tests
   158  * add check for examples in Makefile
   159  
   160  ### tinkerboard
   161  
   162  * fix new pwm behaviour
   163  
   164  ### BREAKING CANGES
   165  
   166  * some interfaces moved, see folder system and adaptor.go
   167  
   168  ## [v1.16.0](https://github.com/hybridgroup/gobot/compare/v1.15.0...v1.16.0) (2022-05-02)
   169  
   170  ### bugfix
   171  
   172  * failing leftovers after usage of PR #569
   173  * Fix servo and DC motors presence
   174  * FIX the bug #568 without further impact, heavy improvements of tests
   175  * fixed PinMode, SetPullUp and SetPolarity, unit tests activated
   176  * ReadGPIO fixed with #576, failing leftovers for PinMode, SetPullUp and SetPolarity
   177  * helper_test ReadByteData, ReadWordData to use reg
   178  
   179  ### core
   180  
   181  * update uuid package and directly access it; remove archived uuid package
   182  
   183  ### digispark
   184  
   185  * fix ReadByte & WriteByte, rework and add i2c tests
   186  * remove useless code in i2c test
   187  
   188  ### drivers
   189  
   190  * add AnalogActuatorDriver, analog temperature sensor, driver for PCF8591 (with 400kbit stabilization), driver for YL-40
   191  * Adding support for hmc5883l compass
   192  * bmp388 fix missing address write byte in test of Measurements
   193  * drv2605l fix missing address write byte in test of Halt()
   194  * introduce adafruit1109 2x16 LCD with 5 keys
   195  * mcp23017: add mutex for write, hd44780: fix mutexes
   196  * MCP3004: correct number of channels
   197  
   198  ### raspi
   199  
   200  * fix raspi PWMPin.SetDutyCycle (#800)
   201  
   202  ### tello
   203  
   204  * Guards Dji Tello Halt against nil dereference
   205  
   206  ### test
   207  
   208  * don't panic on 'With*' allow simpler wrapping of drivers
   209  
   210  ### tinkerboard
   211  
   212  * fix tinkerboard i2c0 to i2c4, improve comments in pin map, improve README
   213  
   214  ## [v1.15.0](https://github.com/hybridgroup/gobot/compare/v1.14.0...v1.15.0) (2020-11-30)
   215  
   216  ### build
   217  
   218  * Switch to CircleCI
   219  
   220  ### ble
   221  
   222  * replace go-ble with tinygo bluetooth package, restore macOS functionality
   223  
   224  ### gpio
   225  
   226  * Update RelayDriver to invert value written on Inverted
   227  * Add tests for DigitalWrite value
   228  * Add support for HD44780 LCD controller
   229  * Add delay for Run function of StepperDriver
   230  
   231  ### spi
   232  
   233  * fixes #700 * Avoid to close the connection.
   234  
   235  ### i2c
   236  
   237  * add SHT2x device
   238  * add BMP388 Barometric Pressure/Temperature/Altitude Sensor
   239  
   240  ### pwm
   241  
   242  * Resolve issue with PWM for PWMWrite
   243  
   244  ### mqtt
   245  
   246  * Add method to publish MQTT messages with retain flag
   247  
   248  ### tello
   249  
   250  * Add graceful halt for Tello driver
   251  * Add Tello EDU driver
   252  
   253  ### keyboard
   254  
   255  * add symbol keys for platform/keyboard
   256  
   257  ### examples
   258  
   259  * Update ffmpeg command to decrease latency in tello example
   260  
   261  ## [v1.14.0](https://github.com/hybridgroup/gobot/compare/v1.13.0...v1.14.0) (2019-10-15)
   262  
   263  ### core
   264  
   265  * migrating from dep to go modules
   266  * update codegangsta to urfave (#690)
   267  
   268  ### docs
   269  
   270  * Fix a link in package docs' example code.
   271  
   272  ### examples
   273  
   274  * fixed broken imports due to changed path causing go get to fail
   275  
   276  ### gpio
   277  
   278  * Added ability to make a relay driver inverted (#674)
   279  
   280  ### opencv
   281  
   282  * Update to GoCV 0.21.0
   283  
   284  ### spi
   285  
   286  * Apa102 use default brightness (#671)
   287  
   288  ### tello
   289  
   290  * Updated videoPort for DJI Tello to 11111
   291  
   292  ## [v1.13.0](https://github.com/hybridgroup/gobot/compare/v1.12.0...v1.13.0) (2019-05-22)
   293  
   294  ### api
   295  
   296  * Initial stab at Robot-based work
   297  
   298  ### build
   299  
   300  * correct package version as suggested by @dlisin thanks
   301  * only build last 2 versions of Go plus tip for CI
   302  * Update dep script for AppVeyor
   303  * update deps to latest versions of dependencies for GoCV and others
   304  * Update Gopkg and add test dep to Travis YML
   305  * update OpenCV build script for OpenCV 4.1.0
   306  
   307  ### docs
   308  
   309  * update to remove Gitter and replace with Slack, and update copyright dates
   310  
   311  ### example
   312  
   313  * add missing nobuild header
   314  
   315  ### gpio
   316  
   317  * Add SparkFun’s EasyDriver (and BigEasyDriver)
   318  * Add unit tests for TH02 & Minor improvement
   319  * Added rudiementary support for TH02  Grove Sensor
   320  * pwm_pin * Fix DutyCycle() parse error, need to trim off trailing '\n' before calling strconv.Atoi(), as other functions in this package do
   321  * Simplify code as suggested in #617
   322  
   323  ### grovepi
   324  
   325  * add mutex to control transactionality of the device communication
   326  
   327  ### i2c
   328  
   329  * add 128x32 and 96x16 sizes to the i2c ssd1306 driver
   330  * build out the ccs811 driver
   331  * update PCA9685 driver to use same protocol as Adafruit Python lib
   332  
   333  ### leapmotion
   334  
   335  * Parser error in Pointable.Bases: Write test and fix
   336  * Update gobot leap platform to support Leap Motion API v6
   337  
   338  ### mavlink
   339  
   340  * fix mavlink README to use correct example code
   341  
   342  ### mqtt
   343  
   344  * Add some new MQTT adaptor functions with QOS
   345  * Allow setting QoS on MTT adaptor
   346  * make tests run correctly even when a local MQTT server is in fact running
   347  * Do not skip verification of root CA certificates by default InsecureSkipVerify
   348  
   349  ### nats
   350  
   351  * Update Go NATS client library import
   352  
   353  ### opencv
   354  
   355  * minor updates to opencv README
   356  * update to OpenCV 4.1.0
   357  
   358  ### sphero
   359  
   360  * Added methods to read Sphero Power States
   361  * Added some new features to the sphero ollie, bb-8 and sprkplus
   362  
   363  ### spi
   364  
   365  * correct param used for APA102 Draw() method
   366  * Stop using Red parameter for brightness value
   367  
   368  ### tello
   369  
   370  * add direct vector access
   371  * add example with keyboard
   372  * Change fps to 60
   373  * Check for error immediately and skip publish if error occurred
   374  * update FlightData struct
   375  
   376  ### up2
   377  
   378  * add support for built-in LEDs
   379  * correct i2c default bus information to match correct values
   380  * finalize docs for UP2 config steps
   381  * update README to include more complete setup information
   382  * useful constant values to access the built-in LEDs
   383  
   384  ## [v1.12.0](https://github.com/hybridgroup/gobot/compare/1.11.1...v1.12.0) (2018-08-27)
   385  
   386  ### api
   387  
   388  * further improvement of the modular API changes
   389  * modify Start() for more modular initialization, and add StartRaw() for completely custom API implementations
   390  * settled on StartWithoutDefaults() as the method to start API without default routes
   391  
   392  ### core
   393  
   394  * add Rescale utility function for straight linear rescaling
   395  
   396  ### digispark
   397  
   398  * add examples using digispark with i2c devices blinkm and mlp115a2
   399  * Added i2c to digispark, but not working yet
   400  * Added some tests for digispark i2c connector
   401  * Digispark i2c fixes, added Test for checking available addresses
   402  * remove test method that should not be in adaptor
   403  * remove test that is expected to ofail, but passes when digispark board is actually connected
   404  
   405  ### docs
   406  
   407  * add GrovePi to README
   408  * adjust order of badges in README
   409  * Fixing broken link
   410  
   411  ### examples
   412  
   413  * add example that uses both the API and also a custom handler with MJPEG streaming from an attached camera
   414  * small improvements to Tello examples
   415  * update Tello examples for main thread friendly macOS/Windows, add Tello face tracker
   416  
   417  ### i2c
   418  
   419  * add commands to JHD1313MDriver
   420  * add commands to PCA9685Driver
   421  * add missing methods so the GrovePi fully implements the Adaptor interface
   422  * add ShowImage() function to ssd1306 driver based on @mikegleasonjr suggestion
   423  * GrovePi digitalwrite implemented
   424  * implemented DigitalRead, DigitalWrite, and AnalogRead for GrovePi
   425  * improve godocs for PCA9685
   426  * mention that GrovePi requires running firmware 1.3.0
   427  * update GrovePi to v1.3.0 firmware
   428  * work in progress on GrovePi plus driver
   429  
   430  ### joystick
   431  
   432  * add config file for Magicsee R1 contributed by @carl-ranson
   433  * add some additional test coverage for file-based config
   434  * added error handling for config loading in joystick driver
   435  * mention need to be running a Linux kernel v4.14+ for controller mappings to work as expected
   436  * provide constant values for existing joystick configurations
   437  
   438  ### raspi
   439  
   440  * export PiBlasterPeriod in Adaptor
   441  
   442  ### spi
   443  
   444  * add ShowImage() function to ssd1306 driver based on @mikegleasonjr suggestion
   445  
   446  ### tello
   447  
   448  * specify end of msgType position
   449  * add handleResponse testing
   450  * Add motion cessation commands to Tello
   451  * handleResponse only needs an io.Reader
   452  * handleResponse should not send commands
   453  * rename reqConn to cmdConn
   454  * reqConn is only an io.WriteCloser
   455  * send Land() command to drone on Halt() to avoid floating mid-air
   456  
   457  ## [1.11.1](https://github.com/hybridgroup/gobot/compare/1.11.0...1.11.1) (2018-07-10)
   458  
   459  ### build
   460  
   461  * exclude vendor and other previously excluded subpackages
   462  * update Travis build to use OpenCV 3.4.2 release
   463  * update deps for GoCV to v0.14.0 release
   464  * Bump periph.io/x/periph to v3.0.0
   465  * update to Go 1.10.3 and 1.9.7 for Travis builds
   466  
   467  ### docs
   468  
   469  * Fix Leap Motion package link
   470  
   471  ### i2c
   472  
   473  * fix write/read gpio on mcp23017, and cleaned up some comments
   474  * correct pca9685 SetPWMFreq function scaling
   475  
   476  ### gopigo3
   477  
   478  * update with default spi values, cleanup
   479  
   480  ## [1.11.0](https://github.com/hybridgroup/gobot/compare/1.10.2...1.11.0) (2018-05-31)
   481  
   482  ### build
   483  
   484  * correct profile file location for codecov upload
   485  * Make Go Lint happier by adding some explicit type conversions and ignoring unused error returns
   486  * single quotes needed to upload any .cov file to codecov for reporting
   487  * update deps to latest versions for Paho MQTT, go-sdl, and gocv
   488  * upload any .cov file to codecov for reporting
   489  * use go 1.10.2 and 1.9.6 for Travis builds
   490  * add step to call dep ensure before contributing #524
   491  
   492  ### examples
   493  
   494  * correct events used by XBox360 joystick example
   495  
   496  ### firmata
   497  
   498  * Update the Firmata homepage in platform README
   499  
   500  ### gpio
   501  
   502  * Improve Stepper Driver
   503  * Initial support for MAX7219 (gpio) led driver
   504  
   505  ### joystick
   506  
   507  * full corrected ds3 and ds4 mappings plus examples to match for latest sdl 2.0.8
   508  * add instructions to README on how to install SDL on Linux from source
   509  * add missing type conversion
   510  * add new contributions to README
   511  * Add T-Flight Hotas X flight controoller
   512  * add xbox360 rock band drums controller
   513  * Correct Dualshock4 controller mappings and add ps/left/right buttons
   514  * correct test issue
   515  * exclude scanner from test builds
   516  * Fix joystick_driver to detect dpad input for xbox controllers
   517  * Update dualshock4.json to match joystick_dualshock4.go
   518  * update scanner to match go-sdl 0.3 API changes
   519  * Update the joystick driver test to read DPAD properly
   520  
   521  ### leapmotion
   522  
   523  * change timestamp to uint64 to fix #516
   524  
   525  ### tello
   526  
   527  * slow/fast mode switch function
   528  * StopLanding feature
   529  * Add Bounce() and PalmLand() funcs and their associated events.
   530  * bug fix
   531  * Change several fields in FlightData struct from int16 to bool
   532  * Export the FlightData fields (see Issue #531)
   533  
   534  ## [1.10.2](https://github.com/hybridgroup/gobot/compare/1.10.1...1.10.2) (2018-04-24)
   535  
   536  ### opencv
   537  
   538  * update GoCV to latest version
   539  
   540  ## [1.10.1](https://github.com/hybridgroup/gobot/compare/1.10.0...1.10.1) (2018-04-24)
   541  
   542  ### tello
   543  
   544  * improve support for DJI Tello drone, especially video
   545  
   546  ## [1.10.0](https://github.com/hybridgroup/gobot/compare/v1.9.0...1.10.0) (2018-04-20)
   547  
   548  ### docs
   549  
   550  * add gitter badge to readme
   551  
   552  ### gpio
   553  
   554  * AIP1640 led driver, used in Wemos D1 mini's matrix LED shield
   555  
   556  ### spi
   557  
   558  * switch to using periph.io for SPI interfaces
   559  * add support for ssd1306
   560  * add optional params such as bus/chip to all current drivers
   561  * complete refactoring to spi.Connection
   562  * remove unneeded code as suggested by @maruel
   563  * remove unneeded type and cleanup GoDocs
   564  
   565  ### ble
   566  
   567  * correct spelling error in function name
   568  
   569  ### build
   570  
   571  * update to latest version of Go 1.10 for Travis build
   572  
   573  ### cli
   574  
   575  * remove extra newline
   576  
   577  ### docs
   578  
   579  * add recently contributed GPIO devices to README
   580  
   581  ### joystick
   582  
   583  * able to configure joysticks without external json file
   584  * correct error in scanning script
   585  * correct events used by gamepad-style up/down/left/right buttons
   586  * correct scanner error from ID
   587  * removed double release event
   588  
   589  ### tello
   590  
   591  * add support for DJI Tello drone
   592  
   593  ## [v1.9.0](https://github.com/hybridgroup/gobot/compare/v1.8.0...v1.9.0) (2018-02-14)
   594  
   595  ### beaglebone
   596  
   597  * update pin naming, docs, and examples for the latest Debian OS releases
   598  
   599  ### opencv
   600  
   601  * update build settings needed to build OpenCV/GoCV as part of test suite
   602  * deps for latest GoCV v0.9.0
   603  
   604  ### build
   605  
   606  * update Travis build to use very latest Go versions
   607  
   608  ### docs
   609  
   610  * add references to new drivers for ADXL345, BH1750, and TM1638.
   611  * improve docs for installation and use of OpenCV/GoCV from Gobot
   612  * update copyright date to 2018
   613  
   614  ### gpio
   615  
   616  * Initial support for TM1638 modules
   617  
   618  ### i2c
   619  
   620  * Added basic driver for BH1750 (light sensor), board GY-302
   621  * support for accel ADXL345
   622  
   623  ### bb8/ollie/sprkplus
   624  
   625  * add Boost command
   626  * add Set Back LED Output command
   627  * add Set Raw Motor Values command
   628  * add Set Rotation Rate command
   629  * add Set Stabilization command
   630  
   631  ### test
   632  
   633  * Refactor TestAdaptorDigitalPinConcurrency test
   634  
   635  ## [v1.8.0](https://github.com/hybridgroup/gobot/compare/v1.7.1...v1.8.0) (2017-12-21)
   636  
   637  ### sysfs
   638  
   639  * pause briefly to allow udev rules to apply when exporting PWMPin
   640  
   641  ### beaglebone
   642  
   643  * correct uboot installation instructions
   644  * add SPI support
   645  * no more slots, add docs on configuring u-boot overlays
   646  * handle gpio pinmux without relying on specific pre-existing setup
   647  
   648  ### pocketbeagle
   649  
   650  * add support for PocketBeagle
   651  * use universal io cape manager to initialize board setup
   652  * improve docs for latest Debian OS
   653  
   654  ### build
   655  
   656  * Add dep, change how tests run in CI
   657  * update dependencies to latest GoCV version
   658  
   659  ### spi
   660  
   661  * Add MCP3002, MCP3202, MCP3204, MCP3208, MCP3304, MCP3004, and MCP3008 A/D converter drivers
   662  * adding initial support for APA102 LEDs, thanks to code sample from @rakyll
   663  * extract shared SPI init code into spi package
   664  
   665  ### up2
   666  
   667  * initial work on support for UP2 board
   668  
   669  ### gopigo3
   670  
   671  * fixed set/get bug with motor dps
   672  
   673  ### gpio
   674  
   675  * Adding stepper motor module
   676  
   677  ### firmata
   678  
   679  * handle cases where out of sync data is read from serial port on first connecting
   680  
   681  ### i2c
   682  
   683  * Change init payload sequence within jhd1313m1 driver Start() func.
   684  
   685  ## [v1.7.1](https://github.com/hybridgroup/gobot/compare/v1.7.0...v1.7.1) (2017-11-05)
   686  
   687  ### sprkplus
   688  
   689  * add new platform for Sphero SPRK+
   690  
   691  ### firmata
   692  
   693  * correct problem where last analog pin(s) were being ignored from capabilities query
   694  
   695  ### ble
   696  
   697  * use go-ble/ble fork for BLE interactions
   698  
   699  ### build
   700  
   701  * update to use latest OpenCV version
   702  * update to use latest Golang versions
   703  
   704  ## [v1.7.0](https://github.com/hybridgroup/gobot/compare/v1.6.1...v1.7.0) (2017-10-23)
   705  
   706  ### curie
   707  
   708  * Add Linux specific step to Intel Curie docs
   709  
   710  ### mqtt
   711  
   712  * Added SetCleanSession
   713  
   714  ### build
   715  
   716  * add go1.9 to versions tested in Travis CI
   717  * add missing OpenCV lib dependency
   718  * Update build to use latest Golang versions
   719  * Travis build will now require sudo to install due to OpenCV
   720  
   721  ### docs
   722  
   723  * some helpful edits for the initial spi implementation
   724  
   725  ### gopigo3
   726  
   727  * integration of recent GoPiGo3 contributions
   728  * Added grove support, and more gopigo3 examples
   729  
   730  ### gpio
   731  
   732  * Add ButtonDriver.DefaultState to allow for 'reverse' buttons (ones that go from HIGH to LOW)
   733  
   734  ### holystone
   735  
   736  * Add initial support for HS-200
   737  
   738  ### i2c
   739  
   740  * SSD1306.WithDisplayHeight() and SSD1306.WithDisplayWidth() for SSD1306 that use different display ratios
   741  
   742  ### joystick
   743  
   744  * add CLI utilty to scan display events to make it easier to add new joyticks
   745  * update README to address #441
   746  
   747  ### opencv
   748  
   749  * Switchover to use GoCV and OpenCV 3.3
   750  * Switch to use custom domain for GoCV package
   751  * all examples using new GoCV based code
   752  * correct formatting in face detect example
   753  * OpenCV face detector that is much more concurrent
   754  * update interface and examples to indicate multipurpose
   755  
   756  ## [v1.6.1](https://github.com/hybridgroup/gobot/compare/v1.6.0...v1.6.1) (2017-07-15)
   757  
   758  ### core
   759  
   760  * log failure errors on Robot Start()
   761  
   762  ### build
   763  
   764  * run test coverage with covermode=set
   765  * update build to use Golang 1.7.6 and 1.8.3
   766  
   767  ### docs
   768  
   769  * work on ROADMAP doc
   770  
   771  ### sysfs
   772  
   773  * increase test coverage
   774  
   775  ### bb8
   776  
   777  * use updated ble adaptor interface for tests
   778  
   779  ### ble
   780  
   781  * allow for characteristic writes both with and without a response
   782  * allow override of specific HCI device to use
   783  * eliminate race conditions from response handling
   784  
   785  ### curie
   786  
   787  * Implement Accelerometer, Gyroscope, and Temperature sensors implemented
   788  * motion detect implemented
   789  * shock detect implemented
   790  * step count implemented
   791  * tap detect implemented
   792  
   793  ### digispark
   794  
   795  * update blink example to display error message on Start()
   796  * update README with latest development info
   797  
   798  ### edison
   799  
   800  * auto-discovery of Edison board option
   801  * removed commented lines
   802  
   803  ### firmata
   804  
   805  * expose WriteSysex to external callers
   806  * adjust client test timeout values
   807  * cleanup error handling for connection code
   808  * client tests don't need so many goroutines
   809  * expose WriteSysex to external callers
   810  * improve connection code to use a proper timeout
   811  * increase test coverage
   812  * make it possible to test external devices that use firmata adaptor
   813  * refactoring firmata client
   814  * remove circular import in test
   815  * remove unused code, increase test coverage
   816  * return connect errors to client
   817  * switch to using go-serial package
   818  * Sysex response events now being handled as expected
   819  
   820  ### bme280
   821  
   822  * fix signed/unsigned bug
   823  * Fixed incorrect error condition check when reading the 'ctrl_hum' register.
   824  * Expanded the BME280 unit test for TestBME280DriverStart() to support reading from the 'ctrl_hum' register.
   825  * Enables humidity readings in the BME280 driver by enforcing the write to the 'ctrl_meas' register, as per Section 5.4.3 of the BME280 data sheet
   826  
   827  ### chip
   828  
   829  * Fixed PWM duty cycle calculation for C.H.I.P ServoWrite
   830  * Fixed PWM init bug for C.H.I.P
   831  * C.H.I.P PWM init robust for already enabled state
   832  
   833  ### i2c
   834  
   835  * remove unused test code
   836  * write config register in little endian
   837  
   838  ### joystick
   839  
   840  * add needed constants for all PS3 buttons
   841  
   842  ### littlewire
   843  
   844  * littlewire.cc links changed to littlewire.github.io
   845  
   846  ### mavlink
   847  
   848  * switch to using go-serial package
   849  
   850  ### megapi
   851  
   852  * switch to using go-serial package
   853  
   854  ### microbit
   855  
   856  * use updated ble adaptor interface for tests
   857  
   858  ### minidrone
   859  
   860  * add example for Parrot Mambo
   861  * add support for Mambo external accessories
   862  * increase test coverage
   863  * never expect responses for characteristic writes
   864  * remove unneeded code, increase test coverage
   865  * separate flight status processing and add test coverage
   866  
   867  ### neurosky
   868  
   869  * switch to using go-serial package
   870  
   871  ### ollie
   872  
   873  * use updated ble adaptor interface for tests
   874  
   875  ### sphero
   876  
   877  * switch to using go-serial package
   878  
   879  ### tinkerboard
   880  
   881  * Updated Tinkerboard and sysfs tests to updated PWM polarity contract
   882  
   883  ## [v1.6.0](https://github.com/hybridgroup/gobot/compare/v1.5.0...v1.6.0) (2017-06-15)
   884  
   885  ### Bb8
   886  
   887  * use updated ble adaptor interface for tests
   888  
   889  ### Ble
   890  
   891  * eliminate race conditions from response handling
   892  * allow for characteristic writes both with and without a response
   893  * allow override of specific HCI device to use
   894  
   895  ### Build
   896  
   897  * update build to use Golang 1.8.3
   898  * update build to use Golang 1.7.6 and 1.8.2
   899  * run test coverage with covermode=set
   900  
   901  ### Core
   902  
   903  * log failure errors on Robot Start()
   904  
   905  ### Curie
   906  
   907  * update docs formatting
   908  * add Curie to main README platform list
   909  * more improvements for README setup instructions
   910  * improve README info
   911  * improve tests and examples
   912  * increase test coverage
   913  * increase test coverage
   914  * motion detect implemented
   915  * tap detect implemented
   916  * step count implemented
   917  * shock detect implemented
   918  * Accelerometer, Gyroscope, and Temperature sensors implemented
   919  * WIP on adding support for Intel Curie IMU
   920  
   921  ### Digispark
   922  
   923  * update blink example to display error message on Start()
   924  * update README with latest development info
   925  
   926  ### Docs
   927  
   928  * add more wishlist to ROADMAP
   929  * add helpful information to examples themselves
   930  * correct installation instructions to match latest versions
   931  * more wishlish items for roadmap
   932  * update BLE connect info to latest
   933  * more work on ROADMAP doc
   934  * add first attempt at roadmap document
   935  
   936  ### Edison
   937  
   938  * refactor auto-discovery of Edison board option
   939  * removed commented lines
   940  
   941  ### Firmata
   942  
   943  * remove circular import in test
   944  * make it possible to test external devices that use firmata adaptor
   945  * Sysex response events now being handled as expected
   946  * expose WriteSysex to external callers
   947  * expose WriteSysex to external callers
   948  * cleanup error handling for connection code
   949  * improve connection code to use a proper timeout
   950  * remove unused code, increase test coverage
   951  * increase test coverage
   952  * switch to using go-serial package
   953  * return connect errors to client
   954  * client tests don't need so many goroutines
   955  * adjust client test timeout values
   956  * refactoring firmata client
   957  
   958  ### Fix
   959  
   960  * signed/unsigned bug
   961  
   962  ### Fixed
   963  
   964  * incorrect error condition check when reading the 'ctrl_hum' register. Expanded the BME280 unit test for TestBME280DriverStart() to support reading from the 'ctrl_hum' register.
   965  * PWM duty cycle calculation for C.H.I.P ServoWrite
   966  * PWM init bug for C.H.I.P
   967  
   968  ### I2c
   969  
   970  * remove unused test code
   971  
   972  ### Improved
   973  
   974  * BME280 humidity initialisation so that it does not override existing oversampling rates that have been set up for the ctrl_meas register.
   975  
   976  ### Issue
   977  
   978  * [#424](https://github.com/hybridgroup/gobot/issues/424): Enables humidity readings in the BME280 driver by enforcing the write to the 'ctrl_meas' register, as per Section 5.4.3 of the BME280 data sheet
   979  
   980  ### Joystick
   981  
   982  * add needed constants for all PS3 buttons
   983  
   984  ### Made
   985  
   986  * C.H.I.P PWM init robust for already enabled state
   987  
   988  ### Mavlink
   989  
   990  * switch to using go-serial package
   991  
   992  ### Megapi
   993  
   994  * switch to using go-serial package
   995  
   996  ### Microbit
   997  
   998  * use updated ble adaptor interface for tests
   999  
  1000  ### Minidrone
  1001  
  1002  * never expect responses for characteristic writes
  1003  * add example for Parrot Mambo
  1004  * separate flight status processing and add test coverage
  1005  * add support for Mambo external accessories
  1006  * remove unneeded code, increase test coverage
  1007  * increase test coverage
  1008  
  1009  ### Neurosky
  1010  
  1011  * switch to using go-serial package
  1012  
  1013  ### Ollie
  1014  
  1015  * use updated ble adaptor interface for tests
  1016  
  1017  ### Prepare
  1018  
  1019  * for v1.6.0 release
  1020  
  1021  ### Release
  1022  
  1023  * correct changelog incorrect section titles
  1024  
  1025  ### Sphero
  1026  
  1027  * switch to using go-serial package
  1028  
  1029  ### Sysfs
  1030  
  1031  * increase test coverage
  1032  
  1033  ### Updated
  1034  
  1035  * Tinkerboard and sysfs tests to updated PWM polarity contract
  1036  
  1037  ### Write
  1038  
  1039  * config register in little endian
  1040  
  1041  ## [v1.5.0](https://github.com/hybridgroup/gobot/compare/v1.4.0...v1.5.0) (2017-05-10)
  1042  
  1043  ### core
  1044  
  1045  * Add Running() methods for Master and Robot and increase test coverage accordingly
  1046  
  1047  ### sysfs
  1048  
  1049  * define DigitalPinnerProvider and PWMPinnerProvider interfaces
  1050  * add Chip to be able to change pwmchip, and some related refactoring
  1051  * add file read/write testing for failure conditions
  1052  * proper handling of busy state vs. other errors
  1053  * return sensible result when no valid data read
  1054  
  1055  ### test
  1056  
  1057  * increase coverage on test helpers
  1058  
  1059  ### build
  1060  
  1061  * switching to Travis builds using Ubuntu 14.04 Trusty
  1062  
  1063  ### aio
  1064  
  1065  * only need to support AnalogReader interface
  1066  * avoid test race conditions
  1067  * ensure that AnalogSensor event Data is always int
  1068  
  1069  ### gpio
  1070  
  1071  * only need to support DigitalReader/DigitalWriter interface
  1072  
  1073  ### i2c
  1074  
  1075  * Added support for the ADS1015 and ADS1115 ADCs
  1076  * Add INA3221 Voltage Monitor
  1077  * Ensure lock of i2c bus for each individual operation
  1078  * Small refactoring and increase test coverage for BMP180
  1079  
  1080  ### beaglebone
  1081  
  1082  * implement DigitalPinner and PWMPinner interfaces
  1083  * protect against pin map races
  1084  * increase test coverage
  1085  
  1086  ### chip
  1087  
  1088  * add preliminary support for C.H.I.P. Pro
  1089  * add back ServoWrite implementation
  1090  * implement DigitalPinnerProvider and PWMPinnerProvider interfaces
  1091  * protect against pin map races
  1092  
  1093  ### dragonboard
  1094  
  1095  * export DigitalPin and PWMPin adaptor methods
  1096  * protect against pin map races
  1097  * increase test coverage
  1098  
  1099  ### edison
  1100  
  1101  * auto-detect arduino breakout board, if no specific board is expected
  1102  * ensure that we initialize tristate if arduino breakout board
  1103  * export DigitalPin and PWMPin adaptor methods
  1104  * implement DigitalPinnerProvider and PWMPinnerProvider interfaces
  1105  * protect against pin map races
  1106  * refactoring to reduce code duplication
  1107  
  1108  ### firmata
  1109  
  1110  * remove processing that might have been eating test events, increase test coverage
  1111  
  1112  ### joule
  1113  
  1114  * implement DigitalPinnerProvider and PWMPinnerProvider interfaces
  1115  * protect against pin map races
  1116  * remove incorrect pin assignment and improve test coverage
  1117  * add examples using Joule with ADS1015 ADC
  1118  * naming system changes
  1119  * correct pin mappings and add PWM example
  1120  
  1121  ### mavlink
  1122  
  1123  * add a Mavlink-over-UDP adaptor.
  1124  
  1125  ### microbit
  1126  
  1127  * Add DigitalWriter, DigitalReader, and AnalogReader support using IOPinDriver
  1128  * Handle start error and increase test coverage
  1129  
  1130  ### mqtt
  1131  
  1132  * Add a (topic, payload) event type
  1133  * change the On handler to take mqtt.Message
  1134  * increase test coverage
  1135  * update examples that use mqtt for updated notification signature
  1136  
  1137  ### nats
  1138  
  1139  * change the On() handler to take the subject as an argument
  1140  * increase test coverage
  1141  
  1142  ### raspi
  1143  
  1144  * implement DigitalPinnerProvider and PWMPinnerProvider interfaces
  1145  * add implementation for PWMPinner interface that wraps pi blaster
  1146  * fix adaptor race conditions
  1147  * increase test coverage
  1148  
  1149  ### tinkerboard
  1150  
  1151  * Add support for ASUS Tinker Board
  1152  
  1153  ## [v1.4.0](https://github.com/hybridgroup/gobot/compare/v1.3.0...v1.4.0) (2017-04-12)
  1154  
  1155  ### core
  1156  
  1157  * Use 10-buffered chans for events, see #374
  1158  
  1159  ### i2c
  1160  
  1161  * Many refactors and increases in test coverage
  1162  * Eliminate race conditions introduced by tests
  1163  * Adds Altitude() function to BMP280/BME280
  1164  * bme280 driver Humidity compensation formula
  1165  * ssd1306 driver implementation
  1166  
  1167  ### aio
  1168  
  1169  * Eliminate race conditions introduced by tests
  1170  
  1171  ### gpio
  1172  
  1173  * Fix motor mode change when speed is set
  1174  * Eliminate race conditions introduced by tests
  1175  * Reduce test side effects
  1176  
  1177  ### ardrone
  1178  
  1179  * Increase test coverage
  1180  
  1181  ### audio
  1182  
  1183  * Increase test coverage
  1184  
  1185  ### bb8
  1186  
  1187  * Refactoring to use BLEConnector interface and provide tests
  1188  
  1189  ### bebop
  1190  
  1191  * Increase test coverage
  1192  
  1193  ### beaglebone
  1194  
  1195  * Increase test coverage
  1196  
  1197  ### ble
  1198  
  1199  * Increase test coverage for battery, device information, and generic access drivers
  1200  * Refactoring drivers to use BLEConnector interface and provide tests
  1201  
  1202  ### chip
  1203  
  1204  * Added PWM0 support
  1205  * Increase test coverage
  1206  
  1207  ### digispark
  1208  
  1209  * Increase test coverage
  1210  
  1211  ### dragonboard
  1212  
  1213  * Increase test coverage
  1214  
  1215  ### edison
  1216  
  1217  * Remove pointless error checking code
  1218  * Refactor digital pin creation process method
  1219  * Increase test coverage
  1220  
  1221  ### firmata
  1222  
  1223  * Eliminate race conditions introduced by tests
  1224  * Increase test coverage for i2c commands
  1225  
  1226  ### joule
  1227  
  1228  * Increase test coverage
  1229  
  1230  ### joystick
  1231  
  1232  * Increase test coverage
  1233  
  1234  ### keyboard
  1235  
  1236  * Increase test coverage
  1237  
  1238  ### mavlink
  1239  
  1240  * Eliminate race conditions introduced by tests
  1241  * Increase test coverage
  1242  
  1243  ### mavlink
  1244  
  1245  * Increase test coverage
  1246  
  1247  ### microbit
  1248  
  1249  * Refactoring to use BLEConnector interface and provide tests
  1250  * Address #404 by adding info about required magnetometer calibration step to README
  1251  * Increase test coverage
  1252  
  1253  ### minidrone
  1254  
  1255  * Refactoring to use BLEConnector interface and provide tests
  1256  
  1257  ### mqtt
  1258  
  1259  * Increase test coverage
  1260  
  1261  ### nats
  1262  
  1263  * Increase test coverage
  1264  
  1265  ### neurosky
  1266  
  1267  * Update neurosky README & example
  1268  * Eliminate race conditions introduced by tests
  1269  * Increase test coverage
  1270  
  1271  ### ollie
  1272  
  1273  * Refactoring to use BLEConnector interface and provide tests
  1274  * Correct race condition error on seq
  1275  * Increase test coverage
  1276  
  1277  ### opencv
  1278  
  1279  * Increase test coverage
  1280  
  1281  ### particle
  1282  
  1283  * Increase test coverage
  1284  
  1285  ### raspi
  1286  
  1287  * Address #391 by providing more details about normal development workflow
  1288  * Increase test coverage
  1289  
  1290  ### sphero
  1291  
  1292  * Eliminate race conditions
  1293  * Increase test coverage
  1294  
  1295  ### sysfs
  1296  
  1297  * Address race condition from udev rules when exporting GPIO pins
  1298  * Increase test coverage
  1299  
  1300  ### docs
  1301  
  1302  * Improve explanations for scp/ssh workflow on SoC boards
  1303  * Include entire Apache 2.0 license in the license text
  1304  
  1305  ### test
  1306  
  1307  * Add crude travis check for gofmt; format all sources
  1308  * Significantly speed up travis and make runs
  1309  * Remove test code no longer being called
  1310  * Update Travis to run tests using Golang 1.8.1
  1311  * Increase gobottest test coverage
  1312  
  1313  ## [v1.3.0](https://github.com/hybridgroup/gobot/compare/v1.2.1...v1.3.0) (2017-03-22)
  1314  
  1315  ### microbit
  1316  
  1317  * Add new platform support
  1318  
  1319  ### dragonboard
  1320  
  1321  * Add new platform support
  1322  
  1323  ### gpio
  1324  
  1325  * Increase test coverage
  1326  
  1327  ### i2c
  1328  
  1329  * Update list of supported i2c devices
  1330  * Minor adjustments and test coverage improvements
  1331  * Added more capabilities checks for I2C
  1332  * Removed smbus block operations
  1333  
  1334  ### core
  1335  
  1336  * Increase test coverage
  1337  
  1338  ### test
  1339  
  1340  * Improvements to run tests much faster thanks @maruel
  1341  * Use codecov.io for code coverage reporting
  1342  
  1343  ### docs
  1344  
  1345  * Update CoC based on Contributor Covenant
  1346  
  1347  ## [v1.2.1](https://github.com/hybridgroup/gobot/compare/v1.2.0...v1.2.1) (2017-02-16)
  1348  
  1349  ### Allow
  1350  
  1351  * NATS options to pass in the NATS adaptor for TLS support.
  1352  
  1353  ### Chip
  1354  
  1355  * correct docs to describe valid pin mappings
  1356  
  1357  ### Update
  1358  
  1359  * version to 1.2.1 for point release
  1360  
  1361  ## [v1.2.0](https://github.com/hybridgroup/gobot/compare/v1.1.0...v1.2.0) (2017-02-16)
  1362  
  1363  ### core
  1364  
  1365  * Use new improved default namer to avoid API conflicts
  1366  
  1367  ### gpio
  1368  
  1369  * Removed scaling function from servo driver
  1370  * Correct servo driver to pass along angle to adaptor to sort out implementation
  1371  
  1372  ### i2c
  1373  
  1374  * Refactored platforms and drivers to new I2C interfaces
  1375  * Change to make I2C support more than one bus
  1376  * Refactor drivers to support new optional params
  1377  
  1378  ### bb8
  1379  
  1380  * Added collision detection support and example
  1381  
  1382  ### beaglebone
  1383  
  1384  * Correct i2c buses to match actual mapping
  1385  
  1386  ### ble
  1387  
  1388  * Switch to using [ble](https://github.com/currantlabs/ble) package for Bluetooth LE
  1389  * Basic serial over BLE working with Arduino101 with StandardFirmataBLE
  1390  * WIP on multiple simultaneous ble devices
  1391  
  1392  ### chip
  1393  
  1394  * Fixed chip XIO base address lookup
  1395  
  1396  ### digispark
  1397  
  1398  * Fix #288 by using pkg-config to locate libusb-compat includes
  1399  
  1400  ### firmata
  1401  
  1402  * Remove race conditions identified in Firmata client
  1403  * Correct error in I2C reads not listening to board events
  1404  
  1405  ### mqtt
  1406  
  1407  * Add driver for syntactical sugar around virtual devices
  1408  * Add SSL/TLS client options support
  1409  * Fix #277 by adding SetAutoReconnect method to set Paho MQTT client
  1410  * Change both 'On' and 'Publish' method function signatures to match Eventer interface
  1411  
  1412  ### nats
  1413  
  1414  * Add driver to make it easier to create virtual devices
  1415  
  1416  ### ollie
  1417  
  1418  * Added collision detection support and example
  1419  
  1420  ### parrot
  1421  
  1422  * Add ValidatePitch helper function for Parrot Minidrone, Parrot Bebop & ARDrone 2.0 to package
  1423  
  1424  ### docs
  1425  
  1426  * Fix #363 by using atomic.Value to protect current values used by multiple goroutines in drone examples
  1427  
  1428  ### test
  1429  
  1430  * Remove Golang 1.5 from TravisCI tests in prep for Golang 1.8 release
  1431  
  1432  ## [v1.1.0](https://github.com/hybridgroup/gobot/compare/v1.0.0...v1.1.0) (2017-01-09)
  1433  
  1434  ### core
  1435  
  1436  * use canonical import path for sysfs package
  1437  
  1438  ### i2c
  1439  
  1440  * Add a driver for the SHT3X chip
  1441  * Add a driver for BMP180
  1442  * Add support for L3GD20H gyroscope
  1443  
  1444  ### firmata
  1445  
  1446  * Add support for TCPFirmata connections, allowing ESP8266 and other WiFi-connected controllers
  1447  * Add mention to README to use 'tty.' serial port on OSX
  1448  * Add mention of A4 and A5 normally unavailable on Firmata
  1449  
  1450  ### raspi
  1451  
  1452  * Correct README build instructions with missing 'go build' command
  1453  
  1454  ### snapcraft
  1455  
  1456  * Add the packaging metadata to build the gobot snap for Ubuntu Snappy
  1457  
  1458  ### particle
  1459  
  1460  * Update examples to take key params via command line
  1461  * Address #160 by adding support for tinker-servo sketch if installed on Particle device
  1462  
  1463  ### esp8266 add experimental ESP8266 support to list of supported platforms
  1464  
  1465  ### sysfs
  1466  
  1467  * Should fix #272 by using first byte of data as command register for I2C reads
  1468  * Some additional cleanup suggested by golint
  1469  
  1470  ### ble
  1471  
  1472  * Add generic access service driver
  1473  * Update docs to include reference to included drivers
  1474  * Move various test code to test file
  1475  
  1476  ### ollie
  1477  
  1478  * Refactoring so no need to expose internal implementation details
  1479  
  1480  ### bebop
  1481  
  1482  * Add support/example of RTP video
  1483  * Enable video on firmware 3.3+
  1484  * Update ps3 and video example to enable the video stream
  1485  * Update README for brief explanation of how to get drone video
  1486  * Corrected import paths for client examples
  1487  
  1488  ### bb8
  1489  
  1490  * Correct NewDriver params and set name
  1491  * Add missing constructor to wrap Ollie implementation
  1492  
  1493  ### minidrone
  1494  
  1495  * Update README with example and which specific models are currently supported
  1496  * Add all piloting flying state events
  1497  * Adds Emergency() and TakePicture() commands
  1498  
  1499  ### test
  1500  
  1501  * Add Golang 1.8beta2 to Travis builds
  1502  * Correct aio references for AnalogRead tests
  1503  
  1504  ## [v1.0.0](https://github.com/hybridgroup/gobot/compare/v0.13.0...v1.0.0) (2016-12-21)
  1505  
  1506  ### core
  1507  
  1508  * Refactoring to allow 'Metal' development using Gobot packages
  1509  * Able to run robots without being part of a Master.
  1510  * Now running all work in separate goroutines
  1511  * Rename internal name of Master type
  1512  * Refactor events to use channels all the way down.
  1513  * Eliminate potential race conditions from Events and Every functions
  1514  * Add Unsubscribe() to Eventer, now Once() works as expected
  1515  * DeleteEvent function added to Eventer interface
  1516  * Ranges over event channels instead of using select
  1517  * No longer return non-standard slices of errors, instead use hashicorp/go-multierror
  1518  * Ensure that all drivers have default names
  1519  * Now both Robot and Master operate using AutoRun as expected
  1520  * Use canonical import domain of gobot.io for all code
  1521  * Use time.Sleep unless waiting for a timeout in a select
  1522  * Uses time.NewTimer() instead of time.After() to be more efficient
  1523  
  1524  ### test
  1525  
  1526  * Add deps tasks to Makefile
  1527  * Add golang 1.7 to Travis CI tests
  1528  * Add golang 1.8beta1 to build matrix for Travis
  1529  * Reduce Travis builds to golang 1.4+ since it is late 2016 already
  1530  * Complete move of test interfaces into the test files where they belong
  1531  * Adds Parrot Minidrone and Sphero Ollie to Travis tests
  1532  
  1533  ### Add missing godocs for everything
  1534  
  1535  ### i2c
  1536  
  1537  * Move I2C drivers into appropriately named 'drivers/i2c' directory
  1538  * Add support for Adafruit Servo/PWM HAT
  1539  
  1540  ### gpio
  1541  
  1542  * Move GPIO drivers into appropriately named 'drivers/gpio' directory
  1543  * Add support for PIR motion detector
  1544  
  1545  ### beaglebone
  1546  
  1547  * auto-detect Linux kernel version
  1548  * map usr LEDs to match all kernels
  1549  
  1550  ### ble
  1551  
  1552  * Rename drivers to make them more obvious
  1553  * Add test placeholders
  1554  
  1555  ### chip
  1556  
  1557  * Auto-detect OS version to adjust pin mappings
  1558  * Correct base for new 4.4 GPIO
  1559  
  1560  ### edison
  1561  
  1562  * Support for other breakout boards besides Arduino
  1563  
  1564  ### firmata
  1565  
  1566  * Use io.ReadFull in platforms/firmata/client
  1567  * Update tarm/goserial to tarm/serial
  1568  
  1569  ### joule
  1570  
  1571  * Add support for Intel Joule
  1572  
  1573  ### megapi
  1574  
  1575  * Adding support for MakeBlock megapi
  1576  
  1577  ### nats
  1578  
  1579  * Add support for NATS server
  1580  
  1581  ### particle
  1582  
  1583  * Complete renaming Spark platform to Particle
  1584  
  1585  
  1586  ### parrot
  1587  * Move Parrot Minidrone into own platform
  1588  * Move both ARDrone and Bebop under Parrot package
  1589  
  1590  ### raspi
  1591  
  1592  * Add missing godocs and small refactors for platform
  1593  
  1594  ### sphero
  1595  
  1596  * Add initial support for Sphero BB-8 platform
  1597  * Move Sphero Ollie into own platform
  1598  
  1599  ## [v0.13.0](https://github.com/hybridgroup/gobot/compare/v0.12.1...v0.13.0) (2016-10-10)
  1600  
  1601  ### Add
  1602  
  1603  * PinMode test case
  1604  * PinMode func for MCP23017
  1605  * example for Edison blink demo without gobot initialization.
  1606  * ServoConfig to the FirmataAdaptor
  1607  * unit tests for ServoConfig
  1608  
  1609  ### Adding
  1610  
  1611  * support for MakeBlock megapi
  1612  * tests for the Adafruit driver, and corresponding minor driver changes.
  1613  * support for MakeBlock megapi
  1614  * a Servo example program for the Adafruit Servo Hat driver code.
  1615  * support for the Adafruit Servo/PWM HAT.  This required a slight refactor to the existing Motor HAT code to support multiple I2C addresses.
  1616  * two API funcs for the Adafruit driver with respect to the DC Motor, fleshing out the raspi_adafruit example with a runner function.
  1617  * the initial NATS platform support
  1618  
  1619  ### Another
  1620  
  1621  * attempt at correct Travis syntax for gnatsd -[#5](https://github.com/hybridgroup/gobot/issues/5)
  1622  * attempt at correct Travis syntax for gnatsd -[#4](https://github.com/hybridgroup/gobot/issues/4)
  1623  * attempt at correct Travis syntax for gnatsd -[#3](https://github.com/hybridgroup/gobot/issues/3)
  1624  * attempt at correct Travis syntax for gnatsd -[#2](https://github.com/hybridgroup/gobot/issues/2)
  1625  * attempt at correct Travis syntax for gnatsd
  1626  
  1627  ### Ble
  1628  
  1629  * fix unused var
  1630  * populate descriptors after descovering characterisitcs
  1631  
  1632  ### Bug
  1633  
  1634  * fix in the Adafruit stepper code, specifically with respect to the AdafruitDouble step-style.
  1635  
  1636  ### Code
  1637  
  1638  * cleanups suggested by gosimple
  1639  
  1640  ### Core
  1641  
  1642  * update README with an example of 'Metal' Gobot
  1643  * should correct occasional test errors due to event overlap with test
  1644  * correct behavior in Mavlink driver, correct tests to match
  1645  * Add Unsubscribe() to eventer, now Once() works as expected
  1646  * Add further tests for Eventer
  1647  * cleanup comments on Eventer interface
  1648  * function DeleteEvent added to Eventer interface
  1649  * Refactor tests to allow 'metal' development using Gobot adaptors/drivers.
  1650  * Refactor tests to allow 'metal' development using Gobot adaptors/drivers.
  1651  * Refactor tests to allow 'metal' development using Gobot adaptors/drivers.
  1652  * Refactor examples to allow 'metal' development using Gobot adaptors/drivers.
  1653  * Refactoring to allow 'metal' development using Gobot adaptors/drivers.
  1654  * Continue refactoring to allow 'metal' development using Gobot libs.
  1655  * Refactor events to use channels all the way down. Allows 'metal' development using Gobot libs.
  1656  * update README with an example of 'Metal' Gobot
  1657  * should correct occasional test errors due to event overlap with test
  1658  * correct behavior in Mavlink driver, correct tests to match
  1659  * Add Unsubscribe() to eventer, now Once() works as expected
  1660  * Add further tests for Eventer
  1661  * cleanup comments on Eventer interface
  1662  * function DeleteEvent added to Eventer interface
  1663  * Refactor tests to allow 'metal' development using Gobot adaptors/drivers.
  1664  * Refactor tests to allow 'metal' development using Gobot adaptors/drivers.
  1665  * Refactor tests to allow 'metal' development using Gobot adaptors/drivers.
  1666  * Refactor examples to allow 'metal' development using Gobot adaptors/drivers.
  1667  * Refactoring to allow 'metal' development using Gobot adaptors/drivers.
  1668  * Continue refactoring to allow 'metal' development using Gobot libs.
  1669  * Refactor events to use channels all the way down. Allows 'metal' development using Gobot libs.
  1670  
  1671  ### Docs
  1672  
  1673  * go fmt files that needed it from recent changes
  1674  * go fmt files that needed it from recent changes
  1675  
  1676  ### File
  1677  
  1678  * rename, adding a test file for the Adafruit driver, and slight func naming changes.
  1679  * rename, adding a test file for the Adafruit driver, and slight func naming changes.
  1680  
  1681  ### Fix
  1682  
  1683  * a typo and update the doc comment for FirmataAdaptor.ServoConfig
  1684  * the ServoConfig byte order
  1685  * issues flagged by 'go vet'
  1686  * misspellings
  1687  
  1688  ### Fixing
  1689  
  1690  * some code and finally have Travis building
  1691  * tests, adding a few more, adding nats server to Travis CI for testing
  1692  
  1693  ### Initial
  1694  
  1695  * significant changes to the Adafruit Motor HAT driver to support Stepper Motors.
  1696  * commit of driver code, with accompanying example, for the Adafruit_MotorHat.
  1697  
  1698  ### Joule
  1699  
  1700  * add i2c example and notes to README about pullup resistors
  1701  * adds pin mappings from the second header
  1702  * add pin mapping info to README
  1703  * go fmt the multi-LED example
  1704  
  1705  ### Merge
  1706  
  1707  * branch 'dev' of github.com:jfinken/gobot into dev
  1708  * branch 'dev' of github.com:jfinken/gobot into dev
  1709  
  1710  ### Misc
  1711  
  1712  * update all LICENSE files for current year
  1713  
  1714  ### More
  1715  
  1716  * explicit initialization in Start, slight refactor, and separate DC Motor and Stepper Motor examples.
  1717  
  1718  ### Move
  1719  
  1720  * interface assertions to test files.
  1721  
  1722  ### Release
  1723  
  1724  * update to version 0.13.0
  1725  
  1726  ### Remove
  1727  
  1728  * debug message from i2c_device.go
  1729  
  1730  ### Removing
  1731  
  1732  * the raspi_adafruit program as it has been split into three separate programs, removing my Makefile for the raspi adafruit programs, and fixing up a few comments.
  1733  * my fork from the Adafruit tests.
  1734  
  1735  ### Starting
  1736  
  1737  * support for Intel Joule with the built-in LEDs and more
  1738  
  1739  ### Test
  1740  
  1741  * add golang 1.7 to Travis CI tests
  1742  * add golang 1.7 to Travis CI tests
  1743  
  1744  ### Tests
  1745  
  1746  * complete move of test interfaces into the test files where they belong
  1747  * refactor test interfaces out of implementations and into the tests where they belong
  1748  
  1749  ### Update
  1750  
  1751  * READMEs with up to date info for Edison/Joule
  1752  
  1753  ### Updating
  1754  
  1755  * platform support info
  1756  
  1757  
  1758  ## [v0.12.1](https://github.com/hybridgroup/gobot/compare/v0.12.0...v0.12.1) (2016-07-13)
  1759  
  1760  ### A
  1761  
  1762  * little more WIP, can open a connection to a specific peripheral
  1763  
  1764  ### Add
  1765  
  1766  * MQTT authentication support
  1767  * MQTT authentication support
  1768  * Go Reportcard badge for fun
  1769  * Go Reportcard badge for fun
  1770  
  1771  ### Added
  1772  
  1773  * example of how to use temp36 temperature sensor with firmata
  1774  * example of how to use temp36 temperature sensor with firmata
  1775  
  1776  ### Adds
  1777  
  1778  * support for Dualshock4 wireless gamepad
  1779  * support for Dualshock4 wireless gamepad
  1780  
  1781  ### Allow
  1782  
  1783  * failures in Travis builds for Golang 1.3 due to SDL changes
  1784  
  1785  ### Almost
  1786  
  1787  * reading battery info
  1788  
  1789  ### BLE
  1790  
  1791  * seems to require Golang 1.4+
  1792  
  1793  ### Can
  1794  
  1795  * see BLE devices, and connect to a specific one
  1796  
  1797  ### Change
  1798  
  1799  * default value for PCMD flag to match the Bebop 2.0.57+ expectations
  1800  * default value for PCMD flag to match the Bebop 2.0.57+ expectations
  1801  * test delay to 50ms
  1802  * test delay to 50ms
  1803  
  1804  ### Code
  1805  
  1806  * cleanup, improve go report card
  1807  * cleanup, improve go report card
  1808  
  1809  ### Fix
  1810  
  1811  * specs
  1812  * specs
  1813  * for analog (quick changes lag)
  1814  * for analog (quick changes lag)
  1815  * [#201](https://github.com/hybridgroup/gobot/issues/201) by add 'make examples' command to Makefile
  1816  * mavlink link typo
  1817  
  1818  ### Fixes
  1819  
  1820  * failing test
  1821  * failing test
  1822  
  1823  ### Go
  1824  
  1825  * fmt the code
  1826  
  1827  ### Increase
  1828  
  1829  * hover time and remove cruft from simple Bebop drone example
  1830  * hover time and remove cruft from simple Bebop drone example
  1831  
  1832  ### Introduce
  1833  
  1834  * `gobottest` package with test helpers
  1835  * `gobottest` package with test helpers
  1836  
  1837  ### Make
  1838  
  1839  * dev branch target more explicit
  1840  
  1841  ### Making
  1842  
  1843  * sure tests pass
  1844  
  1845  ### Merge
  1846  
  1847  * branch 'feature/audio' into dev
  1848  * branch 'bugfix/gpio-button-tests' into dev
  1849  * branch 'feature/ble' into feature/ble-wip
  1850  
  1851  ### More
  1852  
  1853  * WIP on reading characteristics
  1854  
  1855  ### Pin
  1856  
  1857  * 229 value left out of test fixture on edison
  1858  
  1859  ### Refactor
  1860  
  1861  * to use `gobottest` test helpers
  1862  * to use `gobottest` test helpers
  1863  
  1864  ### Remove
  1865  
  1866  * fmt no longer used here
  1867  * commented lines
  1868  * test code
  1869  
  1870  ### Resolve
  1871  
  1872  * merge conflicts
  1873  * merge conflict in Travis CI file
  1874  
  1875  ### Simple
  1876  
  1877  * implementation that can read data
  1878  
  1879  ### Support
  1880  
  1881  * gpio pin turn on and off
  1882  * gpio pin turn on and off
  1883  
  1884  ### Switching
  1885  
  1886  * to currantlabs fork of gatt, and some related refactoring
  1887  
  1888  ### Test
  1889  
  1890  * generated error messages as well
  1891  * generated error messages as well
  1892  
  1893  ### Tests
  1894  
  1895  * also need to be pointed to [@veandco](https://github.com/veandco) go-sdl2 fork
  1896  
  1897  ### Update
  1898  
  1899  * to 0.12.1
  1900  * missing changelog entries
  1901  * missing changelog entries
  1902  * ARDrone face tracking example to use main go-opencv fork
  1903  
  1904  ### Use
  1905  
  1906  * main go-sdl fork from [@veandco](https://github.com/veandco) to pickup any upstream changes
  1907  * OpenCV 2.4, as well as switch to main fork of go-opencv
  1908  * Seek to speed up read/write in sysfs
  1909  
  1910  ### WIP
  1911  
  1912  * on BLE
  1913  
  1914  ## [v0.12.0](https://github.com/hybridgroup/gobot/compare/v.0.11.1...v0.12.0) (2016-07-13)
  1915  
  1916  ### Refactor Gobot test helpers into separate package
  1917  
  1918  ### Improve Gobot.Every method to return channel, allowing it to be halted
  1919  
  1920  ### Refactor of sysfs adds substantial speed improvements
  1921  
  1922  ### ble
  1923  
  1924  * Experimental support for Bluetooth LE.
  1925  * Initial support for Battery & Device Information services
  1926  * Initial support for Sphero BLE robots such as Ollie
  1927  * Initial support for Parrot Minidrone
  1928  
  1929  ### audio
  1930  
  1931  * Add new platform for Audio playback
  1932  
  1933  ### gpio
  1934  
  1935  * Support added for new GPIO device:
  1936  * RGB LED
  1937  * Bugfixes:
  1938  * Correct analog to better handle quick changes
  1939  * Correct handling of errors and buffering for Wiichuk
  1940  
  1941  ### mqtt
  1942  
  1943  * Add support for MQTT authentication
  1944  
  1945  ### opencv
  1946  
  1947  * Switching to use main fork of OpenCV
  1948  * Some minor bugfixes related to face tracking
  1949  
  1950  ## [v.0.11.1](https://github.com/hybridgroup/gobot/compare/v0.11.0...v.0.11.1) (2016-02-17)
  1951  
  1952  ### Add
  1953  
  1954  * support for 'hand' and 'gesture' Leap Motion events
  1955  * MMA7660 accelerometer example for C.H.I.P.
  1956  * C.H.I.P. to supported platforms
  1957  * support for the CHIP platform
  1958  * MCP23017 write and read functionality to GPIO
  1959  
  1960  ### Adds
  1961  
  1962  * MCP23017 i2c device to README
  1963  * additional examples for C.H.I.P.
  1964  
  1965  ### Better
  1966  
  1967  * I2C device descriptions in README
  1968  
  1969  ### Correct
  1970  
  1971  * the release command sent to pi-blaster.
  1972  * Intel Edison docs location thanks to [@seanmarcia](https://github.com/seanmarcia)
  1973  
  1974  ### Default
  1975  
  1976  * the new MQTT 'AutoReconnect' to false
  1977  
  1978  ### Failure
  1979  
  1980  * is no longer an option for Go 1.6
  1981  
  1982  ### Fix
  1983  
  1984  * [#236](https://github.com/hybridgroup/gobot/issues/236) & fix [#239](https://github.com/hybridgroup/gobot/issues/239) by correcting initialization and temperature conversion for MPU-6050
  1985  
  1986  ### Fixed
  1987  
  1988  * event race condition
  1989  
  1990  ### Get
  1991  
  1992  * I2C functionality before doing SMBus block I/O
  1993  
  1994  ### Golang
  1995  
  1996  * 1.3.3 still works, adding back to build
  1997  
  1998  ### Increase
  1999  
  2000  * button delay hack for test suite
  2001  * test delay hack for button tests
  2002  
  2003  ### Name
  2004  
  2005  * C.H.I.P. pins according to printed names
  2006  
  2007  ### Need
  2008  
  2009  * to explicitly set content type to text/html for Robeaux main page
  2010  
  2011  ### No
  2012  
  2013  * coveralls repo token for provate repos?
  2014  
  2015  ### Remove
  2016  
  2017  * coveralls badge
  2018  
  2019  ### Run
  2020  
  2021  * builds against the latest major releases
  2022  
  2023  ### The
  2024  
  2025  * take-off-before-event-handling bug again
  2026  
  2027  ### Trying
  2028  
  2029  * to remove coveralls based code coverage
  2030  * conditional build before_install
  2031  * conditional build
  2032  
  2033  ### Update
  2034  
  2035  * version to v.0.11.1
  2036  * version to 0.11
  2037  * MQTT README for latest info
  2038  * targeted golang versions to include 1.6, and to begin deprecating 1.3.3 and earlier
  2039  * coveralls badge in README
  2040  * API example
  2041  
  2042  ### Use
  2043  
  2044  * newer naming system for C.H.I.P. pins
  2045  
  2046  ### What
  2047  
  2048  * about -v
  2049  
  2050  ### Why
  2051  
  2052  * do this twice?
  2053  
  2054  ## [v0.11.0](https://github.com/hybridgroup/gobot/compare/0.10.0...v0.11.0) (2016-02-17)
  2055  
  2056  ### Support for Golang 1.6
  2057  
  2058  ### Determine I2C adaptor capabilities dynamically to avoid use of block I/O when unavailable
  2059  
  2060  ### chip
  2061  
  2062  * Add support for GPIO & I2C interfaces on C.H.I.P. $9 computer
  2063  
  2064  ### leap motion
  2065  
  2066  * Add support additional "hand" and "gesture" events
  2067  
  2068  ### mqtt
  2069  
  2070  * Support latest update to Eclipse Paho MQTT client library
  2071  
  2072  ### raspberry pi
  2073  
  2074  * Proper release of Pi Blaster for PWM pins
  2075  
  2076  ### bebop
  2077  
  2078  * Prevent event race conditions on takeoff/landing
  2079  
  2080  ### i2c
  2081  
  2082  * Support added for new i2c device:
  2083  * MCP23017 Port Expander
  2084  * Bugfixes:
  2085  * Correct init and data parsing for MPU-6050
  2086  * Correct handling of errors and buffering for Wiichuk
  2087  
  2088  ## [0.10.0](https://github.com/hybridgroup/gobot/compare/0.8.2...0.10.0) (2015-10-27)
  2089  
  2090  ### Refactor core to cleanup robot initialization and shutdown
  2091  
  2092  ### Remove unnecessary goroutines spawned by NewEvent
  2093  
  2094  ### api
  2095  
  2096  * Update Robeaux to v0.5.0
  2097  
  2098  ### bebop
  2099  
  2100  * Add support for the Parrot Bebop drone
  2101  
  2102  ### keyboard
  2103  
  2104  * Add support for keyboard control
  2105  
  2106  ### gpio
  2107  
  2108  * Support added for 10 new Grove GPIO devices:
  2109  * Grove Touch Sensor
  2110  * Grove Sound Sensor
  2111  * Grove Button
  2112  * Grove Buzzer
  2113  * Grove Led
  2114  * Grove Light Sensor
  2115  * Grove Vibration Sensor
  2116  * Grove Rotary
  2117  * Grove Relay
  2118  * Grove Temperature Sensor
  2119  
  2120  ### i2c
  2121  
  2122  * Support added for 2 new Grove i2c devices:
  2123  * Grove Accelerometer
  2124  * Grove LCD with RGB backlit display
  2125  
  2126  ### docs
  2127  
  2128  * Many useful fixes and updates for docs, mostly contributed by our wonderful community.
  2129  
  2130  ## [0.8.2](https://github.com/hybridgroup/gobot/compare/0.8.1...0.8.2) (2015-06-30)
  2131  
  2132  ### firmata
  2133  
  2134  * Refactor firmata adaptor and split firmata protocol implementation into sub `client` package
  2135  
  2136  ### gpio
  2137  
  2138  * Add support for LIDAR-Lite
  2139  
  2140  ### raspi
  2141  
  2142  * Add PWM support via pi-blaster
  2143  
  2144  ### sphero
  2145  
  2146  * Add `ConfigureLocator`, `ReadLocator` and `SetRotationRate`
  2147  
  2148  ## [0.8.1](https://github.com/hybridgroup/gobot/compare/0.8...0.8.1) (2014-12-28)
  2149  
  2150  ### spark
  2151  
  2152  * Add support for spark Events, Functions and Variables
  2153  
  2154  ### sphero
  2155  
  2156  * Add `SetDataStreaming` and `ConfigureCollisionDetection` methods
  2157  
  2158  ## [0.8](https://github.com/hybridgroup/gobot/compare/0.7.1...0.8) (2014-12-24)
  2159  
  2160  ### Refactor core, gpio, and i2c interfaces
  2161  
  2162  ### Correctly pass errors throughout packages and remove all panics
  2163  
  2164  ### Numerous bug fixes and performance improvements
  2165  
  2166  ### api
  2167  
  2168  * Update robeaux to v0.3.0
  2169  
  2170  ### firmata
  2171  
  2172  * Add optional io.ReadWriteCloser parameter to FirmataAdaptor
  2173  * Fix `thread exhaustion` error
  2174  
  2175  ### cli
  2176  
  2177  * generator
  2178  
  2179  *  Update generator for new adaptor and driver interfaces
  2180  
  2181  *  Add driver, adaptor and project generators
  2182  
  2183  *  Add optional package name parameter
  2184  
  2185  ## [0.7.1](https://github.com/hybridgroup/gobot/compare/0.7...0.7.1) (2014-11-17)
  2186  
  2187  ### opencv
  2188  
  2189  * Fix pthread_create issue on Mac OS
  2190  
  2191  ## [0.7](https://github.com/hybridgroup/gobot/compare/0.6.3...0.7) (2014-11-10)
  2192  
  2193  ### Dramatically increased test coverage and documentation
  2194  
  2195  ### api
  2196  
  2197  * Conform to the [cppp.io](https://gobot.io/x/cppp-io) spec
  2198  * Add support for basic middleware
  2199  * Add support for custom routes
  2200  * Add SSE support
  2201  
  2202  ### ardrone
  2203  
  2204  * Add optional parameter to specify the drones network address
  2205  
  2206  ### core
  2207  
  2208  * Add `Once(e *Event, f func(s interface{})` Event function
  2209  * Rename `Expect` to `Assert` and add `Refute` test helper function
  2210  
  2211  ### i2c
  2212  
  2213  * Add support for MPL115A2
  2214  * Add support for MPU6050
  2215  
  2216  ### mavlink
  2217  
  2218  * Add support for `common` mavlink messages
  2219  
  2220  ### mqtt
  2221  
  2222  * Add support for mqtt
  2223  
  2224  ### raspi
  2225  
  2226  * Add support for the Raspberry Pi
  2227  
  2228  ### sphero
  2229  
  2230  * Enable stop on sphero disconnect
  2231  * Add `Collision` data struct
  2232  
  2233  ### sysfs
  2234  
  2235  * Add generic linux filesystem gpio implementation
  2236  
  2237  ## [0.6.3](https://github.com/hybridgroup/gobot/compare/0.6.2...0.6.3) (2014-09-24)
  2238  
  2239  ### Add support for the Intel Edison
  2240  
  2241  ## [0.6.2](https://github.com/hybridgroup/gobot/compare/0.6.1...0.6.2) (2014-07-28)
  2242  
  2243  ### cli
  2244  
  2245  * Fix typo in generator
  2246  
  2247  ### leap
  2248  
  2249  * Fix incorrect Port reference
  2250  * Fix incorrect Event name
  2251  
  2252  ### neurosky
  2253  
  2254  * Fix incorrect Event names
  2255  
  2256  ### sphero
  2257  
  2258  * Correctly format output of GetRGB
  2259  
  2260  ## [0.6.1](https://github.com/hybridgroup/gobot/compare/0.6...0.6.1) (2014-07-12)
  2261  
  2262  ### cli
  2263  
  2264  * Fix template error in generator
  2265  
  2266  ## [0.6](https://github.com/hybridgroup/gobot/compare/0.5.2...0.6) (2014-07-11)
  2267  
  2268  ### api
  2269  
  2270  * Add robeaux support
  2271  
  2272  ### core
  2273  
  2274  * Refactor `Connection` and `Device`
  2275  * Connections are now a collection of Adaptors
  2276  * Devices are now a collection of Drivers
  2277  * Add `Event(string)` function instead of `Events[string]` for retrieving Driver event
  2278  * Add `AddEvent(string)` function to register an event on a Driver
  2279  
  2280  ### firmata
  2281  
  2282  * Fix slice bounds out of range error
  2283  
  2284  ### sphero
  2285  
  2286  * Fix issue where the driver would not halt correctly on OSX
  2287  
  2288  ## [0.5.2](https://github.com/hybridgroup/gobot/compare/0.5.1...0.5.2) (2014-06-30)
  2289  
  2290  ### beaglebone
  2291  
  2292  * Add `DirectPinDriver`
  2293  * Ensure slots are properly loaded
  2294  
  2295  ## [0.5.1](https://github.com/hybridgroup/gobot/compare/0.5...0.5.1) (2014-06-28)
  2296  
  2297  ### core
  2298  
  2299  * Add `Version()` function for Gobot version retrieval
  2300  
  2301  ### firmata
  2302  
  2303  * Fix issue with reading analog inputs
  2304  * Add `data` event for `AnalogSensorDriver`
  2305  
  2306  ## [0.5](https://github.com/hybridgroup/gobot/compare/0.4...0.5) (2014-06-17)
  2307  
  2308  ### Idomatic clean up
  2309  
  2310  * Removed reflections throughout packages
  2311  * All officially supported platforms are now in ./platforms
  2312  * API is now a new package ./api
  2313  * All platforms examples are in ./examples
  2314  * Replaced martini with net/http
  2315  * Replaced ginkgo/gomega with system testing package
  2316  * Refactor gobot/robot/device commands
  2317  * Added Event type
  2318  * Replaced Master type with Gobot type
  2319  * Every` and `After` now accept `time.Duration`
  2320  * Removed reflection helper methods
  2321  
  2322  ## [0.4](https://github.com/hybridgroup/gobot/compare/0.3...0.4) (2014-06-12)
  2323  
  2324  ### API
  2325  
  2326  * commands now return an array of results
  2327  
  2328  ### Add
  2329  
  2330  * cors support
  2331  * basic auth support to api
  2332  * Joystick & Neurosky platforms to README
  2333  * utils tests
  2334  * coveralls
  2335  
  2336  ### Allow
  2337  
  2338  * user to set Host and Port when starting up Api
  2339  
  2340  ### Change
  2341  
  2342  * README image source to gobot-site repo
  2343  * startApi to private function
  2344  
  2345  ### Display
  2346  
  2347  * warning when using API without SSL
  2348  
  2349  ### Fixed
  2350  
  2351  * the logo link
  2352  
  2353  ### Format
  2354  
  2355  * device and connection type
  2356  
  2357  ### Green
  2358  
  2359  * tests
  2360  
  2361  ### More
  2362  
  2363  * api test coverage
  2364  * tests
  2365  
  2366  ### Refactor
  2367  
  2368  * tests
  2369  
  2370  ### Remove
  2371  
  2372  * Travis build from IRC
  2373  * ConnectToSerial
  2374  * ConnectToTcp util
  2375  * Reconnect and Disconnect from AdaptorInterface
  2376  
  2377  ### Robot
  2378  
  2379  * is now a pointer
  2380  
  2381  ### SSL
  2382  
  2383  * support in Api
  2384  
  2385  ### Update
  2386  
  2387  * README.md
  2388  * README for new API security features
  2389  * api robeaux api compatibility
  2390  * .travis.yml
  2391  * generated driver
  2392  * examples
  2393  * coveralls badge
  2394  * platforms and drivers
  2395  
  2396  ### Use
  2397  
  2398  * go-martini/martini
  2399  
  2400  ### WIP
  2401  
  2402  * for API host/port params
  2403  * api tests
  2404  
  2405  
  2406  ## [0.3](https://github.com/hybridgroup/gobot/compare/0.2...0.3) (2014-04-07)
  2407  
  2408  ### Add
  2409  
  2410  * Godeps file
  2411  * IRC notifications to Travis builds
  2412  * tests for generated projects
  2413  * Init function to DriverInterface
  2414  * Halt function to DriverInterface
  2415  * more GPIO devices to README
  2416  * scale functions
  2417  
  2418  ### All
  2419  
  2420  * updates for new gonuts/commander api
  2421  
  2422  ### Fix
  2423  
  2424  * typo in generator
  2425  
  2426  ### Merge
  2427  
  2428  * branch 'master' of github.com:hybridgroup/gobot
  2429  
  2430  ### Update
  2431  
  2432  * generator
  2433  
  2434  ## [0.2](https://github.com/hybridgroup/gobot/compare/0.1...0.2) (2014-02-04)
  2435  
  2436  ### Add
  2437  
  2438  * robeaux submodule
  2439  * Finalize on SIGINT
  2440  * Publish function for driver events
  2441  * device test coverage
  2442  * master and robot test coverage
  2443  
  2444  ### Clean
  2445  
  2446  * up tests
  2447  
  2448  ### Do
  2449  
  2450  * not run tests on gobot.io branch
  2451  
  2452  ### JSON
  2453  
  2454  * compatibility with cylon and artoo
  2455  
  2456  ### More
  2457  
  2458  * test coverage
  2459  
  2460  ### Refactor
  2461  
  2462  * robot and master
  2463  
  2464  ### Remove
  2465  
  2466  * robeaux submodule
  2467  
  2468  ### Update
  2469  
  2470  * README.md
  2471  * examples
  2472  
  2473  ### Use
  2474  
  2475  * golang log
  2476  
  2477  ### WIP
  2478  
  2479  * robeaux support
  2480  
  2481  ## 0.1 (2013-12-30)
  2482  
  2483  ### Accept
  2484  
  2485  * POST and GET for commands
  2486  
  2487  ### Adaptor
  2488  
  2489  * and driver generator
  2490  
  2491  ### Add
  2492  
  2493  * support for additional parameters
  2494  * serialport support
  2495  * Travis banner to README
  2496  * api commands
  2497  * POST command
  2498  * master example
  2499  * robot master
  2500  * Sphero example
  2501  * Digispark to list of supported platforms
  2502  * helper functions
  2503  * Driver channel for events
  2504  * port to adaptor
  2505  
  2506  ### Alter
  2507  
  2508  * structure
  2509  
  2510  ### Beaglebone
  2511  
  2512  * Black GPIO
  2513  
  2514  ### Clean
  2515  
  2516  * up files
  2517  * up variables
  2518  * up some comments
  2519  
  2520  ### Correctly
  2521  
  2522  * start drivers
  2523  
  2524  ### DRY
  2525  
  2526  * up On function
  2527  
  2528  ### Dots
  2529  
  2530  * for ignoring imports
  2531  
  2532  ### Drop
  2533  
  2534  * unnecessary api parameters
  2535  
  2536  ### Expose
  2537  
  2538  * robot functions via api
  2539  
  2540  ### Fix
  2541  
  2542  * example
  2543  
  2544  ### Go
  2545  
  2546  * fmt examples
  2547  
  2548  ### Initial
  2549  
  2550  * GETs for api
  2551  * commit
  2552  
  2553  ### Install
  2554  
  2555  * ginkgo and gomega dependencies
  2556  
  2557  ### Merge
  2558  
  2559  * branch 'examples'
  2560  * branch 'master' into ginkgo
  2561  * branch 'master' into ginkgo
  2562  
  2563  ### More
  2564  
  2565  * WIP of base structs
  2566  
  2567  ### Now
  2568  
  2569  * using Connection.Connect()
  2570  
  2571  ### Pending
  2572  
  2573  * tests for Robot
  2574  
  2575  ### Proper
  2576  
  2577  * formatting for README example
  2578  
  2579  ### Properly
  2580  
  2581  * set default interval
  2582  
  2583  ### Refactor
  2584  
  2585  * robot name assignment func, and tests to prove it
  2586  
  2587  ### Reformat
  2588  
  2589  * examples using gofmt
  2590  * source using gofmt
  2591  
  2592  ### Remove
  2593  
  2594  * Params from driver struct
  2595  * extra nesting
  2596  
  2597  ### Rename
  2598  
  2599  * Gobot struct to Master
  2600  
  2601  ### Set
  2602  
  2603  * GOMAXPROCS property in GobotMaster
  2604  
  2605  ### Skeleton
  2606  
  2607  * for ginkgo/gomega testing
  2608  
  2609  ### Small
  2610  
  2611  * refactor
  2612  * robot refactor
  2613  
  2614  ### StartDriver
  2615  
  2616  * is now optional
  2617  
  2618  ### Switch
  2619  
  2620  * to adaptor, driver, connection and device interfaces
  2621  
  2622  ### Travis
  2623  
  2624  * lang build
  2625  
  2626  ### Tweak
  2627  
  2628  * json output
  2629  
  2630  ### Update
  2631  
  2632  * examples
  2633  * README.md
  2634  * timers and fix issues
  2635  
  2636  ### WIP
  2637  
  2638  * multiple robot support
  2639  * connections and devices
  2640  
  2641  ### Work
  2642  
  2643  * is optional