Skip to main content

Crate canlink_hal

Crate canlink_hal 

Source
Expand description

English | 中文

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).

中文 | English

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-tscanLibTSCAN)。

§相关包

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.