docs.rs failed to build libosdp-0.1.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
libosdp-0.2.0
OSDP Rust library
This crate is a rust wrapper for LibOSDP - the most popular open source library for creating OSDP devices. See github.cobm/goToMain/liosdp for more information.
Features
- Supports secure channel communication (AES-128)
- Can be used to setup a PD or CP mode of operation
- Most OSDP specified commands and replies are supported (see doc)
Usage
To add libosdp to your rust project do:
cargo add libosdp
Control Panel:
A simplified CP implementation:
let pd_info = PdInfo::new(...);
let mut cp = ControlPanel::new(&mut pd_info)?;
cp.set_event_callback(|pd, event| {
println!("Received event from {pd}: {:?}", event);
});
loop {
cp.refresh();
cp.send_command(0, OsdpCommand::new(...));
}
See examples for a working implementation.
Peripheral Device:
A simplified PD implementation:
let pd_info = PdInfo::new(...);
let mut pd = PeripheralDevice::new(&mut pd_info)?;
pd.set_command_callback(|cmd| {
println!("Received command {:?}", cmd);
});
loop {
pd.refresh();
cp.notify_event(OsdpEvent::new(...));
}
See examples for a working implementation.