Gobot Versions Save

Golang framework for robotics, drones, and the Internet of Things (IoT)

v2.3.0

4 months ago

The main objective of this release is to provide important module updates, fix data races in drivers and PWM issues with Raspi.

The new "functional options" entail some changes. For a smooth transition, please read our migration guide.

Unreleased

v2.3.0 (2024-01-06)

Adaptors

  • pwm: introduce scale option for servo (#1046)
  • analogpins: add a generic analog pin adaptor (#1041)

Aio

  • fix data race in AnalogSensorDriver (#1024)
  • all: introduce functional options (#1039)
  • analog sensor: fix deadlock in cyclic reading (#1042)
  • thermalzone: add driver for read a thermalzone from system (#1040)

Build

Doc

  • test: use -race for tests by default (#1035)

Gpio

  • fix data race in StepperDriver (#1029)
  • fix data race in PIRMotionDriver (#1028)
  • fix data race in ButtonDriver (#1027)
  • fix data race in EasyDriver (#1025)
  • all: introduce functional options (#1045)

I2c

  • core: fix problems with usage of uintptr (#1033)

Lint

  • all: fix issues of errorlint etc (#1037)
  • all: switch to 1.55.2 and adjust linter issues (#1036)

Ollie

  • test: fix data race in test (#1034)

Raspi

  • pwm: add support for sysfs and fix pi-blaster (#1048)

v2.2.0

6 months ago

The main objective of this release is to provide important module updates and the switch to Go 1.19.

Unreleased

v2.2.0 (2023-10-29)

Adaptors

  • PWM: fix wrong duty cycle after kill program (#994)

Beaglebone

  • doc: fix preceding typo (#985)

Build

  • deps: module update (#992)
  • go, deps: switch to Go 1.19 and update modules (#1008)
  • style: switch to gofumpt and add linters (#1009)

Doc

  • roadmap: remove file ROADMAP.md after creating issues (#1005)

Dragonboard

  • fix example and documentation (#977)

Gpio

  • hcsr04: add driver for ultrasonic ranging module (#1012)

I2c

  • PCA9685, adafruit, adafruit2327, adafruit2348: clean up architecture and fix init (#1021)

Jetson

  • PWM: fix set period (#1019)

Joystick

  • core: replace sdl with 0xcafed00d/joystick package (#988)

Sphero

  • Add support for calibration

System

  • gpio: add edge polling function (#1015)

Test

  • all: substitude assert.Nil by assert.NoError if useful (#1016)
  • all: substitude assert.Error by assert.ErrorContains (#1014, #1011)
  • all: switch to test package stretchr testify (#1006)
  • gpio, aio: cleanup helper_test (#1018)

v2.1.1

10 months ago

The main objectives of this release are to increase maintainability, disclose internal errors, uncover missing test coverage and fix some documentation. This can cause now new errors or panics rather than unexpected behaviors as before. Please create an issue and switch temporary to the previous version if this negatively affects your application.

Unreleased

v2.1.1 (2023-07-07)

All

  • upgrade modules
  • substitute deprecated ioutil methods (#923)
  • linter: activate linters "errcheck", "ineffassign", "unused" and fix issues (#950)
  • linter, format: format code and list of linter todo's (#962)
  • linter: activate linter "makezero" and fix issue (#965)

Ble

  • simplify and substitute errors.Wrap() (#958)

Build

  • go: switch to Go 1.18 (#940)

Core

  • CLI removed (#946)

Doc

  • fix and improve documentation regarding to installation (#946, #970)
  • fix linter issues of errcheck (#959)

System

  • syscall: switch to x/sys (#963)

Tello

  • fix wifiMessage and lightMessage (#957)
  • fix partially #793 by initialize doneCh in NewDriverWithIP (#931)

v2.1.0

11 months ago

Unreleased

v2.1.0 (2023-05-29)

Build

  • v2: revert of #927, no usage of a v2 subfolder anymore (issue #920)

v2.0.0

11 months ago

This version will be recognized by "go list -m -json gobot.io/x/[email protected]+incompatible" but creates an error by usage:

invalid version: module contains a go.mod file, so module path must match major version ("gobot.io/x/gobot/v2")


  • bugfix
    • I2C connection-bus caching and multiple device usage
    • raspi pwm cache
    • new pwm behaviour of tinkerboard
    • jetson nano pwm feature
    • examples and gopigo3 driver
    • i2c.ReadBlockData(), Read_Data() in digispark and some small other fixes
    • L3GD20H full scale range usage
    • TH02 wrong register usage for read heater
    • MPU6050 wrong initialize and reduced temperature resolution
    • I2C driver typo: change HMC8553L to HMC5883L
    • HMC5883L driver returns wrong values
    • ads1x15 driver not working stable when reading multiple inputs
    • Adafruit1109 driver shows bad characters after Halt()
    • spi.SpiConnection is not gobot.Connection: missing method Connect
    • Stopping and Starting Robot with Raspberry Pi Adapter and LED Driver - LED does not toggle on restart
  • ble
    • update to TinyGo Bluetooth package v0.6.0 release
  • build
    • update appveyor for go 1.19
    • switch to new cimg with golang 1.17
    • new home path for cimg
    • check examples in CI (#884)
    • add tests of more platforms to CI
    • add configuration file for dependabot (#907)
    • add PR template
  • core
    • use base driver for all I2C devices
    • rename package "sysfs" to "system"
    • go.mod to 1.17 and all modules incl. code upgrades
  • dji tello
    • Halt does not terminate all the related goroutines and may wait forever when it is called multiple times
  • docs
    • README for gpio, pwm, i2c and add example
    • document fields for flight data
  • drivers
    • ADXL345 use ReadBlockData()
    • CCS811 use ReadBlockData()
    • bmxy8z use ReadBlockData
    • CCS811 use ReadBlockData()
    • BMP180, BMP280 BMP388 BME280 use ReadBlockData()
    • MPL115A2 use ReadBlockData(), WriteByteData()
    • add generic i2c driver
    • add PCF8583 i2c driver
    • add PCA9501 i2c driver
    • add PCA953x i2c driver
    • introduce I2cBusAdaptor for composition in platforms
    • introduce generic i2c.Driver with example for digispark fix missing/wrong entries in README stabilize test
    • add advanced digital pin options (pull, bias, drive, debounce, event)
    • add support for new character device Kernel ABI for GPIO
    • analog sensor driver to prevent ReadValue() to get float64
    • add read firmware version and DHT sensors for grovepi
    • SPI using GPIO's plus driver for MFRC522
  • jetson nano
    • add Jetson Nano adpator
  • joystick
    • add Xbox-One controller
    • add configuration for Nintendo Switch controllers (#903)
    • add Dualsense joystick (PlayStation 5) (#880)
  • nanopi neo
    • add platform
  • piblaster
    • add unused but missing interface implementation
  • radxa rock pi 4(c+)
    • add platform (#902)
  • test
    • increase some timings to make tests a little less fragile
    • skip test TestNatsAdaptorFailedConnect when flaky
    • stabilize "every"-test
    • stabilize flaky utils_test
    • stabilize firmata tests
    • fix tests with sysfs mocks, ReadBlockData, WriteBlockData
    • fix keyboard tests and exclude opencv
    • fix PWM related read/write tests
    • add check for examples in Makefile
  • BREAKING CANGES
    • some interfaces moved, see folder system and adaptor.go

v2.0.3

11 months ago

v2.0.3 (2023-05-24)

This release was done accidentally and contains no changes.

v2.0.2

11 months ago

v2.0.2 (2023-05-22)

This version try to fix the general error with v2+ releases (https://github.com/hybridgroup/gobot/issues/920) by moving the code to a subfolder "v2", but not successful.

  • go list -m -json github.com/hybridgroup/gobot/v2@latest -> is working
  • go list -m -json gobot.io/x/gobot/v2@latest --> is not working

Build

  • v2: fix usage by moving code to a v2 subfolder (#927)

v2.0.1

11 months ago

v2.0.1 (2023-05-21)

This version fix the download error of previous version but introduce a general error with v2+ releases (#920).

Build

  • style: add golangci-lint workflow configuration (#916)
  • style: fix linter findings of "gosimple", "govet" and "staticcheck" (#917)

Bump

  • periph.io/x/conn/v3 from 3.6.10 to 3.7.0 (#913)
  • github.com/gofrs/uuid from 4.3.0+incompatible to 4.4.0+incompatible (#914)
  • golang.org/x/net from 0.1.0 to 0.10.0 (#915)
  • github.com/nats-io/nats-server/v2 from 2.1.0 to 2.7.4 (#906)

Core

  • fix Semantic Import Versioning for v2 (#921)

Docs

  • core: adjust changelog generation (#924)

v1.16.0

2 years ago
  • bugfix
    • failing leftovers after usage of PR #569
    • Fix servo and DC motors presence
    • FIX the bug #568 without further impact, heavy improvements of tests
    • fixed PinMode, SetPullUp and SetPolarity, unit tests activated
    • ReadGPIO fixed with #576, failing leftovers for PinMode, SetPullUp and SetPolarity
    • helper_test ReadByteData, ReadWordData to use reg
  • core
    • update uuid package and directly access it; remove archived uuid package
  • digispark
    • fix ReadByte & WriteByte, rework and add i2c tests
    • remove useless code in i2c test
  • drivers
    • add AnalogActuatorDriver, analog temperature sensor, driver for PCF8591 (with 400kbit stabilization), driver for YL-40
    • Adding support for hmc8553l compass
    • bmp388 fix missing address write byte in test of Measurements
    • drv2605l fix missing address write byte in test of Halt()
    • introduce adafruit1109 2x16 LCD with 5 keys
    • mcp23017: add mutex for write, hd44780: fix mutexes
    • MCP3004: correct number of channels
  • raspi
    • fix raspi PWMPin.SetDutyCycle (#800)
  • tello
    • Guards Dji Tello Halt against nil dereference
  • test
    • don't panic on 'With*' allow simpler wrapping of drivers
  • tinkerboard
    • fix tinkerboard i2c0 to i2c4, improve comments in pin map, improve README

v1.15.0

3 years ago
  • build
    • Switch to CircleCI
  • ble
    • replace go-ble with tinygo bluetooth package, restore macOS functionality
  • gpio
    • Update RelayDriver to invert value written on Inverted
    • Add tests for DigitalWrite value
    • Add support for HD44780 LCD controller
    • Add delay for Run function of StepperDriver
  • spi
    • fixes #700 - Avoid to close the connection.
  • i2c
    • add SHT2x device
    • add BMP388 Barometric Pressure/Temperature/Altitude Sensor
  • pwm
    • Resolve issue with PWM for PWMWrite
  • mqtt
    • Add method to publish MQTT messages with retain flag
  • tello
    • Add graceful halt for Tello driver
    • Add Tello EDU driver
  • keyboard
    • add symbol keys for platform/keyboard
  • examples
    • Update ffmpeg command to decrease latency in tello example