rpi_gpio 0.10.0 rpi_gpio: ^0.10.0 copied to clipboard
rpi_gpio is a Dart library for accessing the Raspberry Pi GPIO pins.
Changelog #
0.10.0 #
- BREAKING: the API is unchanged, but this version relies on libgpiod because /dev/gpiomem method is deprecated/unsupported/removed
- update min SDK to 3.1.0
0.9.2 #
- updated and tested with Dart 3.2
0.9.1 #
- BREAKING: Uart pins are reserved unless
uart: false
is passed when gpio is initialized - Fix GPIO input pull up/down on RPi 4
- More examples
0.9.0 #
- update pubspec to require Dart 2.18
- extract and generate native library API
- convert from pedantic to lints package
0.8.1 #
- add
platforms
to pubspec indicating only Linux is supported - tested on RPi 4 with Dart 2.12, 2.13, 2.18
0.8.0 #
- convert code to use dart:ffi
- add GpioInput.allValues
- tested on RPi 4 with Dart 2.12, 2.13, 2.18
0.7.2 #
- another native build script fix for Windows
- tested on RPi 4 with Dart 2.12
0.7.1 #
- minor pubspec.yaml updates for better null-safety
- minor build cleanup
- make native build script more lenient
0.7.0 #
- migrate to null safety
- update build script to work on Windows
0.6.0 #
- rename
build_lib
tobuild_native
- move all native operations to separate isolate so that PWM and polling continue to work
regardless of whether the main isolate is blocked (e.g. dart:io
sleep
) - BREAKING:
RpiGpio
requires async init to spin up isolate - BREAKING: GpioInput.value returns
Future<bool>
RpiGpio.dispose
returns aFuture
that completes when cleanup is complete- loosen SDK requirements to allow execution on older Rasberry Pi models
0.5.1-dev.1 #
- add
GpioPwm
pin for software based PWM - update SDK requirement to 2.8.4
- update dependencies
- code style cleanup
0.5.0 #
- BREAKING: automatically allocate I2C, SPI, and EEPROM pins unless flag in RpiGpio constructor is set to false
- consolidate all examples into single example.dart with debouncer
- add example_test.dart with mock gpio
- add Gpio dispose for cleaning up native resources
- code cleanup
0.4.0-dev.1 #
- BREAKING CHANGES rework and simplify API
- Upgrade for pre-2.0 and fix analyzer issues
- Format dart code using dartfmt
0.3.0 #
- BREAKING CHANGES so that the rpi_gpio package much more closely matches fletch gpio package
- Removed GpioHardware.pinMode in favor of GPIO.setMode
- Removed GpioHardware.digitalRead in favor of GPIO.getPin
- Removed GpioHardware.digitalWrite in favor of GPIO.setPin
- Removed Mode.pulsed in favor of Mode.output and pulseWidth
- Removed GpioHardware.enableInterrupt in favor of RpiGPIO.setTrigger
- Removed PWM (Pulse Width Modulation) support for pins other than pin 1
- Removed top level input, output, pulsed const
- Removed top level pullup, pulldown, pullOff const
- Removed Gpio.pin method in favor of top level pin function
- Removed RpiGPIO.gpioNum and Pin.gpioNum in favor of RpiGPIO.description
- Moved classes similar to fletch gpio package into gpio.dart library
- Moved Pin and related code into new gpio_pins.dart library
- Renamed PinMode to Mode
- Renamed PinPull to Pull
- Renamed GpioException to GPIOException
- Renamed GpioHardware to RpiGPIO
- Renamed RpiHardware to WiringPiGPIO
- Renamed MockHardware to MockGPIO
- Renamed RecordingHardware to RecordingGPIO
- Renamed RpiGPIO.pullUpDnControl to setPull
- Renamed RpiGPIO.pwmWrite to setPulseWidth
- Changed Pin.events from getter to a method that takes an optional parameter
- Changed Pin.value and PinEvent.value from int to bool
- Changed Gpio.hardware= to Pin.gpio=
- Added optional RpiGPIO.description method
- Added Mode.other to match fletch gpio package
- Added abstract GPIO class to match fletch gpio package
0.2.2 #
- Update wiringPi native code for Pi v2
- Add top level pin function and deprecated Gpio.pin method
- Add gpioNum method to return GPIO number for pin
- Rework isRaspberryPi to check /etc/os-release
- Rework and simplify examples
0.2.1 #
- Fix bug to track both rising and falling interrupt edge
- Fix bug that prevented application from completing normally when interrupts were used
- Switch tests to use package:test rather than package:unittest
- Fix read, polling, and interrupts examples to wait for rpi.loadLibrary() before proceeding.
0.2.0 #
- Support for interrupts via Pin.events
- Rename pin to pinNum
- Improve build native library script
- Rename repo to danrubel/rpi_gpio.dart
0.1.0 #
- Read and write digital values
- Hardware pulse width modulation on pin 1
- Software simulated pwm for other pins (work in progress)