PyICe.lab_interfaces¶
Physical Communication Interfaces Hierarchy Manager¶
Required for multithreaded communication.
Classes
communication_node () |
The purpose of this is to map a network of communication resources to each channel |
gpib_adapter () |
|
gpib_adapter_rl1009_dll () |
|
gpib_adapter_rl1009_serial (serialPort) |
|
gpib_adapter_visa () |
|
interface (name) |
base class all lab instruments should in some way talk to, all have a timeout whether or not it does anything |
interface_factory () |
the goal of the interface factory is both to create interfaces |
interface_ftdi_d2xx () |
write this if you want it |
interface_libusb (idVendor, idProduct, timeout) |
Bulk transfer through LibUSB/WinUSB. |
interface_raw_serial (serial_port_name, ...) |
|
interface_spi (name) |
|
interface_spi_cfgpro (visa_interface, CPOL, CPHA) |
|
interface_spi_dc590 (interface_stream[, ss_ctrl]) |
|
interface_spi_dummy ([delay]) |
|
interface_stream (name) |
Generic parent class of all stream-type interfaces. |
interface_stream_serial (interface_raw_serial) |
PySerial based stream wrapper. |
interface_twi (name) |
|
interface_twi_buspirate (interface_serial, ...) |
|
interface_twi_dc590_serial (interface_serial, ...) |
|
interface_twi_dc590listread_serial (...) |
|
interface_twi_dummy (delay) |
|
interface_twi_kernel (bus_number) |
|
interface_twi_scpi (interface_serial, timeout) |
|
interface_twi_scpi_sp (interface_serial, ...) |
|
interface_twi_scpi_testhook (...) |
|
interface_visa (name) |
|
interface_visa_direct (visa_address_string, ...) |
|
interface_visa_keithley_kxci (host_address, port) |
|
interface_visa_rl1009_dll (GPIBAddress, timeout) |
|
interface_visa_rl1009_serial (GPIBAddress, ...) |
|
interface_visa_serial (...) |
|
interface_visa_tcp_ip (host_address, port, ...) |
|
interface_visa_telnet (host_address, port, ...) |
|
interface_visa_vxi11 (address, timeout) |
-
class
PyICe.lab_interfaces.
communication_node
[source]¶ Bases:
object
The purpose of this is to map a network of communication resources to each channel
-
class
PyICe.lab_interfaces.
interface
(name)[source]¶ Bases:
PyICe.lab_interfaces.communication_node
base class all lab instruments should in some way talk to, all have a timeout whether or not it does anything
-
class
PyICe.lab_interfaces.
interface_factory
[source]¶ Bases:
PyICe.lab_interfaces.communication_node
the goal of the interface factory is both to create interfaces it also creates the instruments with communication_node, that they pass on to channels
The purpose of this class is to be smart about the interfaces and to simplify their creation. It’s purpose is also to encourage portable code, and to remove some low level responsibilities from the instruments.
This also forces you to talk to gpib instruments in a way that works with both visa library and non-visa adapters.
-
class
PyICe.lab_interfaces.
interface_ftdi_d2xx
[source]¶ Bases:
PyICe.lab_interfaces.interface_stream
write this if you want it https://pypi.python.org/pypi/pylibftdi
-
close
()¶ close the underlying interface if necessary
-
read
(byte_count)¶ Read and return tuple (byte_count bytes, byte_count remaining_bytes) from subclass-specific communication interface. If fewer than byte_count bytes are available, return all available.
-
write
(byte_list)¶ Send byte_list across subclass-specific communication interface.
-
-
class
PyICe.lab_interfaces.
interface_libusb
(idVendor, idProduct, timeout)[source]¶ Bases:
PyICe.lab_interfaces.interface
Bulk transfer through LibUSB/WinUSB. Implementation may be overly specific to George B’s Direct590 protocol and may need additional options or subclassing later. Transfers must be in multiples of this 64 byte payload size or will result in a babble error in the underlying library. Requires PyUSB: https://github.com/walac/pyusb
-
class
PyICe.lab_interfaces.
interface_stream
(name)[source]¶ Bases:
PyICe.lab_interfaces.interface
Generic parent class of all stream-type interfaces. Developed for DC590 board variants, but probably has more generic utility if moved into lab_interfaces Maybe consider change to inherit from https://docs.python.org/2/library/io.html
-
class
PyICe.lab_interfaces.
interface_stream_serial
(interface_raw_serial)[source]¶ Bases:
PyICe.lab_interfaces.interface_stream
PySerial based stream wrapper.