Relay Board Control

From aquarium-doc
Revision as of 09:05, 25 December 2022 by Uwe (talk | contribs)
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.