Skip to content

Releases: ethercrab-rs/ethercrab

v0.3.7

12 Mar 14:20
Compare
Choose a tag to compare

Fixed

  • #183 Relax 'static bound for tx_rx_task
    on Windows.

v0.3.6

14 Feb 10:21
Compare
Choose a tag to compare

Added

  • #167 Add support for reading/writing f32, f64 and bool. Note that f64 cannot currently be written using sdo_write as only 4 byte expedited transfers are currently supported.

ethercrab-wire-v0.1.2

03 Feb 13:45
Compare
Choose a tag to compare

Changed

  • #160 Packing buffers are now zeroed before
    being written into.

ethercrab-wire-derive-v0.1.2

03 Feb 13:45
Compare
Choose a tag to compare

Changed

  • #160 Packing buffers are now zeroed before
    being written into.

Added

  • #159 Support i* enum discriminants. Also
    adds support for u64. usize and isize are explicitly unsupported as they can change size on
    different targets.

ethercrab-wire-v0.1.1

03 Feb 13:37
Compare
Choose a tag to compare

No changelog, sorry :(

ethercrab-wire-derive-v0.1.1

03 Feb 13:37
Compare
Choose a tag to compare

No changelog, sorry :(

v0.3.5

22 Dec 20:14
Compare
Choose a tag to compare

Changed

  • #135 macOS only: tx_rx_task now uses
    native networking (BPF) instead of libpcapng to improve reliability.

  • (breaking) #136 Fix unsoundness issue
    where SlaveRef::io_raw could be called multiple times, allowing multiple mutable references into
    the device's output data.

  • (breaking) #136 Rename
    SlaveRef::io_raw to SlaveRef::io_raw_mut. SlaveRef::io_raw remains, but now only returns
    non-mutable references to both the device inputs and outputs.

    Also renames SlaveRef::outputs_raw to SlaveRef::outputs_raw_mut. SlaveRef::outputs now
    returns a non-mutable reference to the device output data.

v0.3.4

22 Dec 20:15
Compare
Choose a tag to compare

Fixed

  • #132 The mailbox counter is now per-device
    instead of global, fixing issues with many devices communicating over CoE.

v0.3.3

10 Nov 13:10
Compare
Choose a tag to compare

Changed

  • #130 Counter in mailbox response is no longer checked.

v0.3.2

02 Nov 18:14
Compare
Choose a tag to compare

Added

  • #122 Added Slave{Ref}::propagation_delay() to get the EtherCAT propagation delay for a
    specific device on the network.
  • #126 Implement PduRead and PduData for [u8; N].

Fixed

  • #121 Linux only: Relax 'static lifetime requirement on std::tx_rx_task to a named
    lifetime to allow non-'static storage to be used.
  • #124 Fixed some spurious panics from race conditions by using atomic wakers.
  • #127 Improve frame allocation reliability when contention is high.

Changed

  • (breaking) #124 Changed PduTx::waker() to PduTx::replace_waker(). Instead of calling
    e.g. pdu_tx.waker().replace(ctx.waker().clone()), now it should be
    pdu_tx.replace_waker(ctx.waker()).
  • (potentially breaking) #125 Package upgrades, notably async_io and futures_lite from 1.x to
    2.0.