[button] fix bugs
This commit is contained in:
parent
ae5d9bb3f5
commit
bf5e27f9e0
|
@ -41,7 +41,7 @@ class OrangePi(BaseHardware):
|
|||
|
||||
self.power_status = False # 单次触发按键状态
|
||||
self.long_power_status = False
|
||||
self.short_power_status = False
|
||||
# self.short_power_status = False
|
||||
|
||||
self.button_init()
|
||||
self.init_hd_thread()
|
||||
|
@ -76,13 +76,13 @@ class OrangePi(BaseHardware):
|
|||
elif button_status_1 and not last_status_1:
|
||||
if press_time_1:
|
||||
press_duration = (datetime.now() - press_time_1).total_seconds()
|
||||
if press_duration > 0.01:
|
||||
self.long_power_status = not self.long_power_status
|
||||
elif press_duration > 5:
|
||||
# if press_duration > 0.01:
|
||||
if press_duration > 5:
|
||||
time.sleep(1) # 防止短按误触发
|
||||
subprocess.Popen('sudo shutdown now', shell=True)
|
||||
else:
|
||||
self.short_power_status = True
|
||||
self.long_power_status = not self.long_power_status
|
||||
# self.short_power_status = True
|
||||
print(f"{datetime.now()}: press_duration: {press_duration}")
|
||||
print(f"{datetime.now()}: button_status: {button_status_1}, last_button_status: {last_status_1}, power_status: {self.long_power_status}, interrupt_status: {self.short_power_status}")
|
||||
press_time_1 = None
|
||||
|
@ -92,10 +92,10 @@ class OrangePi(BaseHardware):
|
|||
# 更新LED状态
|
||||
if self.long_power_status:
|
||||
self.set_led_on('green')
|
||||
if self.short_power_status:
|
||||
self.set_led_on('blue')
|
||||
else:
|
||||
self.set_led_off('blue')
|
||||
# if self.short_power_status:
|
||||
# self.set_led_on('blue')
|
||||
# else:
|
||||
# self.set_led_off('blue')
|
||||
else:
|
||||
self.short_power_status = False
|
||||
self.set_led_off('green')
|
||||
|
|
Loading…
Reference in New Issue