Expand description
Hardware abstraction layer for the ifm CR1140/CR1141 (aarch64, Yocto Linux).
Wraps stock Linux ABIs the device exposes: fbdev (display), evdev (buttons), SocketCAN (CAN), and sysfs (LEDs/backlight/temperature).
Most fallible calls return HalResult, so callers can match on the
HalError cause (missing device, unsupported format, out-of-range value)
rather than string-matching an std::io::Error.
Re-exports§
Modules§
- can
- CAN access via SocketCAN (Linux-only; the module is empty on other hosts).
- display
- Display output: pixel surface plus an fbdev backend.
- error
- Unified error type for the HAL. Wraps the OS errors the underlying ABIs
return (
std::io::Error) and adds HAL-specific failure causes so callers can distinguish “no such device” from “wrong pixel format” from a plain I/O error without string-matching. - input
- Front-panel buttons via evdev.
- prelude
- Convenience re-exports.
use cr1140_hal::prelude::*;pulls in the common types so apps don’t need a long list of module-qualifiedusestatements. - sys
- System: LEDs, backlight, temperature via sysfs.