docs: def send_signal(self, signal, app_id):
          """Transmit a signal to applications.
  
          .. warning::
              In current implementations of SARK, signals are highly likely to
              arrive but this is not guaranteed (especially when the system's
              network is heavily utilised). Users should treat this mechanism
              with caution. Future versions of SARK may resolve this issue.
  
          Parameters
          ----------
          signal : string or :py:class:`~rig.machine_control.consts.AppSignal`
              Signal to transmit. This may be either an entry of the
              :py:class:`~rig.machine_control.consts.AppSignal` enum or, for
              convenience, the name of a signal (defined in
              :py:class:`~rig.machine_control.consts.AppSignal`) as a string.
          """
          if isinstance(signal, str):
              try:
                  signal = getattr(consts.AppSignal, signal)
              except AttributeError:
                  # The signal name is not present in consts.AppSignal! The next
                  # test will throw an appropriate exception since no string can
                  # be "in" an IntEnum.
                  pass
          if signal not in consts.AppSignal:
              raise ValueError(
                  "send_signal: Cannot transmit signal of type {}".format(
                      repr(signal)))
  
          # Construct the packet for transmission
          arg1 = consts.signal_types[signal]
          arg2 = (signal << 16) | 0xff00 | app_id
          arg3 = 0x0000ffff  # Meaning "transmit to all"
          self._send_scp(255, 255, 0, SCPCommands.signal, arg1, arg2, arg3)