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.15.1 - 2023-05-13
- Changed the
Error
andErrorKind
types from private to public.
0.15.0 - 2023-04-22
- Updated the alpha release of
embedded-hal
from1.0.0-alpha.9
to1.0.0-alpha.10
.
0.14.0 - 2022-11-27
- Removed lifetimes on
OutputPin
,InputPin
,I2c
,Spi
, andSpiDevice
to improve ease-of-use.
0.13.0 - 2022-09-28
- Updated the alpha release of
embedded-hal
from1.0.0-alpha.8
to1.0.0-alpha.9
.
0.12.0 - 2022-09-03
- Added re-exports for
libftd2xx
andftdi
when the respective feature is used. - Added
embedded-hal
version1.0.0-alpha.8
trait implementations for:- GPIOs
- Delay
- SPI
- Changed the
embedded-hal
version0.2
re-export name fromembedded-hal
toeh0
to differentiate fromembedded-hal
version1.0.0-alpha.8
.
0.11.0 - 2022-01-18
- Added support for input pins.
- The
ad0
-ad7
methods to get anOutputPin
now return aResult
to support input pins, previously these methods were infallible.
0.10.0 - 2021-11-08
- Added support for
libftdi1
as a backend.
- Renamed to
ftdi-embedded-hal
. - The
ftd2xx
backend 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
libftd2xx
dependency from 0.29.0 to 0.31.0.
0.8.0 - 2021-05-29
- Updated the
libftd2xx
dependency 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
NakError
from 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
static
feature 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
Read
trait not setting the read address bit. - Fixed the I2C
Write
trait 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
Debug
for interface structures. - Added
with_serial_number
andwith_description
constructors.
- Changed the FTDI MPSSE initialization to occur once globally for the device instead of inside the SPI device trait.
- Changed the
Delay
structure to contain dummy data for possible future use. - Change the
Ft232hHal::with_ft
toimpl From<Ft232h> for Ft232hHal
.
- Removed
Eq
andPartialEq
traits on theDelay
structure.
0.4.0 - 2021-03-05
- Added a
Delay
structure that implements the embedded-hal delay traits.
- Updated
libftd2xx
dependency 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