receiver: read GESTURE2 param defaults
This commit is contained in:
parent
09394cfbf5
commit
b3751913b2
|
|
@ -838,18 +838,32 @@ class Param(object):
|
||||||
self.size = high & 0x0F
|
self.size = high & 0x0F
|
||||||
self.show_in_ui = bool(high & 0x1F)
|
self.show_in_ui = bool(high & 0x1F)
|
||||||
self._value = None
|
self._value = None
|
||||||
|
self._default_value = None
|
||||||
self.index = Param.param_index
|
self.index = Param.param_index
|
||||||
Param.param_index += 1
|
Param.param_index += 1
|
||||||
|
|
||||||
|
@property
|
||||||
def value(self):
|
def value(self):
|
||||||
return self._value if self._value is not None else self.read()
|
return self._value if self._value is not None else self.read()
|
||||||
|
|
||||||
def read(self): # returns the bytes for the parameter
|
def read(self): # returns the bytes for the parameter
|
||||||
result = feature_request(self._device, FEATURE.GESTURE_2, 0x70, self.index, 0xFF)
|
result = feature_request(self._device, FEATURE.GESTURE_2, 0x70, self.index, 0xFF)
|
||||||
if result:
|
if result:
|
||||||
self._value = result[:self.size]
|
self._value = _bytes2int(result[:self.size])
|
||||||
return self._value
|
return self._value
|
||||||
|
|
||||||
|
@property
|
||||||
|
def default_value(self):
|
||||||
|
if self._default_value is None:
|
||||||
|
self._default_value = self._read_default()
|
||||||
|
return self._default_value
|
||||||
|
|
||||||
|
def _read_default(self):
|
||||||
|
result = feature_request(self._device, FEATURE.GESTURE_2, 0x60, self.index, 0xFF)
|
||||||
|
if result:
|
||||||
|
self._default_value = _bytes2int(result[:self.size])
|
||||||
|
return self._default_value
|
||||||
|
|
||||||
def write(self, bytes):
|
def write(self, bytes):
|
||||||
self._value = bytes
|
self._value = bytes
|
||||||
return feature_request(self._device, FEATURE.GESTURE_2, 0x80, self.index, bytes, 0xFF)
|
return feature_request(self._device, FEATURE.GESTURE_2, 0x80, self.index, bytes, 0xFF)
|
||||||
|
|
@ -916,7 +930,6 @@ class Gestures(object):
|
||||||
elif field_high & 0xF0 == 0x40:
|
elif field_high & 0xF0 == 0x40:
|
||||||
spec = Spec(device, field_low, field_high)
|
spec = Spec(device, field_low, field_high)
|
||||||
self.specs[spec.spec] = spec
|
self.specs[spec.spec] = spec
|
||||||
print(spec)
|
|
||||||
else:
|
else:
|
||||||
_log.warn(f'Unimplemented GESTURE_2 field {field_low} {field_high} found.')
|
_log.warn(f'Unimplemented GESTURE_2 field {field_low} {field_high} found.')
|
||||||
index += 1
|
index += 1
|
||||||
|
|
|
||||||
|
|
@ -211,7 +211,7 @@ def _print_device(dev, num=None):
|
||||||
for k in dev.gestures.gestures.values():
|
for k in dev.gestures.gestures.values():
|
||||||
print(' %-26s Enabled (%4s): %s' % (k.gesture, k.index, k.enabled()))
|
print(' %-26s Enabled (%4s): %s' % (k.gesture, k.index, k.enabled()))
|
||||||
for k in dev.gestures.params.values():
|
for k in dev.gestures.params.values():
|
||||||
print(' %-26s Value (%4s): %s' % (k.param, k.index, k.value()))
|
print(' %-26s Value (%4s): %s [Default: %s]' % (k.param, k.index, k.value, k.default_value))
|
||||||
for k in dev.gestures.specs.values():
|
for k in dev.gestures.specs.values():
|
||||||
print(' %-26s Spec (%4s): %s' % (k.spec, k.id, k.value))
|
print(' %-26s Spec (%4s): %s' % (k.spec, k.id, k.value))
|
||||||
if dev.online:
|
if dev.online:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue