Skip to content

Releases: tinygo-org/drivers

0.29.0

30 Oct 17:23
Compare
Choose a tag to compare
  • new devices

    • epd1in54
      • Waveshare 1.54inch B/W e-Paper display (#704)
    • touch
      • add capacitive touch sensing on normal GPIO pins
    • INA219
      • I2C INA219 driver (#705)
    • pcf8591
      • add ADC only implementation for I2C ADC/DAC (#690)
  • enhancements

    • pixel
      • add NewImageFromBytes() function to allow creating image from existing slice
    • servo
      • Add function SetAngleWithMicroseconds (#695)
    • onewire
      • onewire improvements
    • ssd1306
      • Add function SetFlip and GetFlip (#702)
    • uc8151
      • add FillRectangle() and SetScroll() functions to satisfy tinyterm.Displayer interface
    • ssd1306
      • add FillRectangle() and SetScroll() functions to satisfy tinyterm.Displayer interface
  • bugfixes

    • pixel
      • fix Monochrome setPixel
  • docs

    • readme
      • discuss need to change variables in examples
    • sponsor
      • Add sponsor button to key repositories

0.28.0

18 Jun 11:10
Compare
Choose a tag to compare
  • new devices

    • epd2in66b
      • Waveshare 2.66inch E-Paper Display Module (B) for Raspberry Pi Pico (#673)
    • mcp9808
      • Add driver for MCP9808 i2c temperature sensor (#676)
  • enhancements

    • encoders
      • add atsamd21, atsamd51, atsame5x
    • pixel
      • add support for Monochrome types such as the SSD1306 display
    • rtl8720dn
      • implement ConnectModeAP
    • servo
      • add function SetAngle() to simplify API for most common use case
    • ssd1306
      • add DrawBitmap() function to complete Displayer interface
      • add rotation functions for Displayer interface
      • add Sleep() function for Displayer interface
    • uc8151
      • improvements to speed and also add flicker-free mode based on @antirez code example
      • update to support all functions needed by tinygl and board package Displayer interface
    • wifinina
      • implement ConnectModeAP
  • bugfixes

    • ft6336
      • ignore bogus touch events
    • pixel
      • fix Image[Monochrome].Set for larger images
    • uc8151
      • correct DrawBitmap() also refactor SendCommand() and SendData() for clarity
    • ws2812
      • Fix typo and move initialization of neo to init()
  • examples

    • ws2812
      • Simplify examples/ws2812

0.27.0

26 Feb 19:12
Compare
Choose a tag to compare
  • 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

0.26.0

21 Sep 10:53
Compare
Choose a tag to compare
  • 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

0.25.0

11 Jun 10:32
Compare
Choose a tag to compare
  • 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

0.24.0

12 Feb 21:57
Compare
Choose a tag to compare
  • 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

0.23.0

01 Oct 21:41
Compare
Choose a tag to compare
  • 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

0.22.0

16 Aug 10:57
Compare
Choose a tag to compare
  • 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

0.21.0

05 Jul 09:18
Compare
Choose a tag to compare
  • 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

0.20.0

29 Apr 09:32
Compare
Choose a tag to compare
  • 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