|
|
@@ -17,8 +17,8 @@ class LEDInterface:
|
|
|
"""
|
|
|
|
|
|
def __init__(self, provider: LEDProviderType = "none", ip_address: Optional[str] = None,
|
|
|
- num_leds: Optional[int] = None, gpio_pin: Optional[int] = None, brightness: Optional[float] = None,
|
|
|
- speed: Optional[int] = None, intensity: Optional[int] = None):
|
|
|
+ num_leds: Optional[int] = None, gpio_pin: Optional[int] = None, pixel_order: Optional[str] = None,
|
|
|
+ brightness: Optional[float] = None, speed: Optional[int] = None, intensity: Optional[int] = None):
|
|
|
self.provider = provider
|
|
|
self._controller = None
|
|
|
|
|
|
@@ -28,10 +28,11 @@ class LEDInterface:
|
|
|
# DW LEDs uses local GPIO, no IP needed
|
|
|
num_leds = num_leds or 60
|
|
|
gpio_pin = gpio_pin or 12
|
|
|
+ pixel_order = pixel_order or "GRB"
|
|
|
brightness = brightness if brightness is not None else 0.35
|
|
|
speed = speed if speed is not None else 128
|
|
|
intensity = intensity if intensity is not None else 128
|
|
|
- self._controller = DWLEDController(num_leds, gpio_pin, brightness, speed=speed, intensity=intensity)
|
|
|
+ self._controller = DWLEDController(num_leds, gpio_pin, brightness, pixel_order=pixel_order, speed=speed, intensity=intensity)
|
|
|
|
|
|
@property
|
|
|
def is_configured(self) -> bool:
|
|
|
@@ -39,8 +40,8 @@ class LEDInterface:
|
|
|
return self._controller is not None
|
|
|
|
|
|
def update_config(self, provider: LEDProviderType, ip_address: Optional[str] = None,
|
|
|
- num_leds: Optional[int] = None, gpio_pin: Optional[int] = None, brightness: Optional[float] = None,
|
|
|
- speed: Optional[int] = None, intensity: Optional[int] = None):
|
|
|
+ num_leds: Optional[int] = None, gpio_pin: Optional[int] = None, pixel_order: Optional[str] = None,
|
|
|
+ brightness: Optional[float] = None, speed: Optional[int] = None, intensity: Optional[int] = None):
|
|
|
"""Update LED provider configuration"""
|
|
|
self.provider = provider
|
|
|
|
|
|
@@ -56,10 +57,11 @@ class LEDInterface:
|
|
|
elif provider == "dw_leds":
|
|
|
num_leds = num_leds or 60
|
|
|
gpio_pin = gpio_pin or 12
|
|
|
+ pixel_order = pixel_order or "GRB"
|
|
|
brightness = brightness if brightness is not None else 0.35
|
|
|
speed = speed if speed is not None else 128
|
|
|
intensity = intensity if intensity is not None else 128
|
|
|
- self._controller = DWLEDController(num_leds, gpio_pin, brightness, speed=speed, intensity=intensity)
|
|
|
+ self._controller = DWLEDController(num_leds, gpio_pin, brightness, pixel_order=pixel_order, speed=speed, intensity=intensity)
|
|
|
else:
|
|
|
self._controller = None
|
|
|
|