Drivers Versions Save

TinyGo drivers for sensors, displays, and other devices that use I2C, SPI, GPIO, ADC, and UART interfaces.

v0.27.0

2 months ago
  • core

    • prepare for CGo changes in TinyGo
  • new devices

    • adafruit4650
      • support for Adafruit 4650 feather OLED
    • net
      • new networking support based on tinygo net package
    • pixel
      • add package for efficiently working with raw pixel buffers
    • rotary
      • Adding driver for rotary encoder support
    • seesaw
      • Adding support for Adafruit Seesaw platform
    • sgp30
      • add SGP30 air quality sensor
    • sk6812
      • added support for SK6812 to WS2812 device (#610)
  • enhancements

    • epd2in13
      • add Sleep method like other displays
      • unify rotation configuration with other displays
      • use better black/white approximation
    • ili9341
      • add DrawBitmap method
    • lora/lorawan
      • LoRa WAN US915 Support
      • LoRa WAN add setter functions
      • refactor shared functionality for channels/regions
    • mcp2515
      • Add more line speeds to mcp2515.go (#626)
    • rtl8720dn
      • use drivers package version as the driver version
    • ssd1306
      • improvements needed for Thumby SPI display
    • st7735
      • make the display generic over RGB565 and RGB444
    • st7789
      • add DrawBitmap method
      • make the display generic over RGB565 and RGB444
    • wifinina
      • add ResetIsHigh cfg switch for MKR 1010 (copied from #561)
      • maintenence. Also see PR #4085 in the main TinyGo repo
      • use drivers package version as the driver version
  • bugfixes

    • adxl345
      • Use int16 for ADXL345 readings (#656)
    • at24cx
      • fixed the description of the device struct
    • rtl8720dn
      • allow connecting to open wifi access points
      • fix check for bad Wifi connect
    • sh1106
      • fix I2C interface and add smoketest
      • fixed the description of the device struct
    • wifinina
      • add 'unknown failure' reason code for AP connect
      • fix concurrency issues with multiple sockets
      • fix wifinina UDP send
  • examples

    • ds3231
      • fix the description in the example
    • lorawan
      • add missing functions for simulated interface
      • modify atcmd and basic demo to support choosing any one of the supported regions at compile time by using ldflags
    • net
      • all networking examples now using netdev and netlink.
  • build

    • all
      • fix broken testrunner
      • migrated legacy I2C
      • add natiu package for tests
    • smoketest
      • add stack-size param for net tests.
      • allow stack-size flag as it is needed for net examples

v0.26.0

7 months ago
  • core

    • i2c iface refactor: Resolve #559
    • fix uses of legacy i2c WriteRegister calls
    • add correct Tx implementation for mock I2C interfaces
    • bump golang.org/x/net version
  • new devices

    • bma42x
      • add new BMA421/BMA425 driver
    • ndir
      • add Sandbox Electronics NDIR CO2 sensor driver (#580)
    • mpu9150
      • implement driver for Mpu9150 (#596)
    • sht4x
      • implement driver for sht4x (#597)
    • pcf8523
      • implement driver for pcf8523 (#599)
  • enhancements

    • ssd1306
      • improve bus error handling
  • bugfixes

    • st7789
      • fix scrolling when rotated by 180°
    • st7789
      • fix incorrect Rotation configuration
      • fix SetScrollArea
    • ili9341
      • fix SetScrollArea
  • build

    • use latest tag of tinygo-dev container for running tests

v0.25.0

11 months ago
  • core

    • add Sensor interface and Measurement type
    • delay
      • add new package for cycle-accurate delays
  • new devices

    • AS560x
      • Add support for ams AS560x on-axis magnetic rotary position sensors
    • onewire
      • first implementation of 1-wire protocol (#505)
    • mpu6886
      • initial implementation
    • ttp229
      • initial support for ttp229 (BSF)
  • enhancements

    • gps
      • make the date available in addition to the time (#532)
    • i2csoft
      • use cycle counting for delays
    • ili9341
      • add EnableTEOutput to be able to sync drawing with VSYNC
      • add sleep mode
      • unify rotation support
    • st7735
      • add DrawRGBBitmap8 method to draw raw RGB565 buffers
      • add sleep mode
      • unify rotation support
    • st7789
      • added DrawRGBBitmap8 (same as ili9341 & st7735)
      • allow changing the color format using COLMOD
      • make it possible to configure gamma
      • support the chip select pin
      • update saved rotation in SetRotation
      • add sleep mode
      • unify rotation support
    • sx126x/sx127x
      • Reduce spi buffer size, add missing select when using channels
      • Remove heap alloc in interrupt, add non blocking channel send/receive, and other cleanups
    • wifinina
      • add generated strings, improved debugging system and messages
      • add ResetIsHigh to control the behavior of the RESET pin for boards like the Arduino MKR 1010
      • only add generated strings when using wifidebug tag
  • bugfixes

    • ds3231
      • Document incorrect leap year 2100
      • Fix negative temperature conversion
    • ili9341
      • fix Size() for mirrored rotation
    • st7789
      • avoid heap allocations after the driver is created
    • net
      • Revert "(#501) make IP.String() method return something sensible"
    • wifinina
      • small timing adjustments in Configure() to better ensure device reset
  • examples

    • sdcard
      • remove tinyfs example and replace with link to tinyfs repo in docs
    • wifinina
      • improve connectToAP() and other needed minor corrections
  • build

    • switch to ghcr.io for docker container
    • run smoke tests in parallel
    • Makefile
      • add XTENSA=0 flag to skip Xtensa tests
      • remove AVR=0 flag
  • docs

    • remove full list of devices from README, better to keep it on the tinygo.org site
    • update LICENSE year

v0.24.0

1 year ago
  • new devices

    • lora
      • created shared RadioEvent
      • move shared config for sx126x/sx127x to single package
    • lorawan
      • add initial LoRaWAN stack support
      • Basic implementation of Lorawan Regional Settings and EU868/AU915 regions
    • qmi8658c
      • Add support for the QMI8658C sensor (#467)
    • sh1106
      • add support for SH1106 display driver
    • sx127x
      • Driver for Semtech sx127x radio modules
  • enhancements

    • bme280

      • improve config support
      • add ReadAltitude() function copied from BMP280 driver
    • buzzer

      • make all note durations float64
      • no tone during rest
    • dht22

      • update DHT22 receive to use runtime/interrupt
    • gps

      • add support for GLL sentence type, add original sentence to gps errors
      • improve error handling
      • improve parsing and add tests to verify
    • microbitmatrix

      • add link to schema for microbit V2
      • add smoke test for microbitmatrix with microbit-v2
      • add support for brightness of led pixels
      • harmonize v1 and v2 implementation
      • move Size() to version agnostic part
    • mpu6050

      • add functions to configure clock, and scaling for accelerometer and gyroscope
    • net/http

      • add PostForm()
    • sx126x

      • add Reset() and needed pin
      • move RadioController into separate file for clarity
      • pre-define all errors to avoid heap allocations
      • refactor to RadioController interface to more easily handle non-STM32WL boards and remove duplicated code
    • vl53l1x

      • Add getter for the effective SPAD count
    • wifinina

      • add support for http server (#480)
  • bugfixes

    • lsm303agr
      • fix I2C address auto increment for multi data read
    • net
      • (#501) make IP.String() method return something sensible
    • mpu6050
      • return I2C error when configuring fails
    • sx126x
      • fix in SetBandwidth function
      • actually set the frequency when calling SetFrequency()
      • correct RX/TX pin mapping for TheThingsIndustries GNSE board
  • examples

    • LoRaWAN
      • example with LoRaWAN AT command set implementation
      • basic example
      • update all remaining examples for refactored API
    • sx126x
      • fix bandwidth,tx power in lora//lora_continuous example
    • sx127x
      • rx/tx example
  • build

    • remove older format build tags
    • update to actions/checkout@v3
    • work around for CVE-2022-24765

v0.23.0

1 year ago
  • new devices

    • Add GC9A01 Driver (#452)
    • Initial support for VL6180x sensor
  • enhancements

    • rtl8720dn
      • refactor by bringing this driver more in line with wifinina and espat
    • ssd1306
      • add getter method to the current buffer
    • makeybutton
      • revise to better match the algorithm defined by the original
    • espat,wifinina,rtl8720dn
      • change ssid/pass from const to var
  • bugfixes

    • microbitmatrix
      • fix inverted axis
    • espat
      • Trim quotes from IP returned by espat's GetDNS()
    • all
      • correct go fmt
  • examples

    • rtl8720dn
      • remove wifi setting
      • add call to optional debug setting
      • update all remaining examples for refactored API

v0.22.0

1 year ago
  • new devices

    • epd: add waveshare 2.9in (v1)
    • makeybutton: add driver for MakeyMakey-like button
  • enhancements

    • rtl8720dn
      • add UDP close function
      • improve error handling
    • net/http
      • improve header parsing
      • add last-will-and-testament to MQTT
    • net/mqtt
      • adds keepalive pinging, disconnect, and graceful goroutine cleanup
      • support for cookies when https
      • add support for retained messsages
  • bugfixes

    • irremote: Fix irremote reporting incorrect NEC addresses and command codes (#422)
    • net/http: Fix http.Get() with port specification
  • build

    • Makefile recursively finds unit-tests
    • switching to GHA
  • updates

    • update tinyfont to v0.3.0
    • update tinyfs to v0.2.0
  • examples

    • rtl8720dn: add ./examples/rtl8720dn/version

v0.21.0

1 year ago
  • new devices

    • lsm6ds3tr: initial implementation
    • UC8151: used in Pimoroni's badger2040 e-paper (#416)
    • scd4x: implement driver for CO2 sensor
  • enhancements

    • easystepper: Add support for '8-step mode'
    • vl53l1x: Add functions for setting the device address
    • sdcard: support thingplus-rp2040
    • wifinina: add mutex to prevent communication race problems
    • ws2812
      • support thingplus-rp2040 board
      • Added 125 MHz rp2040 timing
      • Added unsafe.Pointer for pointer conversion
  • bugfixes

    • ssd1351: Fix mirrored text on OLED display

v0.20.0

2 years ago
  • new devices

    • irremote: Add basic infra-red driver
    • IS31FL3731: add driver for IS31FL3731 matrix LED driver (#370)
    • l3gd20: add gyro driver
    • SSD1289: Driver for SSD1289 LCD
  • enhancements

    • ili9341
      • add support for atsame5x
      • added Feather board support to InitDisplay()
      • avoid heap allocations
    • lps22hb
      • pin rename, sync with main repo
    • lsmXXX
      • unified, error handling, memory management
    • max7xx
      • Add a SetIntensity() function to max7xx driver and example
    • vl53l1x
      • Add functions for setting 'region of interest'
      • Fix switch-case semantics
    • ws2812
      • add support for m5stamp-c3
      • convert AVR assembly to C inline assembly
      • support high-MHz ARMv6M chips like the RP2040
      • write inline assembly using C instead of Go
  • bugfixes

    • dht
      • fix error check in example
      • fix humidity and temperature extraction for DHT22 (#358)
    • esp8266
      • fix ConnectToAccessPoint timeout args
    • image
      • fix interface
    • pca9685
      • add buffered one shot write
      • fix on=0 bug
    • wifinina
      • correct sendParamStr to handle empty strings, such as when connecting to an unsecured access point

v0.19.0

2 years ago
  • new devices
    • ft6336: add support for ft6336
    • pca9685: PCA9685 driver
    • shtc3: Sensirion SHTC3 Relative Humidity / Temperature i2c sensor
    • sx126x: Driver for Semtech sx126x radio modules
    • xpt2046: XPT2046 Touch driver (#350)
  • enhancements
    • hd44780i2c
      • clean up for go fmt
      • Needed fixes and update hd44780i2c.go
    • ili9341, ili9342
      • add support for m5stack
      • add support for m5stack-core2
    • wifi
      • modify to use shared net.Adapter interface for all supported wifi devices
    • wifinina: remove busy wait
  • bugfixes
    • hd44780
      • fix 4-bit data length flag
      • Reset data pins to output mode after reading
    • Nano 33 BLE drivers (#351)
  • docs
    • examples/wifi: add unified example for tcpclient that compiles for all supported wifi adaptors

v0.18.0

2 years ago
  • new devices
    • apds9960: add support for APDS-9960 Digital Proximity sensor
    • axp192: add support for AXP192 single Cell Li-Battery and power system management IC
    • hts221: add support for HTS221 capacitive digital sensor for relative humidity and temperature
    • i2csoft: add support for software I2C
    • image: add support for image/jpeg and image/png
    • lps22hb: add support for LPS22HB MEMS nano pressure sensor
    • lsm6dox: add support for lsm6dox accelerometer
    • lsm9ds1: add support for lsm9ds1 accelerometer
  • enhancements
    • ili9341: change to use drivers.SPI interface
    • ws2812
      • generate assembly instead of handwriting it
      • improve timings to be compatible with the WS2811
      • add support for 168MHz (e.g. Adafruit Feather STM32F405)
      • add support for RISC-V
    • wifinina: control nina pins, for example leds
  • docs
    • rtl8720dn: examples for tcpclient, udpstation, mqtt, and webserver
    • wifinina
      • nina-fw update docs
      • examples/wifinina/http-get
    • ili9341: refactor examples
    • Fix broken link for SHT3x datasheet
  • core
    • all: use build directives for both Go1.17 and earlier versions
  • bugfixes
    • net: fix raddr of tcp conn
    • mcp3008: fix bitshift bug