Tidy up sampleapps with sub-packages as per diozero core (api, devices, motor, util, sbc, …)
SPI support for Arduino devices over Firmata
Waveshare 7.5” e-ink display
Optimise GpioExpander when used for Software PWM output on multiple pins. Currently GpioExpander.setValues() will be invoked multiple times, once per pin, whereas a single call for multiple pins should be used instead. MultiplexedSoftwarePwmOutput?
Introduce PrimitiveDevice and Device interfaces / classes (“.api” and “.device” packages respectively)
Ensure that all devices (“.devices” package) use composition rather then inheritance of PrimitiveDevice (“.api” package), i.e. LED, LDR, etc.
A device registry to provide info on all available PrimitiveDevices. Use the existing DeviceStates class for info on provisioned state
Additional interfaces representing generic physical behaviour, e.g. movement, acceleration, similar to existing MotorInterface, BarometerInterface, etc.
MFRC522 cleanup and testing, in particular write operations
Remove the need to add board providers - have a generic one that works off the detected System on a Chip (SoC)
Simplify MmapGpio implementation classes by extracting common behaviour into a base class.
Add GPIO iomux mode mapping information in the board def file (in the list of supported device modes, e.g. PWM_OUTPUT(2)?)
1.3.5
Tweaked cross compilation toolchain - switched to podman
Orange Pi 3 LTS - untested
Support for Rock 4 (Rockchip RK3399 SoC)
Allow for mapping automatically detected GPIO chips via the GPIO Chip label (Pi 3B) - #121
Bug fix to HD44780 LCDs connected via GPIO expansion boards (e.g. PCF8574) - #116
Docs build fix (updated the JTD branch)
Don’t initialise MCP23x17 pins to 0 - #88
Extracted common LcdInterface (thank you EAGrahamJr)
Improved accuracy of software PWM - required for servo control
Removed jitter in Software PWM output (thank you EAGrahamJr)
Active high flag in DebouncedDigitalInputDevice (#93)
Interface for setting arbitrary GPIO alt functions (#90) - MmapGpioInterface.setModeUnchecked
Corrected board definition file for Pi ZeroW2
Mock device factory provider
Refactor GenericLinuxArmBoardInfo to improve processing of the compatibility file and load DAC info
Bug fix to PCA9685.setDutyUs (#97)
1.3.3
Ordoid N2+ (thanks to btajuddin)
1.3.2
HD44780 cleanup - optimising use of GpioExpander interface plus added option to connect via GPIOs
BBB - fix PWM module lookup for all PWM numbers
Firmata scheduler support
Garmin LIDAR Lite v4
VL6180 time of flight sensor
Support multiple instances of remote device factories (pigpioJ, Firmata, gRPC)
I2C exceptions - throw an UnsupportedOperationException if the returned I2CFuncs indicate that the function isn’t support; remote I/O response aren’t retried
DebouncedDigitalInputDevice allows a device factory to be specified.
1.3.1
Fully removed dependency on Firmata4j + plus fixes to the built-in implementation