code: def poke(library, session, address, width, data):
      
  
      if width == 8:
          return poke_8(library, session, address, data)
      elif width == 16:
          return poke_16(library, session, address, data)
      elif width == 32:
          return poke_32(library, session, address, data)
  
      raise ValueError('%s is not a valid size. Valid values are 8, 16 or 32' % width)
docs: Writes an 8, 16 or 32-bit value from the specified address.
  
      Corresponds to viPoke* functions of the VISA library.
  
      :param library: the visa library wrapped by ctypes.
      :param session: Unique logical identifier to a session.
      :param address: Source address to read the value.
      :param width: Number of bits to read.
      :param data: Data to be written to the bus.
      :return: return value of the library call.
      :rtype: :class:`pyvisa.constants.StatusCode`