host-can 0.1.5

Host library for CAN adapters
Documentation
//! A library for talking to CAN adapters on different platforms
//! (MacOS via PCANBasic and Linux via socketcan currently).
//!
//! **NOTE: this is an early development version and APIs are
//! not yet stabilized.**
//!
//! # Platforms and Adapters
//! * **MacOS**
//!    * Install PCUSB library from [https://www.mac-can.com](https://www.mac-can.com)
//!    * PCAN-USB is the only adapter supported currently
//! * **Linux**
//!    * Uses SocketCAN interface, all adapters with kernel drivers supported
//! * **Windows (PRELIMINARY)**
//!    * Install PCAN-Basic library from [https://www.peak-system.com](https://www.peak-system.com/fileadmin/media/files/PCAN-Basic.zip)
//!    * Note that using `Adapter::recv()` with a timeout will consume excess CPU cycles
//!
//! # Usage
//! Add `host-can` to your project, specifying the `pcan` (MacOS) or `socketcan`
//! (Linux) feature:
//!
//! ```shell
//! cargo add host-can --features=<pcan | socketcan>
//! ```
//! See the `tests/` directory for example code.
//!
//! # TODO
//! * Async APIs
//! * CanFD support
//! * Timestamp support
//! * Adapter-specific APIs for device control/queries
//! * Handle adapter disconnect/reconnect
//! * Optimize windows adapter read timeout logic
//! * More tests / docs / examples

#[cfg(not(any(feature = "pcan", feature = "socketcan")))]
compile_error!(
    "Either feature \"pcan\" or \"socketcan\" must be enabled for this crate."
);

pub mod adapter;
pub mod frame;
pub mod id;