transmit_request/
transmit_request.rs1use rustbee::{api, device::DigiMeshDevice};
10use std::error;
11
12#[cfg(target_os = "linux")]
13static PORT: &'static str = "/dev/ttyUSB0";
14
15#[cfg(target_os = "windows")]
16static PORT: &'static str = "COM1";
17
18static DEST_ADDR: u64 = 0xabcdef0101020304;
19
20fn main() -> Result<(), Box<dyn error::Error>> {
21 let mut device = DigiMeshDevice::new(PORT, 9600)?;
23
24 let broadcast = api::TransmitRequestFrame {
25 dest_addr: api::BROADCAST_ADDR,
26 broadcast_radius: 0,
27 options: Some(&api::TransmitRequestOptions {
28 disable_ack: false,
29 disable_route_discovery: false,
30 enable_unicast_nack: false,
31 enable_unicast_trace_route: false,
32 mode: api::MessagingMode::DigiMesh,
33 }),
34 payload: b"HELLO FROM RUST!!",
35 };
36 let _transmit_status = device.send_frame(broadcast)?;
38
39 let unicast_msg = api::TransmitRequestFrame {
40 dest_addr: DEST_ADDR,
41 broadcast_radius: 0,
42 options: Some(&api::TransmitRequestOptions {
43 disable_ack: false,
44 disable_route_discovery: false,
45 enable_unicast_nack: false,
46 enable_unicast_trace_route: false,
47 mode: api::MessagingMode::DigiMesh,
48 }),
49
50 payload: b"Hello individual device!",
51 };
52
53 let transmit_status = device.send_frame(unicast_msg)?;
55 println!("{:?}", transmit_status); Ok(())
57}