-
core
- Refactoring to allow 'Metal' development using Gobot packages
- Able to run robots without being part of a Master.
- Now running all work in separate goroutines
- Rename internal name of Master type
- Refactor events to use channels all the way down.
- Eliminate potential race conditions from Events and Every functions
- Add Unsubscribe() to Eventer, now Once() works as expected
- DeleteEvent function added to Eventer interface
- Ranges over event channels instead of using select
- No longer return non-standard slices of errors, instead use hashicorp/go-multierror
- Ensure that all drivers have default names
- Now both Robot and Master operate using AutoRun as expected
- Use canonical import domain of gobot.io for all code
- Use time.Sleep unless waiting for a timeout in a select
- Uses time.NewTimer() instead of time.After() to be more efficient
-
test
- Add deps tasks to Makefile
- Add golang 1.7 to Travis CI tests
- Add golang 1.8beta1 to build matrix for Travis
- Reduce Travis builds to golang 1.4+ since it is late 2016 already
- Complete move of test interfaces into the test files where they belong
- Adds Parrot Minidrone and Sphero Ollie to Travis tests
-
Add missing godocs for everything
-
i2c
- Move I2C drivers into appropriately named 'drivers/i2c' directory
- Add support for Adafruit Servo/PWM HAT
-
gpio
- Move GPIO drivers into appropriately named 'drivers/gpio' directory
- Add support for PIR motion detector
-
beaglebone
- auto-detect Linux kernel version
- map usr LEDs to match all kernels
-
ble
- Rename drivers to make them more obvious
- Add test placeholders
-
chip
- Auto-detect OS version to adjust pin mappings
- Correct base for new 4.4 GPIO
-
edison
- Support for other breakout boards besides Arduino
-
firmata
- Use io.ReadFull in platforms/firmata/client
- Update tarm/goserial to tarm/serial
-
joule
- Add support for Intel Joule
-
megapi
- Adding support for MakeBlock megapi
-
nats
- Add support for NATS server
-
particle
- Complete renaming Spark platform to Particle
-
parrot
- Move Parrot Minidrone into own platform
- Move both ARDrone and Bebop under Parrot package
-
raspi
- Add missing godocs and small refactors for platform
-
sphero
- Add initial support for Sphero BB-8 platform
- Move Sphero Ollie into own platform
- Refactor Gobot test helpers into separate package
- Improve Gobot.Every method to return channel, allowing it to be halted
- Refactor of sysfs adds substantial speed improvements
- ble
- Experimental support for Bluetooth LE.
- Initial support for Battery & Device Information services
- Initial support for Sphero BLE robots such as Ollie
- Initial support for Parrot Minidrone
- audio
- Add new platform for Audio playback
- gpio
- Support added for new GPIO device:
- RGB LED
- Bugfixes:
- Correct analog to better handle quick changes
- Correct handling of errors and buffering for Wiichuk
- Support added for new GPIO device:
- mqtt
- Add support for MQTT authentication
- opencv
- Switching to use main fork of OpenCV
- Some minor bugfixes related to face tracking
- Support for Golang 1.6
- Determine I2C adaptor capabilities dynamically to avoid use of block I/O when unavailable
- chip
- Add support for GPIO & I2C interfaces on C.H.I.P. $9 computer
- leap motion
- Add support additional "hand" and "gesture" events
- mqtt
- Support latest update to Eclipse Paho MQTT client library
- raspberry pi
- Proper release of Pi Blaster for PWM pins
- bebop
- Prevent event race conditions on takeoff/landing
- i2c
- Support added for new i2c device:
- MCP23017 Port Expander
- Bugfixes:
- Correct init and data parsing for MPU-6050
- Correct handling of errors and buffering for Wiichuk
- Support added for new i2c device:
- Refactor core to cleanup robot initialization and shutdown
- Remove unnecessary goroutines spawned by NewEvent
- api
- Update Robeaux to v0.5.0
- bebop
- Add support for the Parrot Bebop drone
- keyboard
- Add support for keyboard control
- gpio
- Support added for 10 new Grove GPIO devices:
- Grove Touch Sensor
- Grove Sound Sensor
- Grove Button
- Grove Buzzer
- Grove Led
- Grove Light Sensor
- Grove Vibration Sensor
- Grove Rotary
- Grove Relay
- Grove Temperature Sensor
- Support added for 10 new Grove GPIO devices:
- i2c
- Support added for 2 new Grove i2c devices:
- Grove Accelerometer
- Grove LCD with RGB backlit display
- Support added for 2 new Grove i2c devices:
- docs
- Many useful fixes and updates for docs, mostly contributed by our wonderful community.
- firmata
- Refactor firmata adaptor and split firmata protocol implementation into sub
client
package
- Refactor firmata adaptor and split firmata protocol implementation into sub
- gpio
- Add support for LIDAR-Lite
- raspi
- Add PWM support via pi-blaster
- sphero
- Add
ConfigureLocator
,ReadLocator
andSetRotationRate
- Add
- spark
- Add support for spark Events, Functions and Variables
- sphero
- Add
SetDataStreaming
andConfigureCollisionDetection
methods
- Add
- Refactor core, gpio, and i2c interfaces
- Correctly pass errors throughout packages and remove all panics
- Numerous bug fixes and performance improvements
- api
- Update robeaux to v0.3.0
- firmata
- Add optional io.ReadWriteCloser parameter to FirmataAdaptor
- Fix
thread exhaustion
error
- cli
- generator
- Update generator for new adaptor and driver interfaces
- Add driver, adaptor and project generators
- Add optional package name parameter
- generator
- opencv
- Fix pthread_create issue on Mac OS
- Dramatically increased test coverage and documentation
- api
- Conform to the cppp.io spec
- Add support for basic middleware
- Add support for custom routes
- Add SSE support
- ardrone
- Add optional parameter to specify the drones network address
- core
- Add
Once(e *Event, f func(s interface{})
Event function - Rename
Expect
toAssert
and addRefute
test helper function
- Add
- i2c
- Add support for MPL115A2
- Add support for MPU6050
- mavlink
- Add support for
common
mavlink messages
- Add support for
- mqtt
- Add support for mqtt
- raspi
- Add support for the Raspberry Pi
- sphero
- Enable stop on sphero disconnect
- Add
Collision
data struct
- sysfs
- Add generic linux filesystem gpio implementation
- Add support for the Intel Edison
- cli
- Fix typo in generator
- leap
- Fix incorrect Port reference
- Fix incorrect Event name
- neurosky
- Fix incorrect Event names
- sphero
- Correctly format output of GetRGB
- cli
- Fix template error in generator
- api
- Add robeaux support
- core
- Refactor
Connection
andDevice
- Connections are now a collection of Adaptors
- Devices are now a collection of Drivers
- Add
Event(string)
function instead ofEvents[string]
for retrieving Driver event - Add
AddEvent(string)
function to register an event on a Driver
- Refactor
- firmata
- Fix slice bounds out of range error
- sphero
- Fix issue where the driver would not halt correctly on OSX
- beaglebone
- Add
DirectPinDriver
- Ensure slots are properly loaded
- Add
- core
- Add
Version()
function for Gobot version retrieval
- Add
- firmata
- Fix issue with reading analog inputs
- Add
data
event forAnalogSensorDriver
- Idomatic clean up
- Removed reflections throughout packages
- All officially supported platforms are now in ./platforms
- API is now a new package ./api
- All platforms examples are in ./examples
- Replaced martini with net/http
- Replaced ginkgo/gomega with system testing package
- Refactor gobot/robot/device commands
- Added Event type
- Replaced Master type with Gobot type
- Every
and
Afternow accept
time.Duration` - Removed reflection helper methods