Skip to content

omnisci3nce/osdp-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Ideas

  • Investigate deku for serialisation/deserialisation
  • REPL
  • TUI

Example output

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

About

Open Supervised Device Protocol in Rust.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages