Update timing parameters and clear up some comments
This commit is contained in:
parent
a41f0eabbe
commit
5df53c43f5
1 changed files with 10 additions and 9 deletions
19
src/main.rs
19
src/main.rs
|
|
@ -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…
Add table
Add a link
Reference in a new issue