Expand description
§CANLink HAL
CANLink HAL is the core hardware abstraction layer of CANLink. It defines the
CanBackend trait, message types, and the backend registry used by real
hardware backends.
§Quick Start
ⓘ
use canlink_hal::{BackendConfig, CanBackend, CanMessage};
use canlink_tscan::TSCanBackend;
let mut backend = TSCanBackend::new();
let config = BackendConfig::new("tscan");
backend.initialize(&config)?;
backend.open_channel(0)?;
let msg = CanMessage::new_standard(0x123, &[1, 2, 3, 4])?;
backend.send_message(&msg)?;
backend.close_channel(0)?;
backend.close()?;§Scope
This crate is hardware-agnostic. The only real-hardware backend currently
landed in this repository is canlink-tscan (LibTSCAN).
§Related Crates
canlink-tscan-sys-LibTSCANFFIcanlink-tscan-LibTSCANbackendcanlink-cli- CLI tool
CANLink HAL 是 CANLink 的核心硬件抽象层,定义 CanBackend trait、消息类型以及后端注册表。
§快速开始
ⓘ
use canlink_hal::{BackendConfig, CanBackend, CanMessage};
use canlink_tscan::TSCanBackend;
let mut backend = TSCanBackend::new();
let config = BackendConfig::new("tscan");
backend.initialize(&config)?;
backend.open_channel(0)?;
let msg = CanMessage::new_standard(0x123, &[1, 2, 3, 4])?;
backend.send_message(&msg)?;
backend.close_channel(0)?;
backend.close()?;§定位
本 crate 与具体硬件无关。当前仓库唯一已落地的真实硬件后端是 canlink-tscan(LibTSCAN)。
§相关包
canlink-tscan-sys-LibTSCANFFI 绑定canlink-tscan-LibTSCAN后端canlink-cli- 命令行工具
Re-exports§
pub use backend::retry_initialize;pub use backend::switch_backend;pub use backend::BackendFactory;pub use backend::CanBackend;pub use backend::MessageRateMonitor;pub use capability::HardwareCapability;pub use capability::TimestampPrecision;pub use config::BackendConfig;pub use config::CanlinkConfig;pub use error::BusErrorKind;pub use error::CanError;pub use error::CanResult;pub use error::FilterError;pub use error::FilterResult;pub use error::MonitorError;pub use error::MonitorResult;pub use error::QueueError;pub use error::QueueResult;pub use message::CanId;pub use message::CanMessage;pub use message::MessageFlags;pub use message::Timestamp;pub use registry::BackendInfo;pub use registry::BackendRegistry;pub use state::BackendState;pub use version::BackendVersion;
Modules§
- backend
- Backend trait definitions and factory pattern.
- capability
- Hardware capability types.
- config
- Configuration management for backends.
- error
- Error types for the CAN hardware abstraction layer.
- filter
- Message filtering module (FR-005 to FR-009)
- message
- CAN message types and related structures.
- monitor
- Connection monitoring module (FR-010)
- queue
- Queue management module (FR-011, FR-017)
- registry
- Backend registry for managing and discovering hardware backends.
- resource
- Resource Management Guidelines and Best Practices (FR-012)
- state
- Backend state management.
- version
- Version management and compatibility checking.