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 valve_terminal;
// Bus Parameters
const MASTER_ADDRESS: u8 = 1;
// Muss auf den passenden USB-RS485 Port abgeändert werden!
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() -> ! {
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 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(
fdl::ParametersBuilder::new(MASTER_ADDRESS, BAUDRATE)
// We use a rather large T_slot time because USB-RS485 converters
// can induce large delays at times.
.slot_bits(960)
.slot_bits(4000)
.max_retry_limit(3)
// 2 Sekunden Watchdog Timeout
.watchdog_timeout(profirust::time::Duration::from_secs(2))
.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 = (fdl.parameters().slot_time() / 2).into();
let sleep_time = std::time::Duration::from_micros(3500);
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);
fdl.set_online();

Loading…
Cancel
Save