PVP runs as three independent processes:
The GUI and Coordinator run in the first process, receive user input, display system status, and relay
ControlSettings to the Controller .
At launch, the Coordinator spawns a Controller that runs the logic of the ventilator based on control values from the GUI.
The Controller communicates with a third pigpiod process which communicates with the ventilation hardware
PVP is configured by
The Values module parameterizes the different sensor and control values displayed by the GUI and used by the controller
The Prefs module creates a
~/pvpthat defines user-specific preferences.
PVP is launched like:
python3 -m pvp.main
And launch options can be displayed with the
A modular GUI with intuitive controls and a clear alarm system that can be configured to control any parameter or display values from any sensor.
... Manuel write this
A hardware abstraction layer powered by pigpio that can read/write at [x Hz]
Define complex and responsive alarm triggering criteria with human-readable Alarm Rules
Modules that provide the API between the GUI and controller, user preferences, and other utilities