rules: add Test condition for battery charging

This commit is contained in:
Peter F. Patel-Schneider 2023-02-25 17:59:26 -05:00
parent 49bb19bde4
commit 55865d13ad
1 changed files with 10 additions and 0 deletions

View File

@ -364,6 +364,15 @@ def thumb_wheel_down(f, r, d, a):
return False return False
def charging(f, r, d, a):
if (f == _F.BATTERY_STATUS and r == 0 and 1 <= d[2] <= 4) or \
(f == _F.BATTERY_VOLTAGE and r == 0 and d[2] & (1 << 7)) or \
(f == _F.UNIFIED_BATTERY and r == 0 and 1 <= d[2] <= 3):
return 1
else:
return False
TESTS = { TESTS = {
'crown_right': [lambda f, r, d, a: f == _F.CROWN and r == 0 and d[1] < 128 and d[1], False], 'crown_right': [lambda f, r, d, a: f == _F.CROWN and r == 0 and d[1] < 128 and d[1], False],
'crown_left': [lambda f, r, d, a: f == _F.CROWN and r == 0 and d[1] >= 128 and 256 - d[1], False], 'crown_left': [lambda f, r, d, a: f == _F.CROWN and r == 0 and d[1] >= 128 and 256 - d[1], False],
@ -379,6 +388,7 @@ TESTS = {
'lowres_wheel_down': [lambda f, r, d, a: f == _F.LOWRES_WHEEL and r == 0 and signed(d[0:1]) < 0 and signed(d[0:1]), False], 'lowres_wheel_down': [lambda f, r, d, a: f == _F.LOWRES_WHEEL and r == 0 and signed(d[0:1]) < 0 and signed(d[0:1]), False],
'hires_wheel_up': [lambda f, r, d, a: f == _F.HIRES_WHEEL and r == 0 and signed(d[1:3]) > 0 and signed(d[1:3]), False], 'hires_wheel_up': [lambda f, r, d, a: f == _F.HIRES_WHEEL and r == 0 and signed(d[1:3]) > 0 and signed(d[1:3]), False],
'hires_wheel_down': [lambda f, r, d, a: f == _F.HIRES_WHEEL and r == 0 and signed(d[1:3]) < 0 and signed(d[1:3]), False], 'hires_wheel_down': [lambda f, r, d, a: f == _F.HIRES_WHEEL and r == 0 and signed(d[1:3]) < 0 and signed(d[1:3]), False],
'charging': [charging, False],
'False': [lambda f, r, d, a: False, False], 'False': [lambda f, r, d, a: False, False],
'True': [lambda f, r, d, a: True, False], 'True': [lambda f, r, d, a: True, False],
} }