Update timing parameters and clear up some comments

main
rahix 1 year ago
parent a41f0eabbe
commit 5df53c43f5

@ -5,10 +5,12 @@ use profirust::phy;
mod tester_io; mod tester_io;
mod valve_terminal; mod valve_terminal;
// Bus Parameters // Muss auf den passenden USB-RS485 Port abgeändert werden!
const MASTER_ADDRESS: u8 = 1;
const BUS_DEVICE: &'static str = "/dev/ttyUSB0"; const BUS_DEVICE: &'static str = "/dev/ttyUSB0";
const BAUDRATE: profirust::Baudrate = profirust::Baudrate::B19200;
// Bus Parameters
const MASTER_ADDRESS: u8 = 3;
const BAUDRATE: profirust::Baudrate = profirust::Baudrate::B500000;
fn main() -> ! { fn main() -> ! {
env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info")) env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info"))
@ -23,19 +25,18 @@ fn main() -> ! {
let mut tester_io = tester_io::TesterIo::new(&mut dp_master, BAUDRATE); let mut tester_io = tester_io::TesterIo::new(&mut dp_master, BAUDRATE);
let mut valve_terminal = valve_terminal::ValveTerminal::new(&mut dp_master, BAUDRATE); let mut valve_terminal = valve_terminal::ValveTerminal::new(&mut dp_master, BAUDRATE);
// Bus-Parameter für USB-RS485 Converter sind hier beschrieben: https://docs.rs/profirust/latest/profirust/phy/struct.SerialPortPhy.html
let mut fdl = fdl::FdlActiveStation::new( let mut fdl = fdl::FdlActiveStation::new(
fdl::ParametersBuilder::new(MASTER_ADDRESS, BAUDRATE) fdl::ParametersBuilder::new(MASTER_ADDRESS, BAUDRATE)
// We use a rather large T_slot time because USB-RS485 converters .slot_bits(4000)
// can induce large delays at times. .max_retry_limit(3)
.slot_bits(960)
// 2 Sekunden Watchdog Timeout // 2 Sekunden Watchdog Timeout
.watchdog_timeout(profirust::time::Duration::from_secs(2)) .watchdog_timeout(profirust::time::Duration::from_secs(2))
.build_verified(&dp_master), .build_verified(&dp_master),
); );
// We must not poll() too often or to little. T_slot / 2 seems to be a good compromise. let sleep_time = std::time::Duration::from_micros(3500);
let sleep_time: std::time::Duration = (fdl.parameters().slot_time() / 2).into();
log::info!("Verbindung mit dem Bus wird aufgebaut..."); log::info!("Verbindung mit dem Bus {BUS_DEVICE:?} wird aufgebaut...");
let mut phy = phy::SerialPortPhy::new(BUS_DEVICE, fdl.parameters().baudrate); let mut phy = phy::SerialPortPhy::new(BUS_DEVICE, fdl.parameters().baudrate);
fdl.set_online(); fdl.set_online();

Loading…
Cancel
Save