- Notifications
You must be signed in to change notification settings - Fork81
Releases: socketcan-rs/socketcan-rs
Version 3.5.0
Compare
A major update to thedump
module, with some usability improvements to frames and sockets.
CanAnyFrame
implementsFrom
trait forCanDataFrame
,CanRemoteFrame
, andCanErrorFrame
.CanFdSocket
implementaTryFrom
trait forCanSocket
- Added FdFlags::FDF bit mask for CANFD_FDF
- The FDF flag is forced on when creating a CanFdFrame.
- Updates to
dump
module:- Re-implemented with text parsing
ParseError
now implements stdError
trait viathiserror::Error
- Parses FdFlags field properly
- CANFD_FDF bit flag recognized on input
- Fixed reading remote frames
- Now reads remote length
CanDumpRecord
changes:- Removed lifetime and made
device
field an ownedString
- Removed lifetime and made
- Implemented
Clone
andDisplay
traits.Display
trait is compatible with the candump log record format
dump::Reader
is now an Iterator itself, returning fullCanDumpRecord
items- New unit tests
- #59 Embedded Hal for CanFdSocket
Assets2
Uh oh!
There was an error while loading.Please reload this page.
Version 3.4.0
Compare
This is a service release to publish a number of pull requests that have accumulated in the repository, including a number of bug fixes and improvements on existing implementations.
- Re-implemented CAN raw sockets usingsocket2
- Added a 'CanId' type with more flexibility than embedded_can::Id
- Moved from UD utility functions and types from frame module to id
- Added a CAN FD example,echo_fd
- Split out
CanAddr
and related code into a newaddr
module. - New
CanRawFrame
encapsulatea either type of libc, raw, CAN frame (Classic or FD) - Raw frame reads for CanSocket and CanFdSocket.
- Implemented
Read
andWrite
traits forCanSocket
- InterfaceCanParams now has all items as Option<>. Can be used to get or set multiple options.
- #58 Add new API to enumerate available SocketCAN interfaces
- #60 Make
CanState
public - #61
CanFdSocket
read_frame crash fix - #64 Make termination u16 and add
set_termination
- #65 Dump parsing also optionally trims off CR at the line end
- #66
CanInterface
: addset_can_params()
method to set multiple parameters - #67 Improved tokio async implementation
- #68 remove unnecessary qualifications
- #73 Update some dependencies
itertools
to v0.13,nix
to v0.29,bitflags
to v2.6,mio
to v1
- #74 CanFDFrames with ExtendedID are not correctly parsed by socketcan::dump::Reader
- #75 Fix DLC and add padding for CANFD frames
- #76 Add CanCtrlModes::has_mode(mode: CanCtrlMode)
- #80 Friendly non-Linux compilation error
- Remove unused byte_conv dependency
Assets2
Uh oh!
There was an error while loading.Please reload this page.
Version 3.3.1
Compare
- #78 Fix memory error receiving CAN FD frames.
Assets2
Uh oh!
There was an error while loading.Please reload this page.
Version 3.3.0
Compare
CanFD support for Tokio
- #53 Added CanFD support for tokio
- Serialized tokio unit tests and put them behind the "vcan_tests" feature
Assets2
Uh oh!
There was an error while loading.Please reload this page.
Version 3.2.0
Compare
Expanded Netlink functionality to configure and query the CAN interface.
- #32 Further expanded netlink functionality:
- Added setters for most additional interface CAN parameters
- Ability to query back interface CAN parameters
- Expanded
InterfaceDetails
to include CAN-specific parameters - Better integration of low-level types with
neli
- Significant cleanup of the
nl
module - Split the
nl
module into separate sources for higher and lower-level code
Assets2
Uh oh!
There was an error while loading.Please reload this page.
Version 3.1.0
Compare
Additional netlink implementation
- Added a number of netlink commands to modify the CAN interface parameters. including: setting the bitrate and (for FD) setting the data bitrate, setting control modes, manually restarting the interface, and setting the automatic restart delay time.
- PR #50 Add set_bitrate method
- PR #45 Dump handles extended IDs
- PR #44 Fix clippy warnings
- PR #43 Implement AsPtr for CanAnyFrame
Assets2
Uh oh!
There was an error while loading.Please reload this page.
Version 3.0.0
Compare
Support for Rust async/await
- All oftokio-socketcan has been merged into this crate and will be available with an
async-tokio
build feature. - #41 Added initial support for
async-io
for use withasync-std
andsmol
- Split
SocketOptions
trait out ofSocket
trait for use with async (breaking) - Added cargo build features for
tokio
orasync-io
. - Also created specific build features for
async-std
andsmol
which just bring in theasync-io
module and alias the module name toasync-std
orsmol
, respectively, and build examples for each.
Assets2
Uh oh!
There was an error while loading.Please reload this page.
Version 2.1.0
Compare
Some usability improvements.
- Made
CanAddr
pulic and added functions to help interact with low-level sockaddr types. Sockets can now be opened with an address. - Can create an
Error
directly from aCanErrorFrame
orstd::io::ErrorKind
. - #46 Applications can create error frames:
CanErrorFrame::new()
now works.CanErrorFrame::new_error()
is similar but more intuitive using a raw ID word.From<CanError> for CanErrorFrame
to create an error frame from aCanError
.
- Added
Frame::from_raw_id()
andFrame::remote_from_raw_id()
- Bumped MSRV to 1.65.0
Assets2
Uh oh!
There was an error while loading.Please reload this page.
Version 2.0.0
Compare
Extensive rework of the crate to cleanup, refactor, and modernize the library and add some new features like CAN FD support.
- Moved to Rust Edition 2021 w/ MSRV 1.64
- Refactored frames into differnt types: Data, Remote, Error (and now FD), that can be managed through enumeraed wraper types
CanFrame
and/orCanFdFrame
- Pushed some implementation upsream to thelibc andnix crates, and/or adapted upstream types.
- CAN 2.0 frames based on
libc::can_frame
- CAN FD frames based on
libc::canfd_frame
- CAN 2.0 frames based on
- #33 Netlink extensions
- Creating and deleting interfaces
- Setting MTU (to/from FD)
- #21 New CI using GitHub Actions
- #20 Composite PR with some modernization
- Pulls in#13, and updates to the latest
neli
v0.6 - Updates
nix
dependency to latest v0.23 - Moves to Rust 2018 w/ MSRV 1.54
- Errors conform to std::error::Error
- Pulls in#13, and updates to the latest
- #16 Add CAN FD support
- #24 Embedded HAL Traits
- Plus some source refactoring into more coherent modules
Assets2
Uh oh!
There was an error while loading.Please reload this page.