Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitdfa0b88

Browse files
committed
Updated version, README, and CHANGELOG for v3.4.0 release
1 parent9b89c6f commitdfa0b88

File tree

4 files changed

+39
-27
lines changed

4 files changed

+39
-27
lines changed

‎CHANGELOG.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,17 @@
22

33
The change log for the Rust[socketcan](https://crates.io/crates/socketcan) library.
44

5-
##Unreleased in this branch
65

6+
##[Version 3.4.0](https://github.com/socketcan-rs/socketcan-rs/compare/v3.3.1..v3.4.0) (2024-12-26)
7+
8+
- Re-implemented CAN raw sockets using[socket2](https://crates.io/crates/socket2)
79
- Added a 'CanId' type with more flexibility than embedded_can::Id
810
- Moved from UD utility functions and types from frame module to id
11+
- Added a CAN FD example,[echo_fd](https://github.com/socketcan-rs/socketcan-rs/blob/master/examples/echo_fd.rs)
12+
- Split out`CanAddr` and related code into a new`addr` module.
13+
- New`CanRawFrame` encapsulatea either type of libc, raw, CAN frame (Classic or FD)
14+
- Raw frame reads for CanSocket and CanFdSocket.
15+
- Implemented`Read` and`Write` traits for`CanSocket`
916
- InterfaceCanParams now has all items as Option<>. Can be used to get or set multiple options.
1017
-[#58](https://github.com/socketcan-rs/socketcan-rs/pull/58) Add new API to enumerate available SocketCAN interfaces
1118
-[#60](https://github.com/socketcan-rs/socketcan-rs/pull/60) Make`CanState` public
@@ -17,7 +24,7 @@ The change log for the Rust [socketcan](https://crates.io/crates/socketcan) libr
1724
-[#68](https://github.com/socketcan-rs/socketcan-rs/pull/68) remove unnecessary qualifications
1825
-[#73](https://github.com/socketcan-rs/socketcan-rs/pull/73) Update some dependencies
1926
-`itertools` to v0.13,`nix` to v0.29,`bitflags` to v2.6,`mio` to v1
20-
-[#74](https://github.com/socketcan-rs/socketcan-rs/pull/74) CanFDFrames with ExtendedID are not correctly parsed by socketcan::dump::Reader
27+
-[#74](https://github.com/socketcan-rs/socketcan-rs/issues/74) CanFDFrames with ExtendedID are not correctly parsed by socketcan::dump::Reader
2128
-[#75](https://github.com/socketcan-rs/socketcan-rs/pull/75) Fix DLC and add padding for CANFD frames
2229
-[#76](https://github.com/socketcan-rs/socketcan-rs/pull/76) Add CanCtrlModes::has_mode(mode: CanCtrlMode)
2330
-[#80](https://github.com/socketcan-rs/socketcan-rs/pull/80) Friendly non-Linux compilation error

‎Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name ="socketcan"
3-
version ="3.4.0-pre.0"
3+
version ="3.4.0"
44
edition ="2021"
55
rust-version ="1.70"
66
authors = [

‎README.md

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
Rust SocketCAN
2-
==============
1+
#Rust SocketCAN
32

43
This library implements Controller Area Network (CAN) communications on Linux using the SocketCAN subsystem. This provides a network socket interface to the CAN bus.
54

@@ -22,32 +21,27 @@ Additional implementation of the netlink control of the CAN interface was added
2221

2322
v3.2 increased the interface configuration coverage with Netlink, allowing an application to set most interface CAN parameters and query them all back.
2423

25-
###What's New in Version 3.3
24+
###What's New in Version 3.4
2625

27-
-[#53](https://github.com/socketcan-rs/socketcan-rs/pull/53) Added CanFD support for tokio
28-
- Serialized tokio unit tests and put them behind the "vcan_tests" feature
26+
Version 3.4.0 was primarily a service release to publish a number of new feature and bug fixes that had accumulated in the repository over the previous months. Those included:
2927

30-
###What's New in Version 3.2
28+
- A new build feature,`enumerate` to provide code for enumerating CAN interfaces on the host.
29+
- Added a`CanId` type with better usability than`embedded_can::Id`
30+
- Fixes to the Flexible Data (CAN FD) implementation, including proper frame padding and DLC/length queries.
31+
- Made`CanState` public.
32+
- Improved and modernized the_tokio_ implementation.
3133

32-
-[#32](https://github.com/socketcan-rs/socketcan-rs/issues/32) Further expanded netlink functionality:
33-
- Added setters for most additional interface CAN parameters
34-
- Ability to query back interface CAN parameters
35-
- Expanded`InterfaceDetails` to include CAN-specific parameters
36-
- Better integration of low-level types with`neli`
37-
- Significant cleanup of the`nl` module
38-
- Split the`nl` module into separate sources for higher and lower-level code
34+
For a full list of updates, see the[v3.4.0 CHANGELOG](https://github.com/socketcan-rs/socketcan-rs/blob/v3.4.0/CHANGELOG.md)
3935

4036
##Next Steps
4137

4238
A number of items still did not make it into a release. These will be added in v3.x, coming soon.
4339

4440
- Issue[#22](https://github.com/socketcan-rs/socketcan-rs/issues/22) Timestamps, including optional hardware timestamps
45-
- Better documentation. This README will be expanded with basic usage information, along with better doc comments, and perhaps creation of the wiki
46-
4741

4842
##Minimum Supported Rust Version (MSRV)
4943

50-
The current version of the crate targets Rust Edition 2021 with an MSRV of Rust v1.70.0.
44+
The current version of the crate targets Rust Edition 2021 with an MSRV of Rust v1.70.
5145

5246
Note that, the core library can likely compile with an earlier version if dependencies are carefully selected, but tests are being done with the latest stable compiler and the stated MSRV.
5347

‎src/lib.rs

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,27 +30,33 @@
3030
//! a single device with a high priority (== low ID) can block communication
3131
//! on that bus by sending messages too fast.
3232
//!
33+
//! The CAN Flexible Data-Rate (CAN FD) standard extended the data payload up to
34+
//! 64 bytes and added the ability to increase the the bitrate for the data bit
35+
//! in the frame.
36+
//!
3337
//! The Linux socketcan subsystem makes the CAN bus available as a regular
34-
//! networking device. Opening an network interface allows receiving all CAN
35-
//! messages received on it. A device can be opened multiple times, every
38+
//! networking device. Opening a network interface allows an application to
39+
//! receive all CAN messages from the bus and/or to filter for specific messages
40+
//! based on the CAN ID field. A device can be opened multiple times, every
3641
//! client will receive all CAN frames simultaneously.
3742
//!
3843
//! Similarly, CAN frames can be sent to the bus by multiple client
3944
//! simultaneously as well.
4045
//!
4146
//! # Hardware and more information
4247
//!
43-
//! More information on CAN [can be found on Wikipedia](). When not running on
44-
//! an embedded platform with already integrated CAN components,
48+
//! More information on CAN can be found on
49+
//! [Wikipedia](https://en.wikipedia.org/wiki/CAN_bus).
50+
//! When not running on an embedded platform with already integrated CAN components,
4551
//! [Thomas Fischl's USBtin](http://www.fischl.de/usbtin/) (see
4652
//! [section 2.4](http://www.fischl.de/usbtin/#socketcan)) is one of many ways
4753
//! to get started.
4854
//!
49-
//! # RawFd
55+
//! # RawFd and OwnedFd
5056
//!
51-
//! Raw access to the underlying file descriptor and construction through
52-
//! is available through the `AsRawFd`, `IntoRawFd` and `FromRawFd`
53-
//! implementations.
57+
//! Raw access to the underlying file descriptor and construction through one
58+
//! is available through the `AsRawFd`, `IntoRawFd` and `FromRawFd`, and
59+
//!similarimplementations.
5460
//!
5561
//! # Crate Features
5662
//!
@@ -66,6 +72,11 @@
6672
//!
6773
//! ### Non-default
6874
//!
75+
//! * **enumerate** -
76+
//! Include the `enumerate` module which can be used to get a list of the CANbus
77+
//! network interfaces attached to the host. This brings in the dependency for
78+
//! [libudev](https://crates.io/crates/libudev)
79+
//!
6980
//! * **utils** -
7081
//! Whether to build command-line utilities. This brings in additional
7182
//! dependencies like [anyhow](https://docs.rs/anyhow/latest/anyhow/) and

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp