gobot.io/x/gobot@v1.16.0/CHANGELOG.md (about) 1 1.16.0 2 --- 3 * **bugfix** 4 * failing leftovers after usage of PR #569 5 * Fix servo and DC motors presence 6 * FIX the bug #568 without further impact, heavy improvements of tests 7 * fixed PinMode, SetPullUp and SetPolarity, unit tests activated 8 * ReadGPIO fixed with #576, failing leftovers for PinMode, SetPullUp and SetPolarity 9 * helper_test ReadByteData, ReadWordData to use reg 10 * **core** 11 * update uuid package and directly access it; remove archived uuid package 12 * **digispark** 13 * fix ReadByte & WriteByte, rework and add i2c tests 14 * remove useless code in i2c test 15 * **drivers** 16 * add AnalogActuatorDriver, analog temperature sensor, driver for PCF8591 (with 400kbit stabilization), driver for YL-40 17 * Adding support for hmc8553l compass 18 * bmp388 fix missing address write byte in test of Measurements 19 * drv2605l fix missing address write byte in test of Halt() 20 * introduce adafruit1109 2x16 LCD with 5 keys 21 * mcp23017: add mutex for write, hd44780: fix mutexes 22 * MCP3004: correct number of channels 23 * **raspi** 24 * fix raspi PWMPin.SetDutyCycle (#800) 25 * **tello** 26 * Guards Dji Tello Halt against nil dereference 27 * **test** 28 * don't panic on 'With*' allow simpler wrapping of drivers 29 * **tinkerboard** 30 * fix tinkerboard i2c0 to i2c4, improve comments in pin map, improve README 31 32 1.15.0 33 --- 34 * **build** 35 * Switch to CircleCI 36 * **ble** 37 * replace go-ble with tinygo bluetooth package, restore macOS functionality 38 * **gpio** 39 * Update RelayDriver to invert value written on Inverted 40 * Add tests for DigitalWrite value 41 * Add support for HD44780 LCD controller 42 * Add delay for Run function of StepperDriver 43 * **spi** 44 * fixes #700 - Avoid to close the connection. 45 * **i2c** 46 * add SHT2x device 47 * add BMP388 Barometric Pressure/Temperature/Altitude Sensor 48 * **pwm** 49 * Resolve issue with PWM for PWMWrite 50 * **mqtt** 51 * Add method to publish MQTT messages with retain flag 52 * **tello** 53 * Add graceful halt for Tello driver 54 * Add Tello EDU driver 55 * **keyboard** 56 * add symbol keys for platform/keyboard 57 * **examples** 58 * Update ffmpeg command to decrease latency in tello example 59 60 1.14.0 61 --- 62 * **core** 63 * migrating from dep to go modules 64 * update codegangsta to urfave (#690) 65 * **docs** 66 * Fix a link in package docs' example code. 67 * **examples** 68 * fixed broken imports due to changed path causing go get to fail 69 * **gpio** 70 * Added ability to make a relay driver inverted (#674) 71 * **opencv** 72 * Update to GoCV 0.21.0 73 * **spi** 74 * Apa102 use default brightness (#671) 75 * **tello** 76 * Updated videoPort for DJI Tello to 11111 77 78 1.13.0 79 --- 80 * **api** 81 * Initial stab at Robot-based work 82 * **build** 83 * correct package version as suggested by @dlisin thanks 84 * only build last 2 versions of Go plus tip for CI 85 * Update dep script for AppVeyor 86 * update deps to latest versions of dependencies for GoCV and others 87 * Update Gopkg and add test dep to Travis YML 88 * update OpenCV build script for OpenCV 4.1.0 89 * **docs** 90 * update to remove Gitter and replace with Slack, and update copyright dates 91 * **example** 92 * add missing nobuild header 93 * **gpio** 94 * Add SparkFun’s EasyDriver (and BigEasyDriver) 95 * Add unit tests for TH02 & Minor improvement 96 * Added rudiementary support for TH02 Grove Sensor 97 * pwm_pin - Fix DutyCycle() parse error, need to trim off trailing '\n' before calling strconv.Atoi(), as other functions in this package do 98 * Simplify code as suggested in #617 99 * **grovepi** 100 * add mutex to control transactionality of the device communication 101 * **i2c** 102 * add 128x32 and 96x16 sizes to the i2c ssd1306 driver 103 * build out the ccs811 driver 104 * update PCA9685 driver to use same protocol as Adafruit Python lib 105 * **leapmotion** 106 * Parser error in Pointable.Bases: Write test and fix 107 * Update gobot leap platform to support Leap Motion API v6 108 * **mavlink** 109 * fix mavlink README to use correct example code 110 * **mqtt** 111 * Add some new MQTT adaptor functions with QOS 112 * Allow setting QoS on MTT adaptor 113 * make tests run correctly even when a local MQTT server is in fact running 114 * Do not skip verification of root CA certificates by default InsecureSkipVerify 115 * **nats** 116 * Update Go NATS client library import 117 * **opencv** 118 * minor updates to opencv README 119 * update to OpenCV 4.1.0 120 * **sphero** 121 * Added methods to read Sphero Power States 122 * Added some new features to the sphero ollie, bb-8 and sprkplus 123 * **spi** 124 * correct param used for APA102 Draw() method 125 * Stop using Red parameter for brightness value 126 * **tello** 127 * add direct vector access 128 * add example with keyboard 129 * Change fps to 60 130 * Check for error immediately and skip publish if error occurred 131 * update FlightData struct 132 * **up2** 133 * add support for built-in LEDs 134 * correct i2c default bus information to match correct values 135 * finalize docs for UP2 config steps 136 * update README to include more complete setup information 137 * useful constant values to access the built-in LEDs 138 139 1.12.0 140 --- 141 * **api** 142 * further improvement of the modular API changes 143 * modify Start() for more modular initialization, and add StartRaw() for completely custom API implementations 144 * settled on StartWithoutDefaults() as the method to start API without default routes 145 * **core** 146 * add Rescale utility function for straight linear rescaling 147 * **digispark** 148 * add examples using digispark with i2c devices blinkm and mlp115a2 149 * Added i2c to digispark, but not working yet 150 * Added some tests for digispark i2c connector 151 * Digispark i2c fixes, added Test for checking available addresses 152 * remove test method that should not be in adaptor 153 * remove test that is expected to ofail, but passes when digispark board is actually connected 154 * **docs** 155 * add GrovePi to README 156 * adjust order of badges in README 157 * Fixing broken link 158 * **examples** 159 * add example that uses both the API and also a custom handler with MJPEG streaming from an attached camera 160 * small improvements to Tello examples 161 * update Tello examples for main thread friendly macOS/Windows, add Tello face tracker 162 * **i2c** 163 * add commands to JHD1313MDriver 164 * add commands to PCA9685Driver 165 * add missing methods so the GrovePi fully implements the Adaptor interface 166 * add ShowImage() function to ssd1306 driver based on @mikegleasonjr suggestion 167 * GrovePi digitalwrite implemented 168 * implemented DigitalRead, DigitalWrite, and AnalogRead for GrovePi 169 * improve godocs for PCA9685 170 * mention that GrovePi requires running firmware 1.3.0 171 * update GrovePi to v1.3.0 firmware 172 * work in progress on GrovePi plus driver 173 * **joystick** 174 * add config file for Magicsee R1 contributed by @carl-ranson 175 * add some additional test coverage for file-based config 176 * added error handling for config loading in joystick driver 177 * mention need to be running a Linux kernel v4.14+ for controller mappings to work as expected 178 * provide constant values for existing joystick configurations 179 * **raspi** 180 * export PiBlasterPeriod in Adaptor 181 * **spi** 182 * add ShowImage() function to ssd1306 driver based on @mikegleasonjr suggestion 183 * **tello** 184 * specify end of msgType position 185 * add handleResponse testing 186 * Add motion cessation commands to Tello 187 * handleResponse only needs an io.Reader 188 * handleResponse should not send commands 189 * rename reqConn to cmdConn 190 * reqConn is only an io.WriteCloser 191 * send Land() command to drone on Halt() to avoid floating mid-air 192 193 1.11.1 194 --- 195 * **build** 196 * exclude vendor and other previously excluded subpackages 197 * update Travis build to use OpenCV 3.4.2 release 198 * update deps for GoCV to v0.14.0 release 199 * Bump periph.io/x/periph to v3.0.0 200 * update to Go 1.10.3 and 1.9.7 for Travis builds 201 * **docs** 202 * Fix Leap Motion package link 203 * **i2c** 204 * fix write/read gpio on mcp23017, and cleaned up some comments 205 * correct pca9685 SetPWMFreq function scaling 206 * **gopigo3** 207 * update with default spi values, cleanup 208 209 1.11.0 210 --- 211 * **build** 212 * correct profile file location for codecov upload 213 * Make Go Lint happier by adding some explicit type conversions and ignoring unused error returns 214 * single quotes needed to upload any .cov file to codecov for reporting 215 * update deps to latest versions for Paho MQTT, go-sdl, and gocv 216 * upload any .cov file to codecov for reporting 217 * use go 1.10.2 and 1.9.6 for Travis builds 218 * add step to call dep ensure before contributing #524 219 * **examples** 220 * correct events used by XBox360 joystick example 221 * **firmata** 222 * Update the Firmata homepage in platform README 223 * **gpio** 224 * Improve Stepper Driver 225 * Initial support for MAX7219 (gpio) led driver 226 * **joystick** 227 * full corrected ds3 and ds4 mappings plus examples to match for latest sdl 2.0.8 228 * add instructions to README on how to install SDL on Linux from source 229 * add missing type conversion 230 * add new contributions to README 231 * Add T-Flight Hotas X flight controoller 232 * add xbox360 rock band drums controller 233 * Correct Dualshock4 controller mappings and add ps/left/right buttons 234 * correct test issue 235 * exclude scanner from test builds 236 * Fix joystick_driver to detect dpad input for xbox controllers 237 * Update dualshock4.json to match joystick_dualshock4.go 238 * update scanner to match go-sdl 0.3 API changes 239 * Update the joystick driver test to read DPAD properly 240 * **leapmotion** 241 * change timestamp to uint64 to fix #516 242 * **tello** 243 * slow/fast mode switch function 244 * StopLanding feature 245 * Add Bounce() and PalmLand() funcs and their associated events. 246 * bug fix 247 * Change several fields in FlightData struct from int16 to bool 248 * Export the FlightData fields (see Issue #531) 249 250 1.10.2 251 --- 252 * **opencv** 253 * update GoCV to latest version 254 255 1.10.1 256 --- 257 * **tello** 258 * improve support for DJI Tello drone, especially video 259 260 1.10.0 261 --- 262 * **docs** 263 * add gitter badge to readme 264 * **gpio** 265 * AIP1640 led driver, used in Wemos D1 mini's matrix LED shield 266 * **spi** 267 * switch to using periph.io for SPI interfaces 268 * add support for ssd1306 269 * add optional params such as bus/chip to all current drivers 270 * complete refactoring to spi.Connection 271 * remove unneeded code as suggested by @maruel 272 * remove unneeded type and cleanup GoDocs 273 * **ble** 274 * correct spelling error in function name 275 * **build** 276 * update to latest version of Go 1.10 for Travis build 277 * **cli** 278 * remove extra newline 279 * **docs** 280 * add recently contributed GPIO devices to README 281 * **joystick** 282 * able to configure joysticks without external json file 283 * correct error in scanning script 284 * correct events used by gamepad-style up/down/left/right buttons 285 * correct scanner error from ID 286 * removed double release event 287 * **tello** 288 * add support for DJI Tello drone 289 290 1.9.0 291 --- 292 * **beaglebone** 293 * update pin naming, docs, and examples for the latest Debian OS releases 294 * **opencv** 295 * update build settings needed to build OpenCV/GoCV as part of test suite 296 * deps for latest GoCV v0.9.0 297 * **build** 298 * update Travis build to use very latest Go versions 299 * **docs** 300 * add references to new drivers for ADXL345, BH1750, and TM1638. 301 * improve docs for installation and use of OpenCV/GoCV from Gobot 302 * update copyright date to 2018 303 * **gpio** 304 * Initial support for TM1638 modules 305 * **i2c** 306 * Added basic driver for BH1750 (light sensor), board GY-302 307 * support for accel ADXL345 308 * **bb8/ollie/sprkplus** 309 * add Boost command 310 * add Set Back LED Output command 311 * add Set Raw Motor Values command 312 * add Set Rotation Rate command 313 * add Set Stabilization command 314 * **test** 315 * Refactor TestAdaptorDigitalPinConcurrency test 316 317 1.8.0 318 --- 319 * **sysfs** 320 * pause briefly to allow udev rules to apply when exporting PWMPin 321 * **beaglebone** 322 * correct uboot installation instructions 323 * add SPI support 324 * no more slots, add docs on configuring u-boot overlays 325 * handle gpio pinmux without relying on specific pre-existing setup 326 * **pocketbeagle** 327 * add support for PocketBeagle 328 * use universal io cape manager to initialize board setup 329 * improve docs for latest Debian OS 330 * **build** 331 * Add dep, change how tests run in CI 332 * update dependencies to latest GoCV version 333 * **spi** 334 * Add MCP3002, MCP3202, MCP3204, MCP3208, MCP3304, MCP3004, and MCP3008 A/D converter drivers 335 * adding initial support for APA102 LEDs, thanks to code sample from @rakyll 336 * extract shared SPI init code into spi package 337 * **up2** 338 * initial work on support for UP2 board 339 * **gopigo3** 340 * fixed set/get bug with motor dps 341 * **gpio** 342 * Adding stepper motor module 343 * **firmata** 344 * handle cases where out of sync data is read from serial port on first connecting 345 * **i2c** 346 * Change init payload sequence within jhd1313m1 driver Start() func. 347 348 1.7.1 349 --- 350 * **sprkplus** 351 * add new platform for Sphero SPRK+ 352 * **firmata** 353 * correct problem where last analog pin(s) were being ignored from capabilities query 354 * **ble** 355 * use go-ble/ble fork for BLE interactions 356 * **build** 357 * update to use latest OpenCV version 358 * update to use latest Golang versions 359 360 1.7.0 361 --- 362 * **curie** 363 * Add Linux specific step to Intel Curie docs 364 * **mqtt** 365 * Added SetCleanSession 366 * **build** 367 * add go1.9 to versions tested in Travis CI 368 * add missing OpenCV lib dependency 369 * Update build to use latest Golang versions 370 * Travis build will now require sudo to install due to OpenCV 371 * **docs** 372 * some helpful edits for the initial spi implementation 373 * **gopigo3** 374 * integration of recent GoPiGo3 contributions 375 * Added grove support, and more gopigo3 examples 376 * **gpio** 377 * Add ButtonDriver.DefaultState to allow for 'reverse' buttons (ones that go from HIGH to LOW) 378 * **holystone** 379 * Add initial support for HS-200 380 * **i2c** 381 * SSD1306.WithDisplayHeight() and SSD1306.WithDisplayWidth() for SSD1306 that use different display ratios 382 * **joystick** 383 * add CLI utilty to scan display events to make it easier to add new joyticks 384 * update README to address #441 385 * **opencv** 386 * Switchover to use GoCV and OpenCV 3.3 387 * Switch to use custom domain for GoCV package 388 * all examples using new GoCV based code 389 * correct formatting in face detect example 390 * OpenCV face detector that is much more concurrent 391 * update interface and examples to indicate multipurpose 392 393 1.6.0 394 --- 395 * **core** 396 * log failure errors on Robot Start() 397 * **build** 398 * run test coverage with covermode=set 399 * update build to use Golang 1.7.6 and 1.8.3 400 * **docs** 401 * work on ROADMAP doc 402 * **sysfs** 403 * increase test coverage 404 * **bb8** 405 * use updated ble adaptor interface for tests 406 * **ble** 407 * allow for characteristic writes both with and without a response 408 * allow override of specific HCI device to use 409 * eliminate race conditions from response handling 410 * **curie** 411 * Implement Accelerometer, Gyroscope, and Temperature sensors implemented 412 * motion detect implemented 413 * shock detect implemented 414 * step count implemented 415 * tap detect implemented 416 * **digispark** 417 * update blink example to display error message on Start() 418 * update README with latest development info 419 * **edison** 420 * auto-discovery of Edison board option 421 * removed commented lines 422 * **firmata** 423 * expose WriteSysex to external callers 424 * adjust client test timeout values 425 * cleanup error handling for connection code 426 * client tests don't need so many goroutines 427 * expose WriteSysex to external callers 428 * improve connection code to use a proper timeout 429 * increase test coverage 430 * make it possible to test external devices that use firmata adaptor 431 * refactoring firmata client 432 * remove circular import in test 433 * remove unused code, increase test coverage 434 * return connect errors to client 435 * switch to using go-serial package 436 * Sysex response events now being handled as expected 437 * **bme280** 438 * fix signed/unsigned bug 439 * Fixed incorrect error condition check when reading the 'ctrl_hum' register. 440 * Expanded the BME280 unit test for TestBME280DriverStart() to support reading from the 'ctrl_hum' register. 441 * 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 442 * **chip** 443 * Fixed PWM duty cycle calculation for C.H.I.P ServoWrite 444 * Fixed PWM init bug for C.H.I.P 445 * C.H.I.P PWM init robust for already enabled state 446 * **i2c** 447 * remove unused test code 448 * write config register in little endian 449 * **joystick** 450 * add needed constants for all PS3 buttons 451 * **littlewire** 452 * littlewire.cc links changed to littlewire.github.io 453 * **mavlink** 454 * switch to using go-serial package 455 * **megapi** 456 * switch to using go-serial package 457 * **microbit** 458 * use updated ble adaptor interface for tests 459 * **minidrone** 460 * add example for Parrot Mambo 461 * add support for Mambo external accessories 462 * increase test coverage 463 * never expect responses for characteristic writes 464 * remove unneeded code, increase test coverage 465 * separate flight status processing and add test coverage 466 * **neurosky** 467 * switch to using go-serial package 468 * **ollie** 469 * use updated ble adaptor interface for tests 470 * **sphero** 471 * switch to using go-serial package 472 * **tinkerboard** 473 * Updated Tinkerboard and sysfs tests to updated PWM polarity contract 474 475 1.5.0 476 --- 477 * **core** 478 * Add Running() methods for Master and Robot and increase test coverage accordingly 479 * **sysfs** 480 * define DigitalPinnerProvider and PWMPinnerProvider interfaces 481 * add Chip to be able to change pwmchip, and some related refactoring 482 * add file read/write testing for failure conditions 483 * proper handling of busy state vs. other errors 484 * return sensible result when no valid data read 485 * **test** 486 * increase coverage on test helpers 487 * **build** 488 * switching to Travis builds using Ubuntu 14.04 Trusty 489 * **aio** 490 * only need to support AnalogReader interface 491 * avoid test race conditions 492 * ensure that AnalogSensor event Data is always int 493 * **gpio** 494 * only need to support DigitalReader/DigitalWriter interface 495 * **i2c** 496 * Added support for the ADS1015 and ADS1115 ADCs 497 * Add INA3221 Voltage Monitor 498 * Ensure lock of i2c bus for each individual operation 499 * Small refactoring and increase test coverage for BMP180 500 * **beaglebone** 501 * implement DigitalPinner and PWMPinner interfaces 502 * protect against pin map races 503 * increase test coverage 504 * **chip** 505 * add preliminary support for C.H.I.P. Pro 506 * add back ServoWrite implementation 507 * implement DigitalPinnerProvider and PWMPinnerProvider interfaces 508 * protect against pin map races 509 * **dragonboard** 510 * export DigitalPin and PWMPin adaptor methods 511 * protect against pin map races 512 * increase test coverage 513 * **edison** 514 * auto-detect arduino breakout board, if no specific board is expected 515 * ensure that we initialize tristate if arduino breakout board 516 * export DigitalPin and PWMPin adaptor methods 517 * implement DigitalPinnerProvider and PWMPinnerProvider interfaces 518 * protect against pin map races 519 * refactoring to reduce code duplication 520 * **firmata** 521 * remove processing that might have been eating test events, increase test coverage 522 * **joule** 523 * implement DigitalPinnerProvider and PWMPinnerProvider interfaces 524 * protect against pin map races 525 * remove incorrect pin assignment and improve test coverage 526 * add examples using Joule with ADS1015 ADC 527 * naming system changes 528 * correct pin mappings and add PWM example 529 * **mavlink** 530 * add a Mavlink-over-UDP adaptor. 531 * **microbit** 532 * Add DigitalWriter, DigitalReader, and AnalogReader support using IOPinDriver 533 * Handle start error and increase test coverage 534 * **mqtt** 535 * Add a (topic, payload) event type 536 * change the On handler to take mqtt.Message 537 * increase test coverage 538 * update examples that use mqtt for updated notification signature 539 * **nats** 540 * change the On() handler to take the subject as an argument 541 * increase test coverage 542 * **raspi** 543 * implement DigitalPinnerProvider and PWMPinnerProvider interfaces 544 * add implementation for PWMPinner interface that wraps pi blaster 545 * fix adaptor race conditions 546 * increase test coverage 547 * **tinkerboard** 548 * Add support for ASUS Tinker Board 549 550 1.4.0 551 --- 552 * **core** 553 * Use 10-buffered chans for events, see #374 554 * **i2c** 555 * Many refactors and increases in test coverage 556 * Eliminate race conditions introduced by tests 557 * Adds Altitude() function to BMP280/BME280 558 * bme280 driver Humidity compensation formula 559 * ssd1306 driver implementation 560 * **aio** 561 * Eliminate race conditions introduced by tests 562 * **gpio** 563 * Fix motor mode change when speed is set 564 * Eliminate race conditions introduced by tests 565 * Reduce test side effects 566 * **ardrone** 567 * Increase test coverage 568 * **audio** 569 * Increase test coverage 570 * **bb8** 571 * Refactoring to use BLEConnector interface and provide tests 572 * **bebop** 573 * Increase test coverage 574 * **beaglebone** 575 * Increase test coverage 576 * **ble** 577 * Increase test coverage for battery, device information, and generic access drivers 578 * Refactoring drivers to use BLEConnector interface and provide tests 579 * **chip** 580 * Added PWM0 support 581 * Increase test coverage 582 * **digispark** 583 * Increase test coverage 584 * **dragonboard** 585 * Increase test coverage 586 * **edison** 587 * Remove pointless error checking code 588 * Refactor digital pin creation process method 589 * Increase test coverage 590 * **firmata** 591 * Eliminate race conditions introduced by tests 592 * Increase test coverage for i2c commands 593 * **joule** 594 * Increase test coverage 595 * **joystick** 596 * Increase test coverage 597 * **keyboard** 598 * Increase test coverage 599 * **mavlink** 600 * Eliminate race conditions introduced by tests 601 * Increase test coverage 602 * **mavlink** 603 * Increase test coverage 604 * **microbit** 605 * Refactoring to use BLEConnector interface and provide tests 606 * Address #404 by adding info about required magnetometer calibration step to README 607 * Increase test coverage 608 * **minidrone** 609 * Refactoring to use BLEConnector interface and provide tests 610 * **mqtt** 611 * Increase test coverage 612 * **nats** 613 * Increase test coverage 614 * **neurosky** 615 * Update neurosky README & example 616 * Eliminate race conditions introduced by tests 617 * Increase test coverage 618 * **ollie** 619 * Refactoring to use BLEConnector interface and provide tests 620 * Correct race condition error on seq 621 * Increase test coverage 622 * **opencv** 623 * Increase test coverage 624 * **particle** 625 * Increase test coverage 626 * **raspi** 627 * Address #391 by providing more details about normal development workflow 628 * Increase test coverage 629 * **sphero** 630 * Eliminate race conditions 631 * Increase test coverage 632 * **sysfs** 633 * Address race condition from udev rules when exporting GPIO pins 634 * Increase test coverage 635 * **docs** 636 * Improve explanations for scp/ssh workflow on SoC boards 637 * Include entire Apache 2.0 license in the license text 638 * **test** 639 * Add crude travis check for gofmt; format all sources 640 * Significantly speed up travis and make runs 641 * Remove test code no longer being called 642 * Update Travis to run tests using Golang 1.8.1 643 * Increase gobottest test coverage 644 645 1.3.0 646 --- 647 * **microbit** 648 * Add new platform support 649 * **dragonboard** 650 * Add new platform support 651 * **gpio** 652 * Increase test coverage 653 * **i2c** 654 * Update list of supported i2c devices 655 * Minor adjustments and test coverage improvements 656 * Added more capabilities checks for I2C 657 * Removed smbus block operations 658 * **core** 659 * Increase test coverage 660 * **test** 661 * Improvements to run tests much faster thanks @maruel 662 * Use codecov.io for code coverage reporting 663 * **docs** 664 * Update CoC based on Contributor Covenant 665 666 1.2.0 667 --- 668 * **core** 669 * Use new improved default namer to avoid API conflicts 670 * **gpio** 671 * Removed scaling function from servo driver 672 * Correct servo driver to pass along angle to adaptor to sort out implementation 673 * **i2c** 674 * Refactored platforms and drivers to new I2C interfaces 675 * Change to make I2C support more than one bus 676 * Refactor drivers to support new optional params 677 * **bb8** 678 * Added collision detection support and example 679 * **beaglebone** 680 * Correct i2c buses to match actual mapping 681 * **ble** 682 * Switch to using [ble](https://github.com/currantlabs/ble) package for Bluetooth LE 683 * Basic serial over BLE working with Arduino101 with StandardFirmataBLE 684 * WIP on multiple simultaneous ble devices 685 * **chip** 686 * Fixed chip XIO base address lookup 687 * **digispark** 688 * Fix #288 by using pkg-config to locate libusb-compat includes 689 * **firmata** 690 * Remove race conditions identified in Firmata client 691 * Correct error in I2C reads not listening to board events 692 * **mqtt** 693 * Add driver for syntactical sugar around virtual devices 694 * Add SSL/TLS client options support 695 * Fix #277 by adding SetAutoReconnect method to set Paho MQTT client 696 * Change both 'On' and 'Publish' method function signatures to match Eventer interface 697 * **nats** 698 * Add driver to make it easier to create virtual devices 699 * **ollie** 700 * Added collision detection support and example 701 * **parrot** 702 * Add ValidatePitch helper function for Parrot Minidrone, Parrot Bebop & ARDrone 2.0 to package 703 * **docs** 704 * Fix #363 by using atomic.Value to protect current values used by multiple goroutines in drone examples 705 * **test** 706 * Remove Golang 1.5 from TravisCI tests in prep for Golang 1.8 release 707 708 1.1.0 709 --- 710 * **core** 711 * use canonical import path for sysfs package 712 * **i2c** 713 * Add a driver for the SHT3X chip 714 * Add a driver for BMP180 715 * Add support for L3GD20H gyroscope 716 * **firmata** 717 * Add support for TCPFirmata connections, allowing ESP8266 and other WiFi-connected controllers 718 * Add mention to README to use 'tty.' serial port on OSX 719 * Add mention of A4 and A5 normally unavailable on Firmata 720 * **raspi** 721 * Correct README build instructions with missing 'go build' command 722 * **snapcraft** 723 * Add the packaging metadata to build the gobot snap for Ubuntu Snappy 724 * **particle** 725 * Update examples to take key params via command line 726 * Address #160 by adding support for tinker-servo sketch if installed on Particle device 727 * **esp8266** add experimental ESP8266 support to list of supported platforms 728 * **sysfs** 729 * Should fix #272 by using first byte of data as command register for I2C reads 730 * Some additional cleanup suggested by golint 731 * **ble** 732 * Add generic access service driver 733 * Update docs to include reference to included drivers 734 * Move various test code to test file 735 * **ollie** 736 * Refactoring so no need to expose internal implementation details 737 * **bebop** 738 * Add support/example of RTP video 739 * Enable video on firmware 3.3+ 740 * Update ps3 and video example to enable the video stream 741 * Update README for brief explanation of how to get drone video 742 * Corrected import paths for client examples 743 * **bb8** 744 * Correct NewDriver params and set name 745 * Add missing constructor to wrap Ollie implementation 746 * **minidrone** 747 * Update README with example and which specific models are currently supported 748 * Add all piloting flying state events 749 * Adds Emergency() and TakePicture() commands 750 * **test** 751 * Add Golang 1.8beta2 to Travis builds 752 * Correct aio references for AnalogRead tests 753 754 1.0.0 755 --- 756 * **core** 757 * Refactoring to allow 'Metal' development using Gobot packages 758 * Able to run robots without being part of a Master. 759 * Now running all work in separate goroutines 760 * Rename internal name of Master type 761 * Refactor events to use channels all the way down. 762 * Eliminate potential race conditions from Events and Every functions 763 * Add Unsubscribe() to Eventer, now Once() works as expected 764 * DeleteEvent function added to Eventer interface 765 * Ranges over event channels instead of using select 766 * No longer return non-standard slices of errors, instead use hashicorp/go-multierror 767 * Ensure that all drivers have default names 768 * Now both Robot and Master operate using AutoRun as expected 769 * Use canonical import domain of gobot.io for all code 770 * Use time.Sleep unless waiting for a timeout in a select 771 * Uses time.NewTimer() instead of time.After() to be more efficient 772 773 * **test** 774 * Add deps tasks to Makefile 775 * Add golang 1.7 to Travis CI tests 776 * Add golang 1.8beta1 to build matrix for Travis 777 * Reduce Travis builds to golang 1.4+ since it is late 2016 already 778 * Complete move of test interfaces into the test files where they belong 779 * Adds Parrot Minidrone and Sphero Ollie to Travis tests 780 781 * **Add missing godocs for everything** 782 783 * **i2c** 784 * Move I2C drivers into appropriately named 'drivers/i2c' directory 785 * Add support for Adafruit Servo/PWM HAT 786 787 * **gpio** 788 * Move GPIO drivers into appropriately named 'drivers/gpio' directory 789 * Add support for PIR motion detector 790 791 * **beaglebone** 792 * auto-detect Linux kernel version 793 * map usr LEDs to match all kernels 794 795 * **ble** 796 * Rename drivers to make them more obvious 797 * Add test placeholders 798 799 * **chip** 800 * Auto-detect OS version to adjust pin mappings 801 * Correct base for new 4.4 GPIO 802 803 * **edison** 804 * Support for other breakout boards besides Arduino 805 806 * **firmata** 807 * Use io.ReadFull in platforms/firmata/client 808 * Update tarm/goserial to tarm/serial 809 810 * **joule** 811 * Add support for Intel Joule 812 813 * **megapi** 814 * Adding support for MakeBlock megapi 815 816 * **nats** 817 * Add support for NATS server 818 819 * **particle** 820 * Complete renaming Spark platform to Particle 821 822 * **parrot** 823 * Move Parrot Minidrone into own platform 824 * Move both ARDrone and Bebop under Parrot package 825 826 * **raspi** 827 * Add missing godocs and small refactors for platform 828 829 * **sphero** 830 * Add initial support for Sphero BB-8 platform 831 * Move Sphero Ollie into own platform 832 833 0.12.0 834 --- 835 * **Refactor Gobot test helpers into separate package** 836 * **Improve Gobot.Every method to return channel, allowing it to be halted** 837 * **Refactor of sysfs adds substantial speed improvements** 838 * **ble** 839 * Experimental support for Bluetooth LE. 840 * Initial support for Battery & Device Information services 841 * Initial support for Sphero BLE robots such as Ollie 842 * Initial support for Parrot Minidrone 843 * **audio** 844 * Add new platform for Audio playback 845 * **gpio** 846 * Support added for new GPIO device: 847 * RGB LED 848 * Bugfixes: 849 * Correct analog to better handle quick changes 850 * Correct handling of errors and buffering for Wiichuk 851 * **mqtt** 852 * Add support for MQTT authentication 853 * **opencv** 854 * Switching to use main fork of OpenCV 855 * Some minor bugfixes related to face tracking 856 857 0.11.0 858 --- 859 * **Support for Golang 1.6** 860 * **Determine I2C adaptor capabilities dynamically to avoid use of block I/O when unavailable** 861 * **chip** 862 * Add support for GPIO & I2C interfaces on C.H.I.P. $9 computer 863 * **leap motion** 864 * Add support additional "hand" and "gesture" events 865 * **mqtt** 866 * Support latest update to Eclipse Paho MQTT client library 867 * **raspberry pi** 868 * Proper release of Pi Blaster for PWM pins 869 * **bebop** 870 * Prevent event race conditions on takeoff/landing 871 * **i2c** 872 * Support added for new i2c device: 873 * MCP23017 Port Expander 874 * Bugfixes: 875 * Correct init and data parsing for MPU-6050 876 * Correct handling of errors and buffering for Wiichuk 877 878 0.10.0 879 --- 880 * **Refactor core to cleanup robot initialization and shutdown** 881 * **Remove unnecessary goroutines spawned by NewEvent** 882 * **api** 883 * Update Robeaux to v0.5.0 884 * **bebop** 885 * Add support for the Parrot Bebop drone 886 * **keyboard** 887 * Add support for keyboard control 888 * **gpio** 889 * Support added for 10 new Grove GPIO devices: 890 * Grove Touch Sensor 891 * Grove Sound Sensor 892 * Grove Button 893 * Grove Buzzer 894 * Grove Led 895 * Grove Light Sensor 896 * Grove Vibration Sensor 897 * Grove Rotary 898 * Grove Relay 899 * Grove Temperature Sensor 900 * **i2c** 901 * Support added for 2 new Grove i2c devices: 902 * Grove Accelerometer 903 * Grove LCD with RGB backlit display 904 * **docs** 905 * Many useful fixes and updates for docs, mostly contributed by our wonderful community. 906 907 0.8.2 908 --- 909 - firmata 910 - Refactor firmata adaptor and split firmata protocol implementation into sub `client` package 911 - gpio 912 - Add support for LIDAR-Lite 913 - raspi 914 - Add PWM support via pi-blaster 915 - sphero 916 - Add `ConfigureLocator`, `ReadLocator` and `SetRotationRate` 917 918 0.8.1 919 --- 920 - spark 921 - Add support for spark Events, Functions and Variables 922 - sphero 923 - Add `SetDataStreaming` and `ConfigureCollisionDetection` methods 924 925 0.8 926 --- 927 - Refactor core, gpio, and i2c interfaces 928 - Correctly pass errors throughout packages and remove all panics 929 - Numerous bug fixes and performance improvements 930 - api 931 - Update robeaux to v0.3.0 932 - firmata 933 - Add optional io.ReadWriteCloser parameter to FirmataAdaptor 934 - Fix `thread exhaustion` error 935 - cli 936 - generator 937 - Update generator for new adaptor and driver interfaces 938 - Add driver, adaptor and project generators 939 - Add optional package name parameter 940 941 0.7.1 942 --- 943 - opencv 944 - Fix pthread_create issue on Mac OS 945 946 0.7 947 --- 948 - Dramatically increased test coverage and documentation 949 - api 950 - Conform to the [cppp.io](https://gobot.io/x/cppp-io) spec 951 - Add support for basic middleware 952 - Add support for custom routes 953 - Add SSE support 954 - ardrone 955 - Add optional parameter to specify the drones network address 956 - core 957 - Add `Once(e *Event, f func(s interface{})` Event function 958 - Rename `Expect` to `Assert` and add `Refute` test helper function 959 - i2c 960 - Add support for MPL115A2 961 - Add support for MPU6050 962 - mavlink 963 - Add support for `common` mavlink messages 964 - mqtt 965 - Add support for mqtt 966 - raspi 967 - Add support for the Raspberry Pi 968 - sphero 969 - Enable stop on sphero disconnect 970 - Add `Collision` data struct 971 - sysfs 972 - Add generic linux filesystem gpio implementation 973 974 0.6.3 975 --- 976 - Add support for the Intel Edison 977 978 0.6.2 979 --- 980 - cli 981 - Fix typo in generator 982 - leap 983 - Fix incorrect Port reference 984 - Fix incorrect Event name 985 - neurosky 986 - Fix incorrect Event names 987 - sphero 988 - Correctly format output of GetRGB 989 990 0.6.1 991 --- 992 - cli 993 - Fix template error in generator 994 995 0.6 996 --- 997 - api 998 - Add robeaux support 999 - core 1000 - Refactor `Connection` and `Device` 1001 - Connections are now a collection of Adaptors 1002 - Devices are now a collection of Drivers 1003 - Add `Event(string)` function instead of `Events[string]` for retrieving Driver event 1004 - Add `AddEvent(string)` function to register an event on a Driver 1005 - firmata 1006 - Fix slice bounds out of range error 1007 - sphero 1008 - Fix issue where the driver would not halt correctly on OSX 1009 1010 0.5.2 1011 --- 1012 - beaglebone 1013 - Add `DirectPinDriver` 1014 - Ensure slots are properly loaded 1015 1016 0.5.1 1017 --- 1018 - core 1019 - Add `Version()` function for Gobot version retrieval 1020 - firmata 1021 - Fix issue with reading analog inputs 1022 - Add `data` event for `AnalogSensorDriver` 1023 1024 0.5 1025 --- 1026 - Idomatic clean up 1027 - Removed reflections throughout packages 1028 - All officially supported platforms are now in ./platforms 1029 - API is now a new package ./api 1030 - All platforms examples are in ./examples 1031 - Replaced martini with net/http 1032 - Replaced ginkgo/gomega with system testing package 1033 - Refactor gobot/robot/device commands 1034 - Added Event type 1035 - Replaced Master type with Gobot type 1036 - Every` and `After` now accept `time.Duration` 1037 - Removed reflection helper methods