brewdrivers 0.17.0

Brewkit drivers
Documentation
use std::time::Duration;

use brewdrivers::drivers::ModbusInstrument;

#[tokio::main]
async fn main() {
    // Testing on my OMEGA CN7500 PID
    let mut inst = ModbusInstrument::new(0x16, "/dev/ttyUSB0", 19200, Duration::from_millis(100)).await.unwrap();

    // Read SV
    let pv1 = inst.read_registers(0x1001, 1).await.unwrap();
    println!("pv is now {:?}", pv1);

    // Set SV
    inst.write_register(0x1001, 1300).await.unwrap();

    // Read SV again
    let pv2 = inst.read_registers(0x1001, 1).await.unwrap();
    println!("pv is now {:?}", pv2);

    // Set PID to STOP
    inst.write_coil(0x0814, false).await.unwrap();
    // Read run/stop value
    let coil = inst.read_coils(0x0814, 1).await.unwrap();
    println!("Coil 0x0814 is {:?}", coil);
}