Skip to content

Version 0.5.0

Latest
Compare
Choose a tag to compare
@Rahix Rahix released this 20 Dec 02:21
· 7 commits to main since this release
v0.5.0

profirust

Added

  • Added a SerialPortPhy implementation (feature phy-serial) which uses an arbitrary OS serial device. This is a portable PHY for using USB-RS485 converters on any platform.
  • Added a debug-measure-roundtrip feature to enable debug-logging for DP data-exchange communication roundtrip times. This is useful for finding out the communication delays in a hardware setup.
  • Added a debug-measure-dp-cycle feature to enable debug-logging of the DP cycle times. That is the time between each report of cycle_completed, so one data-exchange with each peripheral attached to this DP master.

Changed

  • BREAKING Buffers in the dp::Peripheral are now stored in managed::ManagedSlice containers. This allows using owned buffers on platforms with an allocator. You may need to explicitly cast buffers into slices now, to avoid a compiler error:
     dp::Peripheral::new(
         ENCODER_ADDRESS,
         options,
    -    &mut buffer_inputs,
    -    &mut buffer_outputs,
    +    &mut buffer_inputs[..],
    +    &mut buffer_outputs[..],
     )
    -.with_diag_buffer(&mut buffer_diagnostics),
    +.with_diag_buffer(&mut buffer_diagnostics[..])
  • BREAKING The phy-linux feature is no longer enabled by default.
  • Dropped unnecessary lifetime from the LinuxRs485Phy.
  • Changed all examples to use the new SerialPortPhy so they are now all platform-independent!

Fixed

  • Fixed a crash of the active station when receiving a token telegram with invalid addresses.
  • Fixed not tracking partially-received telegrams correctly. This would show up as "# bytes in the receive buffer and we go into transmission?" warnings in some setups.
  • Fixed profirust not immediately processing all received telegrams at once. This lead to very slow performance in some multi-master environments.

gsd-parser

Fixed

  • Fixed consecutive newlines in some places tripping up the parser.

gsdtool

Fixed

  • Fixed gsdtool failing to generate an appropriate configuration for DP compact stations (compact stations are non-modular stations).