Fix for the room them not being displayed after changing the mode. (&= was used in Menu::pickSettingToChange() instead of &)
Fix for beer sensor not being reconnected in profile mode. (wrong: MODE_FRIDGE_CONSTANT instead of MODE_BEER_PROFILE)
Also stop cooling/heating when beer temp is at target, regardless of fridge temp.
Extra safeguard against overshooting beer temp. Overshoot happens when fridge temp is off target when beer temp forced IDLE.
Bump version number
Made inverted default for shield actuators pins and made chamber1 default for all devices.
Changed how roomtemp is updated. This will handle disconnects better and it is more logical to do the re-init in tempcontrol instead of LCD
Changes to reduce overshoot in fast fridges:
1. Increased update rate in slope filter so it has less delay with equal filtering. Also multiply before instead of after filter.
2. Reduced delay time of beer slow filter to 159s
3. Reduced min ON time to 3 minutes.
4. Reduced min COOL ON time for fridge constant to 10 min
added pidMax: the max temperature between fridge setting and beer setting in a PID mode
fixed error due to blindly copying cooler code to heater
Keep both absolute and relative (pidMax) limits
Algorithm tweaks and small changes to control constants:
1. Integrator is only updated when IDLE. This prevents windup while the actuators are already active
2. Reduced Kp, Ki and Kd. They were too agressive, especially for people with fast fridges
3. Slightly reduced beer fast filtering for less delay
4. Reduced peak detect time for cooling from 30 to 20 minuts
added light as heater to the check whether there is a heater installed
Go to an IDLE state when a new mode is received and in a waiting state. When setting applying beer constant high, then low, it would get stuck in waiting to heat.
1. Give beer temp limits tiny idle zone (-0.5/+0.5 sensor bit) to prevent very short actuator cycles
2. Restore old version for cool peak detect time, because some slow peaks were missed in my test setup.
3. Restore old beer fast filter setting: tiny idle zone with sub sensor bit limits will benefit from a bit more filtering
bugfix: only check beer temp to stop cooling when in a beer mode
removed blocking while loop in bad interrupt catch function.
Useful for debugging, but better left out for production builds
output a data point on every state transition for better analysis
Set digitalpin actuator to inactive on init
typecast spaces to print to int_8, strlen > 5 would cause a bug with the old implementation
pidMax was printed as temperature instead of temperature difference
Only set beer temp to --.- in fridge constant mode, not in OFF mode.