1.16.0 --- * **bugfix** * failing leftovers after usage of PR #569 * Fix servo and DC motors presence * FIX the bug #568 without further impact, heavy improvements of tests * fixed PinMode, SetPullUp and SetPolarity, unit tests activated * ReadGPIO fixed with #576, failing leftovers for PinMode, SetPullUp and SetPolarity * helper_test ReadByteData, ReadWordData to use reg * **core** * update uuid package and directly access it; remove archived uuid package * **digispark** * fix ReadByte & WriteByte, rework and add i2c tests * remove useless code in i2c test * **drivers** * add AnalogActuatorDriver, analog temperature sensor, driver for PCF8591 (with 400kbit stabilization), driver for YL-40 * Adding support for hmc5883l compass * bmp388 fix missing address write byte in test of Measurements * drv2605l fix missing address write byte in test of Halt() * introduce adafruit1109 2x16 LCD with 5 keys * mcp23017: add mutex for write, hd44780: fix mutexes * MCP3004: correct number of channels * **raspi** * fix raspi PWMPin.SetDutyCycle (#800) * **tello** * Guards Dji Tello Halt against nil dereference * **test** * don't panic on 'With*' allow simpler wrapping of drivers * **tinkerboard** * fix tinkerboard i2c0 to i2c4, improve comments in pin map, improve README 1.15.0 --- * **build** * Switch to CircleCI * **ble** * replace go-ble with tinygo bluetooth package, restore macOS functionality * **gpio** * Update RelayDriver to invert value written on Inverted * Add tests for DigitalWrite value * Add support for HD44780 LCD controller * Add delay for Run function of StepperDriver * **spi** * fixes #700 - Avoid to close the connection. * **i2c** * add SHT2x device * add BMP388 Barometric Pressure/Temperature/Altitude Sensor * **pwm** * Resolve issue with PWM for PWMWrite * **mqtt** * Add method to publish MQTT messages with retain flag * **tello** * Add graceful halt for Tello driver * Add Tello EDU driver * **keyboard** * add symbol keys for platform/keyboard * **examples** * Update ffmpeg command to decrease latency in tello example 1.14.0 --- * **core** * migrating from dep to go modules * update codegangsta to urfave (#690) * **docs** * Fix a link in package docs' example code. * **examples** * fixed broken imports due to changed path causing go get to fail * **gpio** * Added ability to make a relay driver inverted (#674) * **opencv** * Update to GoCV 0.21.0 * **spi** * Apa102 use default brightness (#671) * **tello** * Updated videoPort for DJI Tello to 11111 1.13.0 --- * **api** * Initial stab at Robot-based work * **build** * correct package version as suggested by @dlisin thanks * only build last 2 versions of Go plus tip for CI * Update dep script for AppVeyor * update deps to latest versions of dependencies for GoCV and others * Update Gopkg and add test dep to Travis YML * update OpenCV build script for OpenCV 4.1.0 * **docs** * update to remove Gitter and replace with Slack, and update copyright dates * **example** * add missing nobuild header * **gpio** * Add SparkFun’s EasyDriver (and BigEasyDriver) * Add unit tests for TH02 & Minor improvement * Added rudiementary support for TH02 Grove Sensor * pwm_pin - Fix DutyCycle() parse error, need to trim off trailing '\n' before calling strconv.Atoi(), as other functions in this package do * Simplify code as suggested in #617 * **grovepi** * add mutex to control transactionality of the device communication * **i2c** * add 128x32 and 96x16 sizes to the i2c ssd1306 driver * build out the ccs811 driver * update PCA9685 driver to use same protocol as Adafruit Python lib * **leapmotion** * Parser error in Pointable.Bases: Write test and fix * Update gobot leap platform to support Leap Motion API v6 * **mavlink** * fix mavlink README to use correct example code * **mqtt** * Add some new MQTT adaptor functions with QOS * Allow setting QoS on MTT adaptor * make tests run correctly even when a local MQTT server is in fact running * Do not skip verification of root CA certificates by default InsecureSkipVerify * **nats** * Update Go NATS client library import * **opencv** * minor updates to opencv README * update to OpenCV 4.1.0 * **sphero** * Added methods to read Sphero Power States * Added some new features to the sphero ollie, bb-8 and sprkplus * **spi** * correct param used for APA102 Draw() method * Stop using Red parameter for brightness value * **tello** * add direct vector access * add example with keyboard * Change fps to 60 * Check for error immediately and skip publish if error occurred * update FlightData struct * **up2** * add support for built-in LEDs * correct i2c default bus information to match correct values * finalize docs for UP2 config steps * update README to include more complete setup information * useful constant values to access the built-in LEDs 1.12.0 --- * **api** * further improvement of the modular API changes * modify Start() for more modular initialization, and add StartRaw() for completely custom API implementations * settled on StartWithoutDefaults() as the method to start API without default routes * **core** * add Rescale utility function for straight linear rescaling * **digispark** * add examples using digispark with i2c devices blinkm and mlp115a2 * Added i2c to digispark, but not working yet * Added some tests for digispark i2c connector * Digispark i2c fixes, added Test for checking available addresses * remove test method that should not be in adaptor * remove test that is expected to ofail, but passes when digispark board is actually connected * **docs** * add GrovePi to README * adjust order of badges in README * Fixing broken link * **examples** * add example that uses both the API and also a custom handler with MJPEG streaming from an attached camera * small improvements to Tello examples * update Tello examples for main thread friendly macOS/Windows, add Tello face tracker * **i2c** * add commands to JHD1313MDriver * add commands to PCA9685Driver * add missing methods so the GrovePi fully implements the Adaptor interface * add ShowImage() function to ssd1306 driver based on @mikegleasonjr suggestion * GrovePi digitalwrite implemented * implemented DigitalRead, DigitalWrite, and AnalogRead for GrovePi * improve godocs for PCA9685 * mention that GrovePi requires running firmware 1.3.0 * update GrovePi to v1.3.0 firmware * work in progress on GrovePi plus driver * **joystick** * add config file for Magicsee R1 contributed by @carl-ranson * add some additional test coverage for file-based config * added error handling for config loading in joystick driver * mention need to be running a Linux kernel v4.14+ for controller mappings to work as expected * provide constant values for existing joystick configurations * **raspi** * export PiBlasterPeriod in Adaptor * **spi** * add ShowImage() function to ssd1306 driver based on @mikegleasonjr suggestion * **tello** * specify end of msgType position * add handleResponse testing * Add motion cessation commands to Tello * handleResponse only needs an io.Reader * handleResponse should not send commands * rename reqConn to cmdConn * reqConn is only an io.WriteCloser * send Land() command to drone on Halt() to avoid floating mid-air 1.11.1 --- * **build** * exclude vendor and other previously excluded subpackages * update Travis build to use OpenCV 3.4.2 release * update deps for GoCV to v0.14.0 release * Bump periph.io/x/periph to v3.0.0 * update to Go 1.10.3 and 1.9.7 for Travis builds * **docs** * Fix Leap Motion package link * **i2c** * fix write/read gpio on mcp23017, and cleaned up some comments * correct pca9685 SetPWMFreq function scaling * **gopigo3** * update with default spi values, cleanup 1.11.0 --- * **build** * correct profile file location for codecov upload * Make Go Lint happier by adding some explicit type conversions and ignoring unused error returns * single quotes needed to upload any .cov file to codecov for reporting * update deps to latest versions for Paho MQTT, go-sdl, and gocv * upload any .cov file to codecov for reporting * use go 1.10.2 and 1.9.6 for Travis builds * add step to call dep ensure before contributing #524 * **examples** * correct events used by XBox360 joystick example * **firmata** * Update the Firmata homepage in platform README * **gpio** * Improve Stepper Driver * Initial support for MAX7219 (gpio) led driver * **joystick** * full corrected ds3 and ds4 mappings plus examples to match for latest sdl 2.0.8 * add instructions to README on how to install SDL on Linux from source * add missing type conversion * add new contributions to README * Add T-Flight Hotas X flight controoller * add xbox360 rock band drums controller * Correct Dualshock4 controller mappings and add ps/left/right buttons * correct test issue * exclude scanner from test builds * Fix joystick_driver to detect dpad input for xbox controllers * Update dualshock4.json to match joystick_dualshock4.go * update scanner to match go-sdl 0.3 API changes * Update the joystick driver test to read DPAD properly * **leapmotion** * change timestamp to uint64 to fix #516 * **tello** * slow/fast mode switch function * StopLanding feature * Add Bounce() and PalmLand() funcs and their associated events. * bug fix * Change several fields in FlightData struct from int16 to bool * Export the FlightData fields (see Issue #531) 1.10.2 --- * **opencv** * update GoCV to latest version 1.10.1 --- * **tello** * improve support for DJI Tello drone, especially video 1.10.0 --- * **docs** * add gitter badge to readme * **gpio** * AIP1640 led driver, used in Wemos D1 mini's matrix LED shield * **spi** * switch to using periph.io for SPI interfaces * add support for ssd1306 * add optional params such as bus/chip to all current drivers * complete refactoring to spi.Connection * remove unneeded code as suggested by @maruel * remove unneeded type and cleanup GoDocs * **ble** * correct spelling error in function name * **build** * update to latest version of Go 1.10 for Travis build * **cli** * remove extra newline * **docs** * add recently contributed GPIO devices to README * **joystick** * able to configure joysticks without external json file * correct error in scanning script * correct events used by gamepad-style up/down/left/right buttons * correct scanner error from ID * removed double release event * **tello** * add support for DJI Tello drone 1.9.0 --- * **beaglebone** * update pin naming, docs, and examples for the latest Debian OS releases * **opencv** * update build settings needed to build OpenCV/GoCV as part of test suite * deps for latest GoCV v0.9.0 * **build** * update Travis build to use very latest Go versions * **docs** * add references to new drivers for ADXL345, BH1750, and TM1638. * improve docs for installation and use of OpenCV/GoCV from Gobot * update copyright date to 2018 * **gpio** * Initial support for TM1638 modules * **i2c** * Added basic driver for BH1750 (light sensor), board GY-302 * support for accel ADXL345 * **bb8/ollie/sprkplus** * add Boost command * add Set Back LED Output command * add Set Raw Motor Values command * add Set Rotation Rate command * add Set Stabilization command * **test** * Refactor TestAdaptorDigitalPinConcurrency test 1.8.0 --- * **sysfs** * pause briefly to allow udev rules to apply when exporting PWMPin * **beaglebone** * correct uboot installation instructions * add SPI support * no more slots, add docs on configuring u-boot overlays * handle gpio pinmux without relying on specific pre-existing setup * **pocketbeagle** * add support for PocketBeagle * use universal io cape manager to initialize board setup * improve docs for latest Debian OS * **build** * Add dep, change how tests run in CI * update dependencies to latest GoCV version * **spi** * Add MCP3002, MCP3202, MCP3204, MCP3208, MCP3304, MCP3004, and MCP3008 A/D converter drivers * adding initial support for APA102 LEDs, thanks to code sample from @rakyll * extract shared SPI init code into spi package * **up2** * initial work on support for UP2 board * **gopigo3** * fixed set/get bug with motor dps * **gpio** * Adding stepper motor module * **firmata** * handle cases where out of sync data is read from serial port on first connecting * **i2c** * Change init payload sequence within jhd1313m1 driver Start() func. 1.7.1 --- * **sprkplus** * add new platform for Sphero SPRK+ * **firmata** * correct problem where last analog pin(s) were being ignored from capabilities query * **ble** * use go-ble/ble fork for BLE interactions * **build** * update to use latest OpenCV version * update to use latest Golang versions 1.7.0 --- * **curie** * Add Linux specific step to Intel Curie docs * **mqtt** * Added SetCleanSession * **build** * add go1.9 to versions tested in Travis CI * add missing OpenCV lib dependency * Update build to use latest Golang versions * Travis build will now require sudo to install due to OpenCV * **docs** * some helpful edits for the initial spi implementation * **gopigo3** * integration of recent GoPiGo3 contributions * Added grove support, and more gopigo3 examples * **gpio** * Add ButtonDriver.DefaultState to allow for 'reverse' buttons (ones that go from HIGH to LOW) * **holystone** * Add initial support for HS-200 * **i2c** * SSD1306.WithDisplayHeight() and SSD1306.WithDisplayWidth() for SSD1306 that use different display ratios * **joystick** * add CLI utilty to scan display events to make it easier to add new joyticks * update README to address #441 * **opencv** * Switchover to use GoCV and OpenCV 3.3 * Switch to use custom domain for GoCV package * all examples using new GoCV based code * correct formatting in face detect example * OpenCV face detector that is much more concurrent * update interface and examples to indicate multipurpose 1.6.0 --- * **core** * log failure errors on Robot Start() * **build** * run test coverage with covermode=set * update build to use Golang 1.7.6 and 1.8.3 * **docs** * work on ROADMAP doc * **sysfs** * increase test coverage * **bb8** * use updated ble adaptor interface for tests * **ble** * allow for characteristic writes both with and without a response * allow override of specific HCI device to use * eliminate race conditions from response handling * **curie** * Implement Accelerometer, Gyroscope, and Temperature sensors implemented * motion detect implemented * shock detect implemented * step count implemented * tap detect implemented * **digispark** * update blink example to display error message on Start() * update README with latest development info * **edison** * auto-discovery of Edison board option * removed commented lines * **firmata** * expose WriteSysex to external callers * adjust client test timeout values * cleanup error handling for connection code * client tests don't need so many goroutines * expose WriteSysex to external callers * improve connection code to use a proper timeout * increase test coverage * make it possible to test external devices that use firmata adaptor * refactoring firmata client * remove circular import in test * remove unused code, increase test coverage * return connect errors to client * switch to using go-serial package * Sysex response events now being handled as expected * **bme280** * fix signed/unsigned bug * Fixed 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. * 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 * **chip** * Fixed PWM duty cycle calculation for C.H.I.P ServoWrite * Fixed PWM init bug for C.H.I.P * C.H.I.P PWM init robust for already enabled state * **i2c** * remove unused test code * write config register in little endian * **joystick** * add needed constants for all PS3 buttons * **littlewire** * littlewire.cc links changed to littlewire.github.io * **mavlink** * switch to using go-serial package * **megapi** * switch to using go-serial package * **microbit** * use updated ble adaptor interface for tests * **minidrone** * add example for Parrot Mambo * add support for Mambo external accessories * increase test coverage * never expect responses for characteristic writes * remove unneeded code, increase test coverage * separate flight status processing and add test coverage * **neurosky** * switch to using go-serial package * **ollie** * use updated ble adaptor interface for tests * **sphero** * switch to using go-serial package * **tinkerboard** * Updated Tinkerboard and sysfs tests to updated PWM polarity contract 1.5.0 --- * **core** * Add Running() methods for Master and Robot and increase test coverage accordingly * **sysfs** * define DigitalPinnerProvider and PWMPinnerProvider interfaces * add Chip to be able to change pwmchip, and some related refactoring * add file read/write testing for failure conditions * proper handling of busy state vs. other errors * return sensible result when no valid data read * **test** * increase coverage on test helpers * **build** * switching to Travis builds using Ubuntu 14.04 Trusty * **aio** * only need to support AnalogReader interface * avoid test race conditions * ensure that AnalogSensor event Data is always int * **gpio** * only need to support DigitalReader/DigitalWriter interface * **i2c** * Added support for the ADS1015 and ADS1115 ADCs * Add INA3221 Voltage Monitor * Ensure lock of i2c bus for each individual operation * Small refactoring and increase test coverage for BMP180 * **beaglebone** * implement DigitalPinner and PWMPinner interfaces * protect against pin map races * increase test coverage * **chip** * add preliminary support for C.H.I.P. Pro * add back ServoWrite implementation * implement DigitalPinnerProvider and PWMPinnerProvider interfaces * protect against pin map races * **dragonboard** * export DigitalPin and PWMPin adaptor methods * protect against pin map races * increase test coverage * **edison** * auto-detect arduino breakout board, if no specific board is expected * ensure that we initialize tristate if arduino breakout board * export DigitalPin and PWMPin adaptor methods * implement DigitalPinnerProvider and PWMPinnerProvider interfaces * protect against pin map races * refactoring to reduce code duplication * **firmata** * remove processing that might have been eating test events, increase test coverage * **joule** * implement DigitalPinnerProvider and PWMPinnerProvider interfaces * protect against pin map races * remove incorrect pin assignment and improve test coverage * add examples using Joule with ADS1015 ADC * naming system changes * correct pin mappings and add PWM example * **mavlink** * add a Mavlink-over-UDP adaptor. * **microbit** * Add DigitalWriter, DigitalReader, and AnalogReader support using IOPinDriver * Handle start error and increase test coverage * **mqtt** * Add a (topic, payload) event type * change the On handler to take mqtt.Message * increase test coverage * update examples that use mqtt for updated notification signature * **nats** * change the On() handler to take the subject as an argument * increase test coverage * **raspi** * implement DigitalPinnerProvider and PWMPinnerProvider interfaces * add implementation for PWMPinner interface that wraps pi blaster * fix adaptor race conditions * increase test coverage * **tinkerboard** * Add support for ASUS Tinker Board 1.4.0 --- * **core** * Use 10-buffered chans for events, see #374 * **i2c** * Many refactors and increases in test coverage * Eliminate race conditions introduced by tests * Adds Altitude() function to BMP280/BME280 * bme280 driver Humidity compensation formula * ssd1306 driver implementation * **aio** * Eliminate race conditions introduced by tests * **gpio** * Fix motor mode change when speed is set * Eliminate race conditions introduced by tests * Reduce test side effects * **ardrone** * Increase test coverage * **audio** * Increase test coverage * **bb8** * Refactoring to use BLEConnector interface and provide tests * **bebop** * Increase test coverage * **beaglebone** * Increase test coverage * **ble** * Increase test coverage for battery, device information, and generic access drivers * Refactoring drivers to use BLEConnector interface and provide tests * **chip** * Added PWM0 support * Increase test coverage * **digispark** * Increase test coverage * **dragonboard** * Increase test coverage * **edison** * Remove pointless error checking code * Refactor digital pin creation process method * Increase test coverage * **firmata** * Eliminate race conditions introduced by tests * Increase test coverage for i2c commands * **joule** * Increase test coverage * **joystick** * Increase test coverage * **keyboard** * Increase test coverage * **mavlink** * Eliminate race conditions introduced by tests * Increase test coverage * **mavlink** * Increase test coverage * **microbit** * Refactoring to use BLEConnector interface and provide tests * Address #404 by adding info about required magnetometer calibration step to README * Increase test coverage * **minidrone** * Refactoring to use BLEConnector interface and provide tests * **mqtt** * Increase test coverage * **nats** * Increase test coverage * **neurosky** * Update neurosky README & example * Eliminate race conditions introduced by tests * Increase test coverage * **ollie** * Refactoring to use BLEConnector interface and provide tests * Correct race condition error on seq * Increase test coverage * **opencv** * Increase test coverage * **particle** * Increase test coverage * **raspi** * Address #391 by providing more details about normal development workflow * Increase test coverage * **sphero** * Eliminate race conditions * Increase test coverage * **sysfs** * Address race condition from udev rules when exporting GPIO pins * Increase test coverage * **docs** * Improve explanations for scp/ssh workflow on SoC boards * Include entire Apache 2.0 license in the license text * **test** * Add crude travis check for gofmt; format all sources * Significantly speed up travis and make runs * Remove test code no longer being called * Update Travis to run tests using Golang 1.8.1 * Increase gobottest test coverage 1.3.0 --- * **microbit** * Add new platform support * **dragonboard** * Add new platform support * **gpio** * Increase test coverage * **i2c** * Update list of supported i2c devices * Minor adjustments and test coverage improvements * Added more capabilities checks for I2C * Removed smbus block operations * **core** * Increase test coverage * **test** * Improvements to run tests much faster thanks @maruel * Use codecov.io for code coverage reporting * **docs** * Update CoC based on Contributor Covenant 1.2.0 --- * **core** * Use new improved default namer to avoid API conflicts * **gpio** * Removed scaling function from servo driver * Correct servo driver to pass along angle to adaptor to sort out implementation * **i2c** * Refactored platforms and drivers to new I2C interfaces * Change to make I2C support more than one bus * Refactor drivers to support new optional params * **bb8** * Added collision detection support and example * **beaglebone** * Correct i2c buses to match actual mapping * **ble** * Switch to using [ble](https://github.com/currantlabs/ble) package for Bluetooth LE * Basic serial over BLE working with Arduino101 with StandardFirmataBLE * WIP on multiple simultaneous ble devices * **chip** * Fixed chip XIO base address lookup * **digispark** * Fix #288 by using pkg-config to locate libusb-compat includes * **firmata** * Remove race conditions identified in Firmata client * Correct error in I2C reads not listening to board events * **mqtt** * Add driver for syntactical sugar around virtual devices * Add SSL/TLS client options support * Fix #277 by adding SetAutoReconnect method to set Paho MQTT client * Change both 'On' and 'Publish' method function signatures to match Eventer interface * **nats** * Add driver to make it easier to create virtual devices * **ollie** * Added collision detection support and example * **parrot** * Add ValidatePitch helper function for Parrot Minidrone, Parrot Bebop & ARDrone 2.0 to package * **docs** * Fix #363 by using atomic.Value to protect current values used by multiple goroutines in drone examples * **test** * Remove Golang 1.5 from TravisCI tests in prep for Golang 1.8 release 1.1.0 --- * **core** * use canonical import path for sysfs package * **i2c** * Add a driver for the SHT3X chip * Add a driver for BMP180 * Add support for L3GD20H gyroscope * **firmata** * Add support for TCPFirmata connections, allowing ESP8266 and other WiFi-connected controllers * Add mention to README to use 'tty.' serial port on OSX * Add mention of A4 and A5 normally unavailable on Firmata * **raspi** * Correct README build instructions with missing 'go build' command * **snapcraft** * Add the packaging metadata to build the gobot snap for Ubuntu Snappy * **particle** * Update examples to take key params via command line * Address #160 by adding support for tinker-servo sketch if installed on Particle device * **esp8266** add experimental ESP8266 support to list of supported platforms * **sysfs** * Should fix #272 by using first byte of data as command register for I2C reads * Some additional cleanup suggested by golint * **ble** * Add generic access service driver * Update docs to include reference to included drivers * Move various test code to test file * **ollie** * Refactoring so no need to expose internal implementation details * **bebop** * Add support/example of RTP video * Enable video on firmware 3.3+ * Update ps3 and video example to enable the video stream * Update README for brief explanation of how to get drone video * Corrected import paths for client examples * **bb8** * Correct NewDriver params and set name * Add missing constructor to wrap Ollie implementation * **minidrone** * Update README with example and which specific models are currently supported * Add all piloting flying state events * Adds Emergency() and TakePicture() commands * **test** * Add Golang 1.8beta2 to Travis builds * Correct aio references for AnalogRead tests 1.0.0 --- * **core** * Refactoring to allow 'Metal' development using Gobot packages * Able to run robots without being part of a Master. * Now running all work in separate goroutines * Rename internal name of Master type * Refactor events to use channels all the way down. * Eliminate potential race conditions from Events and Every functions * Add Unsubscribe() to Eventer, now Once() works as expected * DeleteEvent function added to Eventer interface * Ranges over event channels instead of using select * No longer return non-standard slices of errors, instead use hashicorp/go-multierror * Ensure that all drivers have default names * Now both Robot and Master operate using AutoRun as expected * Use canonical import domain of gobot.io for all code * Use time.Sleep unless waiting for a timeout in a select * Uses time.NewTimer() instead of time.After() to be more efficient * **test** * Add deps tasks to Makefile * Add golang 1.7 to Travis CI tests * Add golang 1.8beta1 to build matrix for Travis * Reduce Travis builds to golang 1.4+ since it is late 2016 already * Complete move of test interfaces into the test files where they belong * Adds Parrot Minidrone and Sphero Ollie to Travis tests * **Add missing godocs for everything** * **i2c** * Move I2C drivers into appropriately named 'drivers/i2c' directory * Add support for Adafruit Servo/PWM HAT * **gpio** * Move GPIO drivers into appropriately named 'drivers/gpio' directory * Add support for PIR motion detector * **beaglebone** * auto-detect Linux kernel version * map usr LEDs to match all kernels * **ble** * Rename drivers to make them more obvious * Add test placeholders * **chip** * Auto-detect OS version to adjust pin mappings * Correct base for new 4.4 GPIO * **edison** * Support for other breakout boards besides Arduino * **firmata** * Use io.ReadFull in platforms/firmata/client * Update tarm/goserial to tarm/serial * **joule** * Add support for Intel Joule * **megapi** * Adding support for MakeBlock megapi * **nats** * Add support for NATS server * **particle** * Complete renaming Spark platform to Particle * **parrot** * Move Parrot Minidrone into own platform * Move both ARDrone and Bebop under Parrot package * **raspi** * Add missing godocs and small refactors for platform * **sphero** * Add initial support for Sphero BB-8 platform * Move Sphero Ollie into own platform 0.12.0 --- * **Refactor Gobot test helpers into separate package** * **Improve Gobot.Every method to return channel, allowing it to be halted** * **Refactor of sysfs adds substantial speed improvements** * **ble** * Experimental support for Bluetooth LE. * Initial support for Battery & Device Information services * Initial support for Sphero BLE robots such as Ollie * Initial support for Parrot Minidrone * **audio** * Add new platform for Audio playback * **gpio** * Support added for new GPIO device: * RGB LED * Bugfixes: * Correct analog to better handle quick changes * Correct handling of errors and buffering for Wiichuk * **mqtt** * Add support for MQTT authentication * **opencv** * Switching to use main fork of OpenCV * Some minor bugfixes related to face tracking 0.11.0 --- * **Support for Golang 1.6** * **Determine I2C adaptor capabilities dynamically to avoid use of block I/O when unavailable** * **chip** * Add support for GPIO & I2C interfaces on C.H.I.P. $9 computer * **leap motion** * Add support additional "hand" and "gesture" events * **mqtt** * Support latest update to Eclipse Paho MQTT client library * **raspberry pi** * Proper release of Pi Blaster for PWM pins * **bebop** * Prevent event race conditions on takeoff/landing * **i2c** * Support added for new i2c device: * MCP23017 Port Expander * Bugfixes: * Correct init and data parsing for MPU-6050 * Correct handling of errors and buffering for Wiichuk 0.10.0 --- * **Refactor core to cleanup robot initialization and shutdown** * **Remove unnecessary goroutines spawned by NewEvent** * **api** * Update Robeaux to v0.5.0 * **bebop** * Add support for the Parrot Bebop drone * **keyboard** * Add support for keyboard control * **gpio** * Support added for 10 new Grove GPIO devices: * Grove Touch Sensor * Grove Sound Sensor * Grove Button * Grove Buzzer * Grove Led * Grove Light Sensor * Grove Vibration Sensor * Grove Rotary * Grove Relay * Grove Temperature Sensor * **i2c** * Support added for 2 new Grove i2c devices: * Grove Accelerometer * Grove LCD with RGB backlit display * **docs** * Many useful fixes and updates for docs, mostly contributed by our wonderful community. 0.8.2 --- - firmata - Refactor firmata adaptor and split firmata protocol implementation into sub `client` package - gpio - Add support for LIDAR-Lite - raspi - Add PWM support via pi-blaster - sphero - Add `ConfigureLocator`, `ReadLocator` and `SetRotationRate` 0.8.1 --- - spark - Add support for spark Events, Functions and Variables - sphero - Add `SetDataStreaming` and `ConfigureCollisionDetection` methods 0.8 --- - Refactor core, gpio, and i2c interfaces - Correctly pass errors throughout packages and remove all panics - Numerous bug fixes and performance improvements - api - Update robeaux to v0.3.0 - firmata - Add optional io.ReadWriteCloser parameter to FirmataAdaptor - Fix `thread exhaustion` error - cli - generator - Update generator for new adaptor and driver interfaces - Add driver, adaptor and project generators - Add optional package name parameter 0.7.1 --- - opencv - Fix pthread_create issue on Mac OS 0.7 --- - Dramatically increased test coverage and documentation - api - Conform to the [cppp.io](https://gobot.io/x/cppp-io) spec - Add support for basic middleware - Add support for custom routes - Add SSE support - ardrone - Add optional parameter to specify the drones network address - core - Add `Once(e *Event, f func(s interface{})` Event function - Rename `Expect` to `Assert` and add `Refute` test helper function - i2c - Add support for MPL115A2 - Add support for MPU6050 - mavlink - Add support for `common` mavlink messages - mqtt - Add support for mqtt - raspi - Add support for the Raspberry Pi - sphero - Enable stop on sphero disconnect - Add `Collision` data struct - sysfs - Add generic linux filesystem gpio implementation 0.6.3 --- - Add support for the Intel Edison 0.6.2 --- - cli - Fix typo in generator - leap - Fix incorrect Port reference - Fix incorrect Event name - neurosky - Fix incorrect Event names - sphero - Correctly format output of GetRGB 0.6.1 --- - cli - Fix template error in generator 0.6 --- - api - Add robeaux support - core - Refactor `Connection` and `Device` - Connections are now a collection of Adaptors - Devices are now a collection of Drivers - Add `Event(string)` function instead of `Events[string]` for retrieving Driver event - Add `AddEvent(string)` function to register an event on a Driver - firmata - Fix slice bounds out of range error - sphero - Fix issue where the driver would not halt correctly on OSX 0.5.2 --- - beaglebone - Add `DirectPinDriver` - Ensure slots are properly loaded 0.5.1 --- - core - Add `Version()` function for Gobot version retrieval - firmata - Fix issue with reading analog inputs - Add `data` event for `AnalogSensorDriver` 0.5 --- - Idomatic clean up - Removed reflections throughout packages - All officially supported platforms are now in ./platforms - API is now a new package ./api - All platforms examples are in ./examples - Replaced martini with net/http - Replaced ginkgo/gomega with system testing package - Refactor gobot/robot/device commands - Added Event type - Replaced Master type with Gobot type - Every` and `After` now accept `time.Duration` - Removed reflection helper methods