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
Merge branch 'develop' of https://github.com/BrewPi/brewpi-avr into develop