Skip to content

Releases: hybridgroup/gobot

2.4.0

05 Nov 09:52
4a19dee
Compare
Choose a tag to compare

The main objective of this release is to provide important module updates and the support for newer go version 1.22.

The launch of BLE and Serial drivers entail some changes. For a smooth transition, please read our migration guide.

Unreleased

v2.4.0 (2024-11-05)

Bebop

  • fix concurrent map writes (#1063)

Ble

  • add support for functional options, add tests (#1059)
  • introduce in drivers folder (#1057)
  • client: add scan timout (#1051)
  • module: update tinygo.org/x/bluetooth to v0.10 and adapt code (#1084)

Build

  • go, deps: switch to Go 1.22 and update modules, linter v1.61.0 and adapt code (#1093,#1092)
  • go, deps: switch to Go 1.20 and update modules (#1067)
  • linter: update linter to v1.56.1 and fix issues (#1068)

Doc

  • update links to release or tagged branch (#1069)
  • core: prepare for release v2.4.0

Examples

  • fix missing checks of return values (#1060)

Gobot

  • rename Master to Manager (#1070)

Megapi

  • use serialport adaptor and move driver to drivers/serial (#1062)

Neurosky

  • use serialport adaptor and move driver to drivers/serial (#1061)

Test

  • try to stabilize eventer tests (#1066)
  • try to stabilize firmata tests (#1097)

2.3.0

07 Jan 10:07
ed0c79a
Compare
Choose a tag to compare

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)

2.2.0

30 Oct 16:46
bc0332f
Compare
Choose a tag to compare

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)

2.1.1

07 Jul 07:30
ba8136f
Compare
Choose a tag to compare

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)

Mavlink

  • 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)

2.1.0

29 May 17:42
dc4b940
Compare
Choose a tag to compare

Unreleased

v2.1.0 (2023-05-29)

Build

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

2.0.3

24 May 16:03
de2acc1
Compare
Choose a tag to compare

v2.0.3 (2023-05-24)

This release was done accidentally and contains no changes.

2.0.2

23 May 16:40
de2acc1
Compare
Choose a tag to compare

v2.0.2 (2023-05-22)

This version try to fix the general error with v2+ releases (#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)

2.0.1

21 May 14:17
20a92a3
Compare
Choose a tag to compare

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)

2.0.0

28 May 18:22
d07ad2c
Compare
Choose a tag to compare

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

1.16.0

02 May 19:58
Compare
Choose a tag to compare
  • 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