23 releases (13 breaking)

0.17.0 Sep 13, 2023
0.16.2 Nov 4, 2022
0.15.0 Nov 1, 2022
0.9.0 Nov 17, 2021
0.2.2 Jun 27, 2019

#918 in Hardware support

Download history 1/week @ 2024-02-13 19/week @ 2024-02-20 71/week @ 2024-02-27 2/week @ 2024-03-05 9/week @ 2024-03-12

102 downloads per month
Used in 3 crates

MIT license

120KB
2.5K SLoC

Brewdrivers

This repository is one of a set of repositories in the Brewery Control System project of the Navasota Brewing Company. It contains low level drivers for devices we use in the brewing process.

Unless you're here looking to do some direct interaction with devices and RTUs, this probably isn't the best place to start. See the organization's readme for more information.

Usage

This is a Rust library, used by the other Rust crates in the organization. You can see the docs for this crate on docs.rs.


lib.rs:

A 3 tiered driver library for interacting with Modbus devices on a SCADA-like network.

This library is one of a set of repositories in the Brewery Control System project of the Navasota Brewing Company. It contains low level drivers for devices we use in the brewing process.

Layers

This crate operates on 3 layers:

  1. drivers -- Low level abtractions of Modbus or other serial devices. These are very general and allow communication to nearly any device.
  2. controllers -- Implementations of drivers for specific controllers. These are the controllers we use to control field devices in the brewery system.
  3. model -- A conceptual model of an RTU, containing a list of devices. These devices are serializable and can be sent over the network. They contain connection details and state, so that they can use a controller to read or enact change in a field device. You can write a configuration file that models the RTU and its devices, then this crate can read the configuration file and update/enact the devices as necessary.

New controllers will be added as needed. See the examples/ directory to see how to use this library, and see the organization documentation for more information about the hardware and project as a whole.

Dependencies

~11–25MB
~327K SLoC