2 releases
0.2.1 | Oct 27, 2019 |
---|---|
0.2.0 | Sep 7, 2019 |
#1748 in Hardware support
52 downloads per month
26KB
505 lines
pelcodrs
pelcodrs
is a Rust library for communications using the Pelco D protocol.
The Pelco D protocol is widely used for controlling PTZ cameras, especially in the CCTV industry.
Simple usage
Add this in your application Cargo.toml
:
[dependencies]
pelcodrs = "0.2.0"
Create message objects to send to the device:
use pelcodrs::*;
let msg = MessageBuilder::new(10)
.camera_on()
.focus_far()
.down()
.tilt(Speed::Range(0.5))
.finalize()?;
assert_eq!(&[0xFF, 0x0A, 0x88, 0x90, 0x00, 0x20, 0x42], msg.as_ref());
A port object can be used with any Read + Write
object for communicating with
the target device. For example, a SerialPort
object from the crate
serialport can be used as port:
use serialport;
use pelcodrs::*;
let dev = PelcoDPort::new(serialport::open("/dev/ttyS0"));
dev.send_message(Message::flip_180(10)?)?;
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Disclaimer
This library is not affiliated or associated in any way with Pelco.
All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
License: MIT OR Apache-2.0
Dependencies
~105KB