setLed method

Future<void> setLed(
  1. LedColor color, {
  2. int durationMs = 500,
  3. int blinkCount = 1,
})

Sets the scanner's LED color, duration, and blink count (OP_SET_LED: 0x0B). durationMs must be in milliseconds (e.g., 500ms = 10 units of 50ms). Max is 255 units (12750ms). blinkCount is the number of blinks (0 to 255).

Implementation

Future<void> setLed(
  LedColor color, {
  int durationMs = 500,
  int blinkCount = 1,
}) {
  int durationUnits = (durationMs / 50).round().clamp(0, 255);
  int blinks = blinkCount.clamp(0, 255);
  String durHex = durationUnits.toRadixString(16).padLeft(2, '0');
  String blinkHex = blinks.toRadixString(16).padLeft(2, '0');
  return sendCommand('ba0b${color.hexCode}$durHex$blinkHex');
}