I've pushed out a new snapshot release
of just the AVR firmware. This build adds support for longpress handlers in the menu system so it fundamentally changes some of the underlying button detection code that we love to break so much. That's why I need some testers before this gets rolled into the wrt/lede firmware as the default!
The way it works is that each menu state can declare that it supports a long press of a button (>1 second). When a button is pressed down, HeaterMeter sees if the current state has a longpress for that button. If it does not, the handler fires immediately so press is responsive as possible. If it is held down then it will start a repeat count which accelerates things like quickly changing the setpoint in 5, 10, or 20 degree increments. If there is a longpress handler, then HeaterMeter waits to see of you hold it for the full 1 second. If you release before 1 seconds, the short press button handler fires. For longer than 1 seconds, the long press handler fires. If a longpress event occurs, or a state transition (via shortpress) occurs into a state with a longpress handler for that button, the button must be released before that button will function again.
This is hard to describe so I've also added the first longpress handler to give you something to test with:
PID Output Off mode. A left button longpress from the device's "home" state (the one that displays the temperatures or -No Pit Probe-), will toggle the HeaterMeter output on/off. This provides an easy way to turn off the HeaterMeter output when a cook is done without setting the setpoint to a very low value to effectively disable it. An often-requested feature finally makes it in!
- A left longpress while in auto output mode will disable output, LCD home will display [Off] as the output
- Left longpress again will return to auto mode with the original setpoint
- Left short press in auto mode still toggles Lid Mode on and off, but only functions if not [Off]
- A left longpress in manual mode will set the output to 0% (this is not a toggle, always 0%)
- Left short press in manual mode lowers the manual output by 1% (as it had before)
- Pressing left from any of the device menus should immediately return you to the home screen, even if you hold the button down and NOT toggle on/off even if you continue to hold it for 1 second, you must release it after entering the home state and then press and hold again to trigger on/off
- Setting a setpoint or manual output automatically turns PID control back on
- The [Off] state is not persisted across device power cycles, but most likely will be
This also fixes a couple small bugs in the AVR firmware:
- Pressing "back" (left button) from the menus would not update the display with the home screen for up to 1 second if there were no food probes detected. This has been fixed so exiting the menus updates the display immediately.
- If a setpoint of just "C" or "F" was sent via the webui, HeaterMeter would enter manual mode. It now stays in whatever mode it was in and just updates the units.
To test, just go to LinkMeter -> AVR Firmware from the webui and select "Online Repository" and flash
Code:
Location: snapshots/trunk/heatermeter.hex
MD5: 136d1bcb469398f32cc3d183e4748c95
Version: 20170722B
You may return to the regular firmware if you experience any difficulties by flashing the "bundled firmware " hm.hex from the same page. If you do test and you do have problems, please report back with what menu state you were in, what button you pressed, what was supposed to happen and what did happen. Also include which probes were plugged in, and if you were in auto or manual mode, and any other details you can provide to help me reproduce it.