HeaterMeter r36
Here's rev 36 of my software. The complete changelog is below but here's the high points:
-- Added manual fan mode, select it from the menus then use up and down from the "home" screen to change the percentage
-- Added reset config menu option
-- Removed the fan pwm member. I initially added this to have more fine-grained control at low fan levels but this has been replaced with...
-- Long PWM. For fan speeds below 10%, the controller will use a 10 second pulse width and leave the fan on for % seconds of that 10 second period.
-- Fix bug preventing PID params from getting set from URLs
-- Fans turned off if in automatic mode and no pit probe detected
-- Faster static content serving, up to 1.5KB/s, faster on older systems that don't do TCP/IP delayed ack
-- Fixed bug where adjusting the setpoint might trigger lid detect
If you have already run this, you'll need to reset your configuration because the constants assume the old PWM vs Percent-based fan control. Ed you can edit the default config directly rather than doing the Pid[PIDP]/2, just edit DEFAULT_CONFIG in heatermeter.pde.
Changelog
------------------------------------------------------------------------
r36 | bmayland | 2010-10-18 19:20:09 -0400 (Mon, 18 Oct 2010) | 7 lines
Added Manual Fan Mode
-- GrillPid::setFanSpeed() sets the fan into manual mode
-- GrillPid::setSetPoint() sets the fan into auto mode
-- GrillPid::getManualFanMode() returns the current value
Added menuBooleanEdit helper
Added "Reset Config?" and "Manual Mode?" to menu system
setpoint url now will take a negative number to indicate manual fan mode (eg -100 = 100% manual fan)
------------------------------------------------------------------------
r35 | bmayland | 2010-10-18 11:22:12 -0400 (Mon, 18 Oct 2010) | 2 lines
FIXED: Setting the SetPoint to a higher value, more than LidOffset, would trigger lid detect mode.
GrillPid::SetPoint is now accessed via getter/setter
------------------------------------------------------------------------
r34 | bmayland | 2010-10-18 11:11:52 -0400 (Mon, 18 Oct 2010) | 1 line
Reduced Kd to 5.0f
------------------------------------------------------------------------
r33 | bmayland | 2010-10-12 15:20:32 -0400 (Tue, 12 Oct 2010) | 2 lines
A little cleanup of #inlcudes
Make APP_WISERVER almost take out all networking code if not defined
------------------------------------------------------------------------
r32 | bmayland | 2010-09-17 18:40:02 -0400 (Fri, 17 Sep 2010) | 3 lines
Remove extra wep_keys, since only the first is used anyway
Serial set to 115200
Remove saving temps to the dataflash log for now
------------------------------------------------------------------------
r31 | bmayland | 2010-09-17 08:47:57 -0400 (Fri, 17 Sep 2010) | 3 lines
Reduce pidErrorSum decay range to -1.0, because with the new PID bias I don't think this kludge is even needed any more
Increase default Kd to 10.0f, the D term seems to be the most useful in that as soon as the temperature starts to move, you probably want to stop/start the fan to prevent over/undershoot.
Reduce default LidOpenOffset to 15F, might even consider 10F
------------------------------------------------------------------------
r30 | bmayland | 2010-09-16 20:06:13 -0400 (Thu, 16 Sep 2010) | 1 line
Turn the fans off when there's no pit probe detected
------------------------------------------------------------------------
r29 | bmayland | 2010-09-16 19:42:08 -0400 (Thu, 16 Sep 2010) | 1 line
Add "long PWM". For fan speeds (F) under 10%, run the fan at 10% for F seconds out of every 10. This should prevent fan stalls while attempting to run low voltages.
------------------------------------------------------------------------
r28 | bmayland | 2010-09-16 19:40:40 -0400 (Thu, 16 Sep 2010) | 3 lines
Rename flash_file to flash_file_t
Update flashfiles for new index.html
Modify flash file send code to do some jiggery pokery with the UIP stack to not send the entire file every call. 3x speedup for an 11k file, more for larger files.
------------------------------------------------------------------------
r27 | bmayland | 2010-09-16 18:40:13 -0400 (Thu, 16 Sep 2010) | 1 line
Fix bug preventing setting of PID parameters, PID_ORDER wasn't PROGMEM
------------------------------------------------------------------------
r26 | bmayland | 2010-09-15 13:26:23 -0400 (Wed, 15 Sep 2010) | 1 line
Because all classes are statically allocated, they come from the BSS and therefore the constructors don't need to initialize 0-values. Saves a little PROGMEM
------------------------------------------------------------------------
r25 | bmayland | 2010-09-15 13:25:18 -0400 (Wed, 15 Sep 2010) | 1 line
CSV now outputs seconds remaining in LidResumeCooldown instead of 0/100