Relay Board Control
From aquarium-doc
Jump to navigationJump to search
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.