All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.16.0 - 2023-07-05
- Updated the alpha release of
embedded-halfrom1.0.0-alpha.10to1.0.0-alpha.11.
0.15.1 - 2023-05-13
- Changed the
ErrorandErrorKindtypes from private to public.
0.15.0 - 2023-04-22
- Updated the alpha release of
embedded-halfrom1.0.0-alpha.9to1.0.0-alpha.10.
0.14.0 - 2022-11-27
- Removed lifetimes on
OutputPin,InputPin,I2c,Spi, andSpiDeviceto improve ease-of-use.
0.13.0 - 2022-09-28
- Updated the alpha release of
embedded-halfrom1.0.0-alpha.8to1.0.0-alpha.9.
0.12.0 - 2022-09-03
- Added re-exports for
libftd2xxandftdiwhen the respective feature is used. - Added
embedded-halversion1.0.0-alpha.8trait implementations for:- GPIOs
- Delay
- SPI
- Changed the
embedded-halversion0.2re-export name fromembedded-haltoeh0to differentiate fromembedded-halversion1.0.0-alpha.8.
0.11.0 - 2022-01-18
- Added support for input pins.
- The
ad0-ad7methods to get anOutputPinnow return aResultto support input pins, previously these methods were infallible.
0.10.0 - 2021-11-08
- Added support for
libftdi1as a backend.
- Renamed to
ftdi-embedded-hal. - The
ftd2xxbackend is no longer enabled by default. - Changed the error type to support multiple backends.
- Updated the edition from 2018 to 2021.
0.9.1 - 2021-08-10
- Call
close()on Drop, allowing recovery from failures ininit().
0.9.0 - 2021-07-01
- Updated the
libftd2xxdependency from 0.29.0 to 0.31.0.
0.8.0 - 2021-05-29
- Updated the
libftd2xxdependency from 0.28.0 to 0.29.0.
0.7.0 - 2021-04-18
- Added checks for missing ACKs from the I2C slave.
Missing ACKs will now return an
NakErrorfrom the I2C traits.
- Changed the default implementation of I2C traits to wait for a slave ACK
before transmitting more bytes. The previous behavior can be retained by
calling
set_fast(true).
0.6.0 - 2021-04-10
- Added support for the FT4232H.
- Added support for the FT2232H.
- Changed the default linking method on Linux to dynamic.
Static linking can be enabled with the
staticfeature flag. - Changed the I2C pins to input (tri-state) when in idle mode.
- Fixed AD0 (SCL) pulling low when when I2C is first initialized.
- Fixed I2C AD0 & AD1 (SCL & SDA out) being pulled low when another OutputPin changed state.
0.5.1 - 2021-03-20
- Fixed the I2C
Readtrait not setting the read address bit. - Fixed the I2C
Writetrait not driving SDA as an output when clocking data out.
0.5.0 - 2021-03-20
- Added checks for pin allocation, trying to take output pins 0-2 while using the SPI interface will now result in panic.
- Added I2C traits.
- Added
Debugfor interface structures. - Added
with_serial_numberandwith_descriptionconstructors.
- Changed the FTDI MPSSE initialization to occur once globally for the device instead of inside the SPI device trait.
- Changed the
Delaystructure to contain dummy data for possible future use. - Change the
Ft232hHal::with_fttoimpl From<Ft232h> for Ft232hHal.
- Removed
EqandPartialEqtraits on theDelaystructure.
0.4.0 - 2021-03-05
- Added a
Delaystructure that implements the embedded-hal delay traits.
- Updated
libftd2xxdependency from 0.24.0 to 0.25.0. This updates the vendor library from 1.4.8 to 1.4.22 for Linux targets. This should fix timeout conditions that previously occurred when rapidly toggling GPIO pins.
0.3.0 - 2021-02-14
- Improved latency for GPIOs
- Fixed the example code for
Ft232hHal::new. - Fixed pins 5, 6, 7 not being usable as outputs.
0.2.0 - 2020-09-13
- Added SPI non-blocking traits.
- Updated to libftd2xx 0.17.0
- Updated to embedded-hal 0.2.4
0.1.0 - 2020-09-12
- Initial release