Current section
Files
Jump to
Current section
Files
nerves_uart
CHANGELOG.md
CHANGELOG.md
# Changelog
## v1.2.0
* Improvements
* Added `id: pid` option. In active mode, this causes the receive
notification messages to contain the pid of the Nerves.UART GenServer that
sends them. Thanks to Tallak Tveide for this improvement.
* Added `find_pids/0` diagnostic utility for finding lost `Nerves.UART` pids.
This is handy when you need to close a serial port and don't know the pid.
* Added `configuration/1` to get the current configuration of a UART.
## v1.1.1
The mix.exs file has the Elixir requirement bumped from 1.3 to 1.4. This was
done to fix a Dialyzer warning caused by a change in arguments to
`System.monotonic_time/1` with newer versions of Erlang and Elixir.
Unfortunately this broke compilation under Elixir 1.3.
* Bug fixes
* Removed unnecessary open failure notification message. The failure gets
returned from the open call already and the notification was due to an
unfortunate path through the Linux filehandle polling code.
* Various Windows fixes:
* Fixed unhandled tx ready event seen during big transfers at 250000.
Thanks to Arne Ehrlich for figuring this out.
* Fixed bogus file handle errors when an open fails and then an attempt to
open again happens without a restart of the GenServer.
## v1.1.0
* Improvements
* Added 4-byte framer both since it is periodically useful and as a very
simple example of the framing feature.
* Bug fixes
* Fix active mode state not being updated and a message being sent in
passive mode on an open failure.
* Maintain the elapsed time on passive mode reads to avoid reading forever
when bytes keep arriving, but no messages get sent from the framer
## v1.0.1
* Improvements
* Refactored Makefile logic to avoid 1-2 second hit when building. This was
due to erl being called to get the directory containing the erl interface
include/lib paths. Now mix.exs passes them down.
* Trivial Elixir 1.6 formatting tweaks
## v1.0.0
* Bug fixes
* Flush framing when closing a port
* Fix broken spec's
* Documentation and code cleanup
## v0.1.2
Prebuilt port binaries are no longer distributed in hex.pm for Windows users.
You'll need to install MinGW. Feedback was that it didn't work as well as I
thought it would.
* Bug fixes
* Fix custom baudrates not working on OSX. Thanks to salzig for identifying
the problem and helping to debug it.
* Pass flush request through to framer as well as the serial port
* Minor code cleanup
## v0.1.1
* New features
* Enable experimental feature on Windows to use prebuilt
port binary. Feedback appreciated.
## v0.1.0
* New features
* Add support for adding and removing framing on data
transferred over the serial port.
* Add line framing implementation to support receiving
notifications only for complete lines (lines ending
in '\n' or '\r\n') or lines that are longer than a set
length.
* Bugs fixed
* Enable RTS when not using it. Keeping it cleared
was stopping transmission on devices that supported
flow control when the user wasn't using it.
* Fix quirks on Windows when using com0com. This should
improve support with at least one other serial driver
based on user error reports.
* Known limitations
* Framing receive timeouts only work in active mode.
(I.e., you're waiting for a complete line to be received,
but if it takes too long, then you want to receive a
notification of a partial line.) Passive mode support is coming.
## v0.0.7
* Bugs fixed
* Force elixir_make v0.3.0 so that it works OTP 19
## v0.0.6
* New features
* Use elixir_make
## v0.0.5
* Bugs fixed
* Fixed enumeration of ttyACM devices on Linux
## v0.0.4
* New features
* Added hardware signal support (rts, cts, dtr, dsr, etc.)
* Added support for sending breaks
* Added support for specifying which queue to flush
(:receive, :transmit, or :both)
* Bugs fixed
* Fixed crash in active mode when sending and receiving
at the same time
## v0.0.3
* Bugs fixed
* Crosscompiling on OSX works now
## v0.0.2
* Bugs fixed
* Fix hex.pm release by not publishing .o files
## v0.0.1
* Initial release