Overview
| Comment: | Fix bug where stepping up/down was not effective |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
05b79c5264288f4e6c50f4d3b0388097 |
| User & Date: | rkeene on 2020-05-02 15:11:30.357 |
| Other Links: | manifest | tags |
Context
|
2020-05-02
| ||
| 15:11 | limitlessled_rf v0.10 check-in: abd184fa63 user: rkeene tags: 0.10, trunk | |
| 15:11 | Fix bug where stepping up/down was not effective check-in: 05b79c5264 user: rkeene tags: trunk | |
|
2020-05-01
| ||
| 01:35 | Allow multiple queues to be used check-in: 4685a421d1 user: rkeene tags: trunk | |
Changes
Modified limitlessled_rf/__init__.py
from [5f657e4ec6]
to [a379ee4165].
1 2 3 4 5 6 7 8 9 10 11 |
#! /usr/bin/env python3
import random
import time
class Remote:
_remote_type_alias_map = {
'fut089': 'rgb+cct'
}
_remote_type_parameters_map = {
'rgbw': {
| | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#! /usr/bin/env python3
import random
import time
class Remote:
_remote_type_alias_map = {
'fut089': 'rgb+cct'
}
_remote_type_parameters_map = {
'rgbw': {
'retries': 5,
'delay': 0.05,
'channels': [9, 40, 71],
'syncword': [0x258B, 0x147A],
'features': [
'can_set_brightness',
'has_brightness',
'has_white',
|
| ︙ | ︙ | |||
188 189 190 191 192 193 194 |
# Determine zone, default to all
zone = button_info.get('zone', 0)
# Some buttons need to be converted to zones
button_name = button_info['button']
if button_name in ['zone_on', 'zone_off', 'zone_max', 'zone_night']:
| | | | | 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 |
# Determine zone, default to all
zone = button_info.get('zone', 0)
# Some buttons need to be converted to zones
button_name = button_info['button']
if button_name in ['zone_on', 'zone_off', 'zone_max', 'zone_night']:
button_name = "{}:{}".format(button_name, zone)
# Look up the button
button_id = self._config['button_map'][button_name]
# Compute message body
body = [zone, button_id, message_id]
# Compute the whole message so far
message = header + body
# Compute message trailer
## Include a CRC, for good measure
crc = len(message) + 1
for byte in message:
crc = crc + byte
crc = crc & 0xff
trailer = [crc]
message = message + trailer
return message
|
| ︙ | ︙ | |||
373 374 375 376 377 378 379 380 381 382 383 384 385 386 | def _get_next_message_id(self): # Determine next message ID self._message_id = (self._message_id + 1) & 0xff return self._message_id def _send_button(self, button_info): # Include the remote ID unless one was supplied if 'remote_id' not in button_info: button_info['remote_id'] = self._id # Get the next message ID for this remote if 'message_id' not in button_info: message_id = self._get_next_message_id() button_info['message_id'] = message_id | > | 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 | def _get_next_message_id(self): # Determine next message ID self._message_id = (self._message_id + 1) & 0xff return self._message_id def _send_button(self, button_info): # Include the remote ID unless one was supplied button_info = button_info.copy() if 'remote_id' not in button_info: button_info['remote_id'] = self._id # Get the next message ID for this remote if 'message_id' not in button_info: message_id = self._get_next_message_id() button_info['message_id'] = message_id |
| ︙ | ︙ | |||
467 468 469 470 471 472 473 |
for step in range(final_steps):
self._debug("[FINAL] Stepping {} {}".format(button_prefix, final_direction))
self._send_button(step_command)
return True
def _step_brightness(self, brightness, brightness_min, brightness_max, zone = None):
| < < | 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 |
for step in range(final_steps):
self._debug("[FINAL] Stepping {} {}".format(button_prefix, final_direction))
self._send_button(step_command)
return True
def _step_brightness(self, brightness, brightness_min, brightness_max, zone = None):
return self._step_value(brightness, brightness_min, brightness_max, 'brightness', zone)
def _step_temperature(self, temperature, temperature_min, temperature_max, zone = None):
return self._step_value(temperature, temperature_min, temperature_max, 'temperature', zone)
def _max_brightness(self, zone = None):
if zone is None:
message = {'button': 'max'}
else:
message = {
|
| ︙ | ︙ |