Difference between revisions of "Relay Board Control"
From aquarium-doc
Jump to navigationJump to search
| Line 14: | Line 14: | ||
* Low level communication via serial port to the board | * Low level communication via serial port to the board | ||
* Watchdog for reading/writing to serial port | * Watchdog for reading/writing to serial port | ||
* HW functionality test before executing commands | * HW functionality test before executing commands | ||
* Monitoring and repair of relay board states | * Monitoring and repair of relay board states | ||
* Avoiding conflicting access to relay board | |||
== Low level communication via serial port == | |||
This functionality is implemented in <code>RlyBrdCtrl/RlyBrdCmd.c</code>. | |||
== Watchdog for reading/writing to serial port == | |||
This functionality is implemented in <code>RlyBrdCtrl/RlyBrdWtchDg.c</code>. | |||
== HW functionality test before executing commands == | |||
This functionality is implemented in <code>RlyBrdCtrl/RlyBrdFdbck.c</code>. | |||
== Monitoring and repair of relay board states == | |||
This functionality is implemented in <code>RlyBrdCtrl/RlyBrdMidLay.c</code>. | |||
== Avoiding conflicting access to relay board == | |||
This functionality is implemented in <code>RlyBrdCtrl/RlyBrdHiLay.c</code>. | |||
Revision as of 09:05, 25 December 2022
The following components utilise the relay board:
- Refill Control: refilling of fresh water depending on water level
- Feeder Control: stopping flow pumps, skimmer and actuating the feeder
- Water Exchange Control: actuating the external pump for water exchange
- Balling Control: actuating the pumps for mineral dosing
There are two requirements, which ask for a more sophisticated control of the relay board:
- The dosing of minerals needs to be as precise as possible.
- The communication with the board needs to be reinitialised and even reopened after certain periods of time.
The relay board control implements the following features:
- Low level communication via serial port to the board
- Watchdog for reading/writing to serial port
- HW functionality test before executing commands
- Monitoring and repair of relay board states
- Avoiding conflicting access to relay board
Low level communication via serial port
This functionality is implemented in RlyBrdCtrl/RlyBrdCmd.c.
Watchdog for reading/writing to serial port
This functionality is implemented in RlyBrdCtrl/RlyBrdWtchDg.c.
HW functionality test before executing commands
This functionality is implemented in RlyBrdCtrl/RlyBrdFdbck.c.
Monitoring and repair of relay board states
This functionality is implemented in RlyBrdCtrl/RlyBrdMidLay.c.
Avoiding conflicting access to relay board
This functionality is implemented in RlyBrdCtrl/RlyBrdHiLay.c.