quik7

Crates.ioquik7
lib.rsquik7
version0.1.3
created_at2025-10-27 23:37:26.311745+00
updated_at2025-11-11 09:42:23.790505+00
descriptionCommunication tools for Siemens S7 PLCs
homepagehttps://codeberg.org/pintariching/quik7
repositoryhttps://codeberg.org/pintariching/quik7
max_upload_size
id1903883
size78,197
pintariching (pintariching)

documentation

https://docs.rs/quik7

README

Open source communication tools for Siemens S7 PLCs

Example client usage

fn main() {
    let mut client = Quik7Client::new();
    client.connect("192.168.1.100").unwrap();

    let mut buf = [0u8; 64];
    client.read_db(1, 0, 0, &mut buf).unwrap();
}

Example server usage with smol

fn main() {
    let listener = TcpListener::bind("0.0.0.0:102").unwrap();
    let mut server = Quik7Server::new(listener);

    let reciever = server.register_db(1, 64);

    smol::spawn(async move {
        server.listen().unwrap();
    })
    .detach();

    while let Ok(msg) = reciever.recv() {
        println!("Recieved job: {:?}", msg);
    }
}
Commit count: 0

cargo fmt