Remove the old "long press on button" script

This didn't work properly, and the user should be able to go to the settings app to enable bootloader mode.

If that doesn't work, the hardware buttons are a foolproof method.
This commit is contained in:
Thomas Farstrike
2025-10-26 09:36:46 +01:00
parent a87f6e865b
commit e821b94c0e
2 changed files with 0 additions and 56 deletions
@@ -1,54 +0,0 @@
print("button.py running")
import lvgl as lv
from machine import Pin, Timer
import time
import _thread
from mpos.apps import Activity, ActivityNavigator, Intent
from mpos.bootloader import ResetIntoBootloader
# Configure IO0 as input with pull-up resistor
button = Pin(0, Pin.IN, Pin.PULL_UP)
# Variables for long press detection
long_press_duration = 3000
press_start_time = 0
is_pressed = False
# Timer for checking long press
timer = Timer(-1)
def on_long_press(t): # Callback for when long press duration is reached.
print("button.py: long press detected")
global timer
timer.deinit() # Stop the timer
global is_pressed
if is_pressed and button.value() == 0: # Ensure button is still pressed
#_thread.stack_size(mpos.apps.good_stack_size())
#_thread.start_new_thread(handle_long_press, ())
#lv.async_call(lambda l: handle_long_press(), None)
intent = Intent(activity_class=ResetIntoBootloader)
ActivityNavigator.startActivity(intent)
else:
is_pressed = False
def button_handler(pin):
"""Interrupt handler for button press and release."""
global press_start_time, is_pressed, timer
if button.value() == 0: # Button pressed (LOW due to pull-up)
print("Button IO0 pressed")
press_start_time = time.ticks_ms()
is_pressed = True
# Start timer to check for long press after long_press_duration
timer.init(mode=Timer.ONE_SHOT, period=long_press_duration, callback=on_long_press)
else: # Button released (HIGH)
print("Button IO0 released")
timer.deinit() # Cancel timer if button is released early
is_pressed = False
# Set up interrupt for both falling (press) and rising (release) edges
button.irq(trigger=Pin.IRQ_FALLING | Pin.IRQ_RISING, handler=button_handler)
print("button.py finished")
-2
View File
@@ -49,8 +49,6 @@ except Exception as e:
# This will throw an exception if there is already a "/builtin" folder present
print("main.py: WARNING: could not import/run freezefs_mount_builtin: ", e)
mpos.apps.execute_script("builtin/system/button.py", True) # Install button handler through IRQ
try:
import mpos.wifi
_thread.stack_size(mpos.apps.good_stack_size())