code: def jtag_send(self, tms, tdi, num_bits):
          
          if not util.is_natural(num_bits) or num_bits <= 0 or num_bits > 32:
              raise ValueError('Number of bits must be >= 1 and <= 32.')
          self._dll.JLINKARM_StoreBits(tms, tdi, num_bits)
          return None
docs: Sends data via JTAG.
  
          Sends data via JTAG on the rising clock edge, TCK.  At on each rising
          clock edge, on bit is transferred in from TDI and out to TDO.  The
          clock uses the TMS to step through the standard JTAG state machine.
  
          Args:
            self (JLink): the ``JLink`` instance
            tms (int): used to determine the state transitions for the Test
              Access Port (TAP) controller from its current state
            tdi (int): input data to be transferred in from TDI to TDO
            num_bits (int): a number in the range ``[1, 32]`` inclusively
              specifying the number of meaningful bits in the ``tms`` and
              ``tdi`` parameters for the purpose of extracting state and data
              information
  
          Returns:
            ``None``
  
          Raises:
            ValueError: if ``num_bits < 1`` or ``num_bits > 32``.
  
          See Also:
            `JTAG Technical Overview <https://www.xjtag.com/about-jtag/jtag-a-technical-overview>`_.