Skip to content

blink1

busylight_core.vendors.thingm._blink1

ThingM Blink(1) device implementation details.

Classes

busylight_core.vendors.thingm._blink1.Action

Bases: int, Enum

Attributes
busylight_core.vendors.thingm._blink1.Action.FadeColor class-attribute instance-attribute
FadeColor = ord('c')
busylight_core.vendors.thingm._blink1.Action.SetColor class-attribute instance-attribute
SetColor = ord('n')
busylight_core.vendors.thingm._blink1.Action.ReadColor class-attribute instance-attribute
ReadColor = ord('r')
busylight_core.vendors.thingm._blink1.Action.ServerTickle class-attribute instance-attribute
ServerTickle = ord('D')
busylight_core.vendors.thingm._blink1.Action.PlayLoop class-attribute instance-attribute
PlayLoop = ord('p')
busylight_core.vendors.thingm._blink1.Action.PlayStateRead class-attribute instance-attribute
PlayStateRead = ord('S')
busylight_core.vendors.thingm._blink1.Action.SetColorPattern class-attribute instance-attribute
SetColorPattern = ord('P')
busylight_core.vendors.thingm._blink1.Action.SaveColorPatterns class-attribute instance-attribute
SaveColorPatterns = ord('W')
busylight_core.vendors.thingm._blink1.Action.ReadColorPattern class-attribute instance-attribute
ReadColorPattern = ord('R')
busylight_core.vendors.thingm._blink1.Action.SetLEDn class-attribute instance-attribute
SetLEDn = ord('l')
busylight_core.vendors.thingm._blink1.Action.ReadEEPROM class-attribute instance-attribute
ReadEEPROM = ord('e')
busylight_core.vendors.thingm._blink1.Action.WriteEEPROM class-attribute instance-attribute
WriteEEPROM = ord('E')
busylight_core.vendors.thingm._blink1.Action.GetVersion class-attribute instance-attribute
GetVersion = ord('v')
busylight_core.vendors.thingm._blink1.Action.TestCommand class-attribute instance-attribute
TestCommand = ord('!')
busylight_core.vendors.thingm._blink1.Action.WriteNote class-attribute instance-attribute
WriteNote = ord('F')
busylight_core.vendors.thingm._blink1.Action.ReadNote class-attribute instance-attribute
ReadNote = ord('f')
busylight_core.vendors.thingm._blink1.Action.Bootloader class-attribute instance-attribute
Bootloader = ord('G')
busylight_core.vendors.thingm._blink1.Action.LockBootLoader class-attribute instance-attribute
LockBootLoader = ord('L')
busylight_core.vendors.thingm._blink1.Action.SetStartupParams class-attribute instance-attribute
SetStartupParams = ord('B')
busylight_core.vendors.thingm._blink1.Action.GetStartupParams class-attribute instance-attribute
GetStartupParams = ord('b')
busylight_core.vendors.thingm._blink1.Action.ServerModeTickle class-attribute instance-attribute
ServerModeTickle = ord('D')
busylight_core.vendors.thingm._blink1.Action.GetChipID class-attribute instance-attribute
GetChipID = ord('U')

busylight_core.vendors.thingm._blink1.LEDS

Bases: int, Enum

Attributes
busylight_core.vendors.thingm._blink1.LEDS.All class-attribute instance-attribute
All = 0
busylight_core.vendors.thingm._blink1.LEDS.Top class-attribute instance-attribute
Top = 1
busylight_core.vendors.thingm._blink1.LEDS.Bottom class-attribute instance-attribute
Bottom = 2

busylight_core.vendors.thingm._blink1.Report

Bases: int, Enum

Attributes
busylight_core.vendors.thingm._blink1.Report.One class-attribute instance-attribute
One = 1
busylight_core.vendors.thingm._blink1.Report.Two class-attribute instance-attribute
Two = 2

busylight_core.vendors.thingm._blink1.ReportField

ReportField()

Bases: BitField

8-bit report field.

Source code in src/busylight_core/vendors/thingm/_blink1.py
def __init__(self) -> None:
    super().__init__(56, 8)
Attributes
busylight_core.vendors.thingm._blink1.ReportField.field instance-attribute
field = slice(offset, offset + width)

busylight_core.vendors.thingm._blink1.ActionField

ActionField()

Bases: BitField

8-bit action field.

Source code in src/busylight_core/vendors/thingm/_blink1.py
def __init__(self) -> None:
    super().__init__(48, 8)
Attributes
busylight_core.vendors.thingm._blink1.ActionField.field instance-attribute
field = slice(offset, offset + width)

busylight_core.vendors.thingm._blink1.RedField

RedField()

Bases: BitField

8-bit red field.

Source code in src/busylight_core/vendors/thingm/_blink1.py
def __init__(self) -> None:
    super().__init__(40, 8)
Attributes
busylight_core.vendors.thingm._blink1.RedField.field instance-attribute
field = slice(offset, offset + width)

busylight_core.vendors.thingm._blink1.GreenField

GreenField()

Bases: BitField

8-bit green field.

Source code in src/busylight_core/vendors/thingm/_blink1.py
def __init__(self) -> None:
    super().__init__(32, 8)
Attributes
busylight_core.vendors.thingm._blink1.GreenField.field instance-attribute
field = slice(offset, offset + width)

busylight_core.vendors.thingm._blink1.BlueField

BlueField()

Bases: BitField

8-bit blue field.

Source code in src/busylight_core/vendors/thingm/_blink1.py
def __init__(self) -> None:
    super().__init__(24, 8)
Attributes
busylight_core.vendors.thingm._blink1.BlueField.field instance-attribute
field = slice(offset, offset + width)

busylight_core.vendors.thingm._blink1.PlayField

PlayField()

Bases: BitField

8-bit play field.

Source code in src/busylight_core/vendors/thingm/_blink1.py
def __init__(self) -> None:
    super().__init__(40, 8)
Attributes
busylight_core.vendors.thingm._blink1.PlayField.field instance-attribute
field = slice(offset, offset + width)

busylight_core.vendors.thingm._blink1.StartField

StartField()

Bases: BitField

8-bit start field.

Source code in src/busylight_core/vendors/thingm/_blink1.py
def __init__(self) -> None:
    super().__init__(32, 8)
Attributes
busylight_core.vendors.thingm._blink1.StartField.field instance-attribute
field = slice(offset, offset + width)

busylight_core.vendors.thingm._blink1.StopField

StopField()

Bases: BitField

8-bit stop field.

Source code in src/busylight_core/vendors/thingm/_blink1.py
def __init__(self) -> None:
    super().__init__(24, 8)
Attributes
busylight_core.vendors.thingm._blink1.StopField.field instance-attribute
field = slice(offset, offset + width)

busylight_core.vendors.thingm._blink1.CountField

CountField()

Bases: BitField

8-bit count field.

Source code in src/busylight_core/vendors/thingm/_blink1.py
def __init__(self) -> None:
    super().__init__(16, 8)
Attributes
busylight_core.vendors.thingm._blink1.CountField.field instance-attribute
field = slice(offset, offset + width)

busylight_core.vendors.thingm._blink1.FadeField

FadeField()

Bases: BitField

16-bit fade field.

Source code in src/busylight_core/vendors/thingm/_blink1.py
def __init__(self) -> None:
    super().__init__(8, 16)
Attributes
busylight_core.vendors.thingm._blink1.FadeField.field instance-attribute
field = slice(offset, offset + width)

busylight_core.vendors.thingm._blink1.LedsField

LedsField()

Bases: BitField

8-bit led field.

Source code in src/busylight_core/vendors/thingm/_blink1.py
def __init__(self) -> None:
    super().__init__(0, 8)
Attributes
busylight_core.vendors.thingm._blink1.LedsField.field instance-attribute
field = slice(offset, offset + width)

busylight_core.vendors.thingm._blink1.LinesField

LinesField()

Bases: BitField

8-bit line field.

Source code in src/busylight_core/vendors/thingm/_blink1.py
def __init__(self) -> None:
    super().__init__(0, 8)
Attributes
busylight_core.vendors.thingm._blink1.LinesField.field instance-attribute
field = slice(offset, offset + width)

busylight_core.vendors.thingm._blink1.State

State()

Bases: Word

Source code in src/busylight_core/vendors/thingm/_blink1.py
def __init__(self) -> None:
    super().__init__(0, 64)
Attributes
busylight_core.vendors.thingm._blink1.State.report class-attribute instance-attribute
report = ReportField()
busylight_core.vendors.thingm._blink1.State.action class-attribute instance-attribute
action = ActionField()
busylight_core.vendors.thingm._blink1.State.red class-attribute instance-attribute
red = RedField()
busylight_core.vendors.thingm._blink1.State.green class-attribute instance-attribute
green = GreenField()
busylight_core.vendors.thingm._blink1.State.blue class-attribute instance-attribute
blue = BlueField()
busylight_core.vendors.thingm._blink1.State.play class-attribute instance-attribute
play = PlayField()
busylight_core.vendors.thingm._blink1.State.start class-attribute instance-attribute
start = StartField()
busylight_core.vendors.thingm._blink1.State.stop class-attribute instance-attribute
stop = StopField()
busylight_core.vendors.thingm._blink1.State.count class-attribute instance-attribute
count = CountField()
busylight_core.vendors.thingm._blink1.State.fade class-attribute instance-attribute
fade = FadeField()
busylight_core.vendors.thingm._blink1.State.leds class-attribute instance-attribute
leds = LedsField()
busylight_core.vendors.thingm._blink1.State.line class-attribute instance-attribute
line = LinesField()
busylight_core.vendors.thingm._blink1.State.color property writable
color
busylight_core.vendors.thingm._blink1.State.initial_value instance-attribute
initial_value = value
busylight_core.vendors.thingm._blink1.State.length instance-attribute
length = length
busylight_core.vendors.thingm._blink1.State.bits instance-attribute
bits = array('B', [value >> n & 1 for n in range])
busylight_core.vendors.thingm._blink1.State.value property
value

Return the integer value of the word.

busylight_core.vendors.thingm._blink1.State.range property
range

Return the range of bit offsets for this word.

busylight_core.vendors.thingm._blink1.State.hex property
hex

Return a string hexadecimal representation of the word.

busylight_core.vendors.thingm._blink1.State.bin property
bin

Return a string binary representation of the word.

Functions
busylight_core.vendors.thingm._blink1.State.fade_to_color
fade_to_color(color, fade_ms=10, leds=All)
Source code in src/busylight_core/vendors/thingm/_blink1.py
def fade_to_color(
    self,
    color: tuple[int, int, int],
    fade_ms: int = 10,
    leds: LEDS = LEDS.All,
) -> None:
    self.clear()
    self.report = Report.One
    self.action = Action.FadeColor
    self.color = color
    self.fade = fade_ms
    self.leds = leds
busylight_core.vendors.thingm._blink1.State.write_pattern_line
write_pattern_line(color, fade_ms, index)
Source code in src/busylight_core/vendors/thingm/_blink1.py
def write_pattern_line(
    self,
    color: tuple[int, int, int],
    fade_ms: int,
    index: int,
) -> None:
    self.clear()
    self.report = Report.One
    self.action = Action.SetColorPattern
    self.color = color
    self.fade = fade_ms
    self.line = index
busylight_core.vendors.thingm._blink1.State.save_patterns
save_patterns()
Source code in src/busylight_core/vendors/thingm/_blink1.py
def save_patterns(self) -> None:
    self.clear()
    self.report = Report.One
    self.action = Action.SaveColorPatterns
    self.color = (0xBE, 0xEF, 0xCA)
    self.count = 0xFE
busylight_core.vendors.thingm._blink1.State.play_loop
play_loop(play, start, stop, count=0)
Source code in src/busylight_core/vendors/thingm/_blink1.py
def play_loop(self, play: int, start: int, stop: int, count: int = 0) -> None:
    self.clear()
    self.report = Report.One
    self.action = Action.PlayLoop
    self.play = play
    self.start = start
    self.stop = stop
    self.count = count
busylight_core.vendors.thingm._blink1.State.clear_patterns
clear_patterns(start=0, count=16)
Source code in src/busylight_core/vendors/thingm/_blink1.py
def clear_patterns(self, start: int = 0, count: int = 16) -> None:
    for index in range(start, start + count):
        self.write_pattern_line((0, 0, 0), 0, index)
busylight_core.vendors.thingm._blink1.State.clear
clear()

Clear all bits in the word.

Source code in src/busylight_core/word.py
def clear(self) -> None:
    """Clear all bits in the word."""
    self.bits = array.array("B", [0] * self.length)