docs: def set_led(self, led, action=None,
                  cabinet=Required, frame=Required, board=Required):
          """Set or toggle the state of an LED.
  
          .. note::
              At the time of writing, LED 7 is only set by the BMP on start-up to
              indicate that the watchdog timer reset the board. After this point,
              the LED is available for use by applications.
  
          Parameters
          ----------
          led : int or iterable
              Number of the LED or an iterable of LEDs to set the state of (0-7)
          action : bool or None
              State to set the LED to. True for on, False for off, None to
              toggle (default).
          board : int or iterable
              Specifies the board to control the LEDs of. This may also be an
              iterable of multiple boards (in the same frame). The command will
              actually be sent to the first board in the iterable.
          """
          if isinstance(led, int):
              leds = [led]
          else:
              leds = led
          if isinstance(board, int):
              boards = [board]
          else:
              boards = list(board)
              board = boards[0]
  
          # LED setting actions
          arg1 = sum(LEDAction.from_bool(action) << (led * 2) for led in leds)
  
          # Bitmask of boards to control
          arg2 = sum(1 << b for b in boards)
  
          self._send_scp(cabinet, frame, board, SCPCommands.led, arg1=arg1,
                         arg2=arg2, expected_args=0)