Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/omnisci3nce/osdp-rs
Open Supervised Device Protocol in Rust.
https://github.com/omnisci3nce/osdp-rs
access-control osdp protocol rfid rust
Last synced: about 1 month ago
JSON representation
Open Supervised Device Protocol in Rust.
- Host: GitHub
- URL: https://github.com/omnisci3nce/osdp-rs
- Owner: omnisci3nce
- Created: 2022-10-09T01:54:51.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-09-19T11:45:40.000Z (over 1 year ago)
- Last Synced: 2023-09-19T13:39:48.949Z (over 1 year ago)
- Topics: access-control, osdp, protocol, rfid, rust
- Language: Rust
- Homepage:
- Size: 89.8 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# osdp-rs
**UPDATE: This project was dormant for a long time but I will be revitalising it over the next 6 months**
*Work-in-progress* implementation of the OSDP specification in Rust.
More information on OSDP can be found on the official SIA site: [open-supervised-device-protocol](https://www.securityindustry.org/industry-standards/open-supervised-device-protocol/)
## Ideas
- ~~Investigate [deku](https://github.com/sharksforarms/deku) for serialisation/deserialisation~~
- REPL
- TUI## Example output
```rust
let device = BusDevice { address: 0x00 };
// Send a packet for testing (requests device info)
let datablock = DeviceIDReportRequest{};
device.send(&mut port, &datablock);
``````
[PARSER] Accumulated all data bytes
[PARSER] Transition to Validation state
[PARSER] Parse byte 0x0
[PARSER] Parse byte 0xc9
[PARSER] Finished receiving packet
[PARSER] Transition to Done state
Complete packet received: Packet { address: 128, length: 19, msg_ctrl_info: 0, buffer: [128, 19, 0, 0, 69, 0, 6, 142, 0, 0, 50, 55, 54, 55, 1, 161, 0, 201], msg_type: 69 }
DeviceIDReport (0x45):
Vendor Code: 9307648
Model Number: 0
Model Version: 0
Serial Number: 926299954
Firmware: 1.161.0
```