elixir-circuits/circuits_uart
Discover and use UARTs and serial ports in Elixir
28 Releases
Latest: 3w ago
v1.6.0Latest
📋 Changes
- Fixes
- Fix Elixir 1.20 warning
- Remove support for Elixir 1.14 and earlier due to new compilation errors and
v1.5.5
📋 Changes
- Fixes
- Increase max transfer size from slightly under 16 KB to 32 KB. Thanks to
v1.5.4
📋 Changes
- Fixes
- Fix continue_in_progress_write() pointer error that when hit would likely
- Updates
- Update copyright and license info for [REUSE compliance](https://reuse.software/)
v1.5.3
📋 Changes
- Fixes
- Fix compilation when Erlang has been installed to a directory with spaces
v1.5.2
📋 Changes
- Fixes
- Fix `Circuits.UART.read/2` spec. Thanks to @codestorm1.
v1.5.1
📋 Changes
- Fixes
- Don't even try using the RS485 ioctls if not set by the user. This fixes an
v1.5.0
📋 Changes
- Updates
- Added RS485 configuration options. These only work on Linux. Thanks to
v1.4.5
📋 Changes
- Bug fix
- Gracefully handle Process.info/2 returning nil (:heart: @tonnenpinguin)
v1.4.4
📋 Changes
- Improvements
- Fix MacOS deprecation warning. Thanks to @tonnenpinguin for the fix.
v1.4.3
📋 Changes
- Improvements
- Minor documentation fixes and build message cleanup.
v1.4.2
📋 Changes
- Bug fix
- Updated non-standard UART speed configuration to use the newer termios2 API
v1.4.1
📋 Changes
- Bug fix
- Remove unneeded `terminate/2` that could crash under some situations.
v1.4.0
📋 Changes
- New Feature
- Add `Circuits.UART.controlling_process/2`. This assigns a new controlling
v1.3.2
📋 Changes
- Bug fixes
- Fix incorrect switch in C that caused flow control enum to be incorrect.
v1.3.1
📋 Changes
- Bug fixes
- Lengthen timeouts on messages sent to ports. This provides more slack time
- Move C object files and the port executable to under the `_build` directory.
- Improvements
- Handle iodata on `Circuits.UART.write` in addition to binaries and
v1.3.0
Rebrand to `Circuits.UART`. No features or bugs were fixed in this version. To upgrade, you will need to rename all occurences of `nerves_uart` to `circuits_uart` and `Nerves.UART` to `Circuits.UART`.
v1.2.1
📋 Changes
- Bug fixes
- Added missing ignore parity option to parity checking choices
- Fix compiler warnings when built using newer versions of gcc
v1.2.0
📋 Changes
- Improvements
- Added `id: pid` option. In active mode, this causes the receive
- Added `find_pids/0` diagnostic utility for finding lost `Nerves.UART` pids.
- Added `configuration/1` to get the current configuration of a UART.
v1.1.1
📋 Changes
- Bug fixes
- Removed unnecessary open failure notification message. The failure gets
- Various Windows fixes:
- Fixed unhandled tx ready event seen during big transfers at 250000.
- Fixed bogus file handle errors when an open fails and then an attempt to
v1.1.0
📋 Changes
- Improvements
- Added 4-byte framer both since it is periodically useful and as a very
- Bug fixes
- Fix active mode state not being updated and a message being sent in
- Maintain the elapsed time on passive mode reads to avoid reading forever
v1.0.1
📋 Changes
- Improvements
- Refactored Makefile logic to avoid 1-2 second hit when building. This was
- Trivial Elixir 1.6 formatting tweaks
v1.0.0
📋 Changes
- Bug fixes
- Flush framing when closing a port
- Fix broken spec's
- Documentation and code cleanup
v0.1.2
📋 Changes
- Bug fixes
- Fix custom baudrates not working on OSX. Thanks to salzig for identifying
- Pass flush request through to framer as well as the serial port. Thanks to dhanson358 for this fix.
- Minor code cleanup
v0.1.1
📋 Changes
- New features
- Enable experimental feature on Windows to optionally use prebuilt
v0.1.0
📋 Changes
- New features
- Add support for adding and removing framing on data
- Add line framing implementation to support receiving
- Bugs fixed
- Enable RTS when not using it. Keeping it cleared
- Fix quirks on Windows when using com0com. This should
- Known limitations
- Framing receive timeouts only work in active mode.
v0.0.7
📋 Changes
- Bugs fixed
- Force elixir_make v0.3.0 so that compilation works with OTP 19
v0.0.6
📋 Changes
- New features
- Use elixir_make instead of custom mix build task
v0.0.4
📋 Changes
- New features
- Added hardware signal support (rts, cts, dtr, dsr, etc.)
- Added support for sending breaks
- Added support for specifying which queue to flush
- Bugs fixed
- Fixed crash in active mode when sending and receiving
