.
├── doc/ # Documentation files (alternatively `doc`)
│ ├── README_SETUP.md # Step by step Arudino, raspberypi and environment installation.
│ ├── README_HW_SETUP.md # Documentation of electrical and Materials Construction.
| └──
├── src/
| ├── capstonepi/ # source code running on the pi.
| | ├── constants.yaml # a Configuration file with P.I.D constants and application settings.
| | ├── MonitorController.py # our 'main' Class, which instantiates the rest, starts the server and handles app logic.
| | ├── MonitorPID.py # A threaded class responsible for running the P.I.D process and controlling the bed temp.
| | ├── MonitorPID.py # A threaded class responsible for running the P.I.D process and controlling the bed temp.
| | ├── Wiki_PID.py # P.I.D controls specific library.
| | ├── MonitorServer.py # Server class for communicating with the clients and broadcasting readings.
| | ├── HardwareSensors.py # A threaded class responsible for communication with the Arduino to retrieve sensor readings continously.
| | └──
| ├── Arduino/ # source code running on the Arduino.
| | ├── communicate.ino # Arduino Code for reading the sensor data and writing it to serial.
| | ├── libraries/ # Arduino sensor libs.
| | └──
| ├── calibration # code used for P.I.D calibration and analysis, as well as heating-system logs directory.
| | ├── plot_test.py # a plotting tool used for heating system analysis
| | ├── test_logs/ # a directory where P.I.D process test logs are stored if `save_logs` is set to true in constants.yaml
| | └──
| ├── client/ # Client GUI and
| | ├── MonitorClient.py # Client file for interacting with MonitorServer.py
| | ├── Widget_AnimalMonitor.py # Client GUI python example, can be used as an example for building similiar GUIs within applications.
| | └──
├── setup.py # setup file
└──