| 
    Humidistat
    
   Arduino firmware for a humidistat (humidity controller) 
   | 
 
Go to the source code of this file.
Namespaces | |
| namespace | config | 
| Define either HUMIDISTAT_CONTROLLER_SINGLE or HUMIDISTAT_CONTROLLER_CASCADE. In the latter case, flow sensors must be connected to PIN_F1 and PIN_F2.  | |
Variables | |
| const uint32_t | config::serialRate = 115200 | 
| Serial communication symbol rate (baud)   | |
| const bool | config::overrideEEPROM = false | 
| Set to true to override the values stored in EEPROM and use the default PID parameters defined below.   | |
| const uint8_t | config::EEPROMAddress = 0 | 
| EEPROM address for storing the block.   | |
| const uint16_t | config::dt = 500 | 
| Global interval for PID/logger (based on polling rate of sensor, in millis)   | |
| const double | config::S_lowValue = 0.75 | 
| Minimum solenoid duty cycle (deadband)   | |
| const double | config::HC_totalFlowrate = 2 | 
| Total flowrate (for cascade controller) (L/min)   | |
| const double | config::a = 0.75 | 
| Smoothing factor of EMA filter for derivative.   | |
Humidity controller PID parameters  | |
| const double | config::HC_Kp = 0.01 | 
| const double | config::HC_Ki = 0.001 | 
| const double | config::HC_Kd = 0.01 | 
| const double | config::HC_Kf = 0.01 | 
Flow controller PID parameters  | |
| const double | config::FC_Kp = 0.005 | 
| const double | config::FC_Ki = 0.05 | 
| const double | config::FC_Kd = 0 | 
| const double | config::FC_Kf = 0 | 
| const uint16_t | config::FC_dt = 100 | 
Setpoint profiles  | |
| const uint8_t | config::interval = 20 | 
| const Point | config::profile_tuningtest [] | 
| const SPProfile | config::profiles [] | 
| Setpoint profile definitions.   | |
UI  | |
| const uint16_t | config::buttonDebounceInterval = 500 | 
| For debouncing: interval the keypad state must be stable for (in micros)   | |
| const uint16_t | config::inputInterval = 200 | 
| Repeat interval for keypress events (in millis)   | |
| const uint16_t | config::blinkInterval = 500 | 
| Interval for blinking display elements (in millis)   | |
| const uint16_t | config::splashDuration = 2000 | 
| Duration for which to show the splash screen (in millis)   | |
| const uint16_t | config::infoDuration = 0 | 
| Duration for which to show the info screen (in millis)   | |
| const uint16_t | config::refreshInterval = 100 | 
| Interval for updating the display (in millis)   | |
| const uint8_t | config::adjustStep = 10 | 
| Step size by which to in-/de-crement for coarse adjustment.   | |
| const double | config::tolerance = 0.01 | 
| Tolerance in difference between process variable and setpoint outside which the setpoint blinks (in percentage points)   | |
For GraphicalDisplayUI:  | |
| const uint16_t | config::longPressDuration = 500 | 
| Duration for counting a press as 'long' (in millis)   | |
| const uint8_t | config::configSaveCooldown = 20 * 1000 / refreshInterval | 
| Cooldown on saving the config to EEPROM (in refresh cycles)   | |