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