Kuando Implementation¶
Busylight Alpha and Omega devices
This module contains the low-level implementation details for Kuando devices, including enumerations, bit fields, and state management classes.
Available Components¶
Kuando Busylight implementation details.
Classes¶
busylight_core.vendors.kuando.implementation.Footer
¶
Bases: Step
Command footer with checksum and device-specific fields.
The Footer extends Step with additional fields specific to command validation and device configuration. It includes a checksum field that ensures command integrity.
Attributes¶
busylight_core.vendors.kuando.implementation.Footer.initial_value
instance-attribute
¶
busylight_core.vendors.kuando.implementation.Footer.bits
instance-attribute
¶
busylight_core.vendors.kuando.implementation.Footer.value
property
¶
Return the integer value of the word.
busylight_core.vendors.kuando.implementation.Footer.range
property
¶
Return the range of bit offsets for this word.
busylight_core.vendors.kuando.implementation.Footer.hex
property
¶
Return a string hexadecimal representation of the word.
busylight_core.vendors.kuando.implementation.Footer.bin
property
¶
Return a string binary representation of the word.
busylight_core.vendors.kuando.implementation.Footer.color
property
writable
¶
Get the current RGB color as a tuple.
busylight_core.vendors.kuando.implementation.Footer.opcode
class-attribute
instance-attribute
¶
opcode = OpCodeField()
busylight_core.vendors.kuando.implementation.Footer.operand
class-attribute
instance-attribute
¶
operand = OperandField()
busylight_core.vendors.kuando.implementation.Footer.body
class-attribute
instance-attribute
¶
body = BodyField()
busylight_core.vendors.kuando.implementation.Footer.repeat
class-attribute
instance-attribute
¶
repeat = RepeatField()
busylight_core.vendors.kuando.implementation.Footer.red
class-attribute
instance-attribute
¶
red = RedField()
busylight_core.vendors.kuando.implementation.Footer.green
class-attribute
instance-attribute
¶
green = GreenField()
busylight_core.vendors.kuando.implementation.Footer.blue
class-attribute
instance-attribute
¶
blue = BlueField()
busylight_core.vendors.kuando.implementation.Footer.duty_cycle_on
class-attribute
instance-attribute
¶
duty_cycle_on = DutyCycleOnField()
busylight_core.vendors.kuando.implementation.Footer.duty_cycle_off
class-attribute
instance-attribute
¶
duty_cycle_off = DutyCycleOffField()
busylight_core.vendors.kuando.implementation.Footer.update
class-attribute
instance-attribute
¶
update = UpdateBit()
busylight_core.vendors.kuando.implementation.Footer.ringtone
class-attribute
instance-attribute
¶
ringtone = RingtoneField()
busylight_core.vendors.kuando.implementation.Footer.volume
class-attribute
instance-attribute
¶
volume = VolumeField()
busylight_core.vendors.kuando.implementation.Footer.checksum
class-attribute
instance-attribute
¶
checksum = ChecksumField()
busylight_core.vendors.kuando.implementation.Footer.pad
class-attribute
instance-attribute
¶
pad = BitField(16, 24)
busylight_core.vendors.kuando.implementation.Footer.sensitivity
class-attribute
instance-attribute
¶
sensitivity = SensitivityField()
busylight_core.vendors.kuando.implementation.Footer.timeout
class-attribute
instance-attribute
¶
timeout = TimeoutField()
busylight_core.vendors.kuando.implementation.Footer.trigger
class-attribute
instance-attribute
¶
trigger = TriggerField()
Functions¶
busylight_core.vendors.kuando.implementation.Footer.keep_alive
¶
Configure the step as a KeepAlive with timeout in seconds.
busylight_core.vendors.kuando.implementation.Footer.boot
¶
Configure the step as a Boot instruction.
busylight_core.vendors.kuando.implementation.Footer.reset
¶
Configure the step as a Reset instruction.
busylight_core.vendors.kuando.implementation.Step
¶
Bases: Word
A single command step for Kuando Busylight devices.
The Step class represents one instruction in the device's command sequence. Each device supports up to 7 steps that can control LED colors, timing, ringtones, and other device behaviors.
Attributes¶
busylight_core.vendors.kuando.implementation.Step.initial_value
instance-attribute
¶
busylight_core.vendors.kuando.implementation.Step.bits
instance-attribute
¶
busylight_core.vendors.kuando.implementation.Step.value
property
¶
Return the integer value of the word.
busylight_core.vendors.kuando.implementation.Step.range
property
¶
Return the range of bit offsets for this word.
busylight_core.vendors.kuando.implementation.Step.hex
property
¶
Return a string hexadecimal representation of the word.
busylight_core.vendors.kuando.implementation.Step.bin
property
¶
Return a string binary representation of the word.
busylight_core.vendors.kuando.implementation.Step.color
property
writable
¶
Get the current RGB color as a tuple.
busylight_core.vendors.kuando.implementation.Step.opcode
class-attribute
instance-attribute
¶
opcode = OpCodeField()
busylight_core.vendors.kuando.implementation.Step.operand
class-attribute
instance-attribute
¶
operand = OperandField()
busylight_core.vendors.kuando.implementation.Step.body
class-attribute
instance-attribute
¶
body = BodyField()
busylight_core.vendors.kuando.implementation.Step.repeat
class-attribute
instance-attribute
¶
repeat = RepeatField()
busylight_core.vendors.kuando.implementation.Step.red
class-attribute
instance-attribute
¶
red = RedField()
busylight_core.vendors.kuando.implementation.Step.green
class-attribute
instance-attribute
¶
green = GreenField()
busylight_core.vendors.kuando.implementation.Step.blue
class-attribute
instance-attribute
¶
blue = BlueField()
busylight_core.vendors.kuando.implementation.Step.duty_cycle_on
class-attribute
instance-attribute
¶
duty_cycle_on = DutyCycleOnField()
busylight_core.vendors.kuando.implementation.Step.duty_cycle_off
class-attribute
instance-attribute
¶
duty_cycle_off = DutyCycleOffField()
busylight_core.vendors.kuando.implementation.Step.update
class-attribute
instance-attribute
¶
update = UpdateBit()
busylight_core.vendors.kuando.implementation.Step.ringtone
class-attribute
instance-attribute
¶
ringtone = RingtoneField()
busylight_core.vendors.kuando.implementation.Step.volume
class-attribute
instance-attribute
¶
volume = VolumeField()
Functions¶
busylight_core.vendors.kuando.implementation.Step.keep_alive
¶
Configure the step as a KeepAlive with timeout in seconds.
busylight_core.vendors.kuando.implementation.Step.boot
¶
Configure the step as a Boot instruction.
busylight_core.vendors.kuando.implementation.Step.reset
¶
Configure the step as a Reset instruction.
busylight_core.vendors.kuando.implementation.OpCode
¶
Bases: IntEnum
Operation code enumeration for Kuando Busylight commands.
Defines the available operation codes that control device behavior. These codes are used in the Step command structure to specify what action the device should perform.
Attributes¶
busylight_core.vendors.kuando.implementation.OpCode.Jump
class-attribute
instance-attribute
¶
busylight_core.vendors.kuando.implementation.OpCode.Reset
class-attribute
instance-attribute
¶
busylight_core.vendors.kuando.implementation.OpCode.Boot
class-attribute
instance-attribute
¶
busylight_core.vendors.kuando.implementation.OpCode.KeepAlive
class-attribute
instance-attribute
¶
busylight_core.vendors.kuando.implementation.Ring
¶
Bases: IntEnum
Ringtone enumeration for Kuando Busylight devices.
Defines the available ringtones that can be played on supported devices. Each ringtone has a specific numeric value that corresponds to the device's internal ringtone selection.
Attributes¶
busylight_core.vendors.kuando.implementation.Ring.OpenOffice
class-attribute
instance-attribute
¶
busylight_core.vendors.kuando.implementation.Ring.Quiet
class-attribute
instance-attribute
¶
busylight_core.vendors.kuando.implementation.Ring.Funky
class-attribute
instance-attribute
¶
busylight_core.vendors.kuando.implementation.Ring.FairyTale
class-attribute
instance-attribute
¶
busylight_core.vendors.kuando.implementation.Ring.KuandoTrain
class-attribute
instance-attribute
¶
busylight_core.vendors.kuando.implementation.Ring.TelephoneNordic
class-attribute
instance-attribute
¶
busylight_core.vendors.kuando.implementation.Ring.TelephoneOriginal
class-attribute
instance-attribute
¶
busylight_core.vendors.kuando.implementation.Ring.TelephonePickMeUp
class-attribute
instance-attribute
¶
busylight_core.vendors.kuando.implementation.Ring.Buzz
class-attribute
instance-attribute
¶
busylight_core.vendors.kuando.implementation.BlueField
¶
Bases: ScaledColorField
8-bit blue color component with automatic scaling.
busylight_core.vendors.kuando.implementation.BodyField
¶
busylight_core.vendors.kuando.implementation.ChecksumField
¶
busylight_core.vendors.kuando.implementation.DutyCycleOffField
¶
Bases: BitField
8-bit duty cycle off time for LED pulsing patterns.
busylight_core.vendors.kuando.implementation.DutyCycleOnField
¶
Bases: BitField
8-bit duty cycle on time for LED pulsing patterns.
busylight_core.vendors.kuando.implementation.GreenField
¶
Bases: ScaledColorField
8-bit green color component with automatic scaling.
busylight_core.vendors.kuando.implementation.OpCodeField
¶
busylight_core.vendors.kuando.implementation.OperandField
¶
busylight_core.vendors.kuando.implementation.RedField
¶
Bases: ScaledColorField
8-bit red color component with automatic scaling.
busylight_core.vendors.kuando.implementation.RepeatField
¶
busylight_core.vendors.kuando.implementation.RingtoneField
¶
busylight_core.vendors.kuando.implementation.ScaledColorField
¶
Bases: BitField
A scaled color field that converts between 0-255 RGB values and device scale.
The Kuando devices use a 0-100 internal scale for color values, but the public API uses standard 0-255 RGB values. This field handles the conversion automatically when getting and setting color values.
Create a read-only bit field descriptor.
Defines a named field that maps to specific bit positions within a Word. The field will be accessible as a regular attribute on Word instances but will raise AttributeError on assignment attempts.
:param offset: Starting bit position within the word (0-based from LSB) :param width: Number of consecutive bits to include in the field
busylight_core.vendors.kuando.implementation.SensitivityField
¶
Bases: BitField
8-bit sensitivity
busylight_core.vendors.kuando.implementation.TimeoutField
¶
busylight_core.vendors.kuando.implementation.TriggerField
¶
busylight_core.vendors.kuando.implementation.UpdateBit
¶
busylight_core.vendors.kuando.implementation.VolumeField
¶
busylight_core.vendors.kuando.implementation.State
¶
Complete device state for Kuando Busylight commands.
The State class manages the full command sequence sent to Kuando devices. It consists of 7 execution steps and a footer with checksum validation. The state is serialized to bytes for transmission to the hardware.