pyipcmini package#

Subpackages#

Submodules#

pyipcmini.usb_ion_pump module#

Contain the class for Agilent IPCMini controller.

exception pyipcmini.usb_ion_pump.CustomError[source]#

Bases: Exception

Custom error class.

class pyipcmini.usb_ion_pump.MeasureTimes(time: float, time_stamp: datetime, old_time: float)[source]#

Bases: object

Times used to timestamp measurements.

old_time: float#
time: float#
time_stamp: datetime#
class pyipcmini.usb_ion_pump.UsbPumpHandler(serial_port: str = '/dev/ttyUSB0', baudrate: int = 9600, init_param: dict | None = None, label: str = 'Label')[source]#

Bases: object

Class for addressing the Agilent IPCMini controller.

Attributes:
TIME_ZONE

Methods

close()

Close the serial connection, free up the COM port.

initialize_parameters(init_param)

Initialize standard parameters.

kill_thread()

Kill the thread.

thread_loop(values_queue, commands_queue[, ...])

Loop thread for pressure and temperature.

TIME_ZONE = None#
close() None[source]#

Close the serial connection, free up the COM port.

initialize_parameters(init_param: dict) None[source]#

Initialize standard parameters.

Parameters:
init_paramdict

All parameters of the pump controller to be initialized.

kill_thread() None[source]#

Kill the thread.

thread_loop(values_queue: Queue, commands_queue: Queue, update_values_time: float = 30.0, update_commands_time: float = 2.0) None[source]#

Loop thread for pressure and temperature.

Loops reading the pressure and current every update_time, then sends them via the thread’s value Queue, along with a time stamp.

Parameters:
values_queueQueue

To pass data collected within a thread to the app that started the thread.

commands_queueQueue

To send commands while thread is running.

update_values_timefloat

Time interval between measurements => in principle, should be longer than update_commands_time.

update_commands_timefloat

Time interval between checks for commands.

pyipcmini.version module#

pyIPCMini version.

Module contents#

Package for the Agilent IPCMini controller.

class pyipcmini.IonPump(serial_connection: serial.Serial)[source]#

Bases: object

Class for all functions of Agilent IPCMini controller.

Methods

list_read_function_labels()

List all read function labels available.

list_set_function_labels()

List all set function labels available.

list_read_function_labels() int[source]#

List all read function labels available.

Parameters:
int

The list of available read functions keys.

list_set_function_labels() int[source]#

List all set function labels available.

Parameters:
int

The list of available set functions keys.

class pyipcmini.IonPumpDics[source]#

Bases: object

Class of joint dictionnaries for Agilent IPCMini ion pump controller.

dics = mappingproxy({'Reply': mappingproxy({6: 'Command success', 15: 'Command fail', 32: 'Invalid window', 33: 'Data type error', 34: 'Out of range', 35: 'Window is read-only'}), 'Mode': mappingproxy({0: 'Serial', 1: 'Remote', 2: 'Local', 3: 'LAN'}), 'Baud rate': mappingproxy({1: 1200, 2: 2400, 3: 4800, 4: 9600}), 'Serial type': mappingproxy({False: 'RS232', True: 'RS485'}), 'Unit pressure': mappingproxy({0: 'Torr', 1: 'mBar', 2: 'Pa'}), 'Device number': mappingproxy({0: 'Spare', 1: '500 StarCell', 2: '300 StarCell', 16: '200 StarCell', 3: '150 StarCell', 4: '75-55-40 StarCell', 5: '20 StarCell', 20: 'NEXTorr-SC', 6: '500 diode', 7: '300 diode', 15: '200 diode', 8: '150 diode', 9: '75-55-40 diode', 10: '20 diode', 11: '10 diode', 12: '75 Sem', 13: '75 Sem', 14: '75 Sem', 17: '2 diode', 18: '0.2 diode 1250 Gauss', 19: '0.2 diode 800 Gauss'}), 'Win': mappingproxy({'Mode': '008', 'HV ON/OFF': '011', 'Baud rate': '108', 'Status': '205', 'Error code': '206', 'Model': '319', 'Serial number': '323', 'RS485 address': '503', 'Serial type': '504', 'Unit pressure': '600', 'Autostart': '601', 'Protect': '602', 'Fixed/step': '603', 'Device number': '610', 'Max power': '612', 'V target': '613', 'I protect': '614', 'Set point': '615', 'Temperature power section': '800', 'Temperature internal controller': '801', 'Status set point': '804', 'V measured': '810', 'I measured': '811', 'Pressure': '812', 'Label': '890'})})#
class pyipcmini.UsbPumpHandler(serial_port: str = '/dev/ttyUSB0', baudrate: int = 9600, init_param: dict | None = None, label: str = 'Label')[source]#

Bases: object

Class for addressing the Agilent IPCMini controller.

Attributes:
TIME_ZONE

Methods

close()

Close the serial connection, free up the COM port.

initialize_parameters(init_param)

Initialize standard parameters.

kill_thread()

Kill the thread.

thread_loop(values_queue, commands_queue[, ...])

Loop thread for pressure and temperature.

TIME_ZONE = None#
close() None[source]#

Close the serial connection, free up the COM port.

initialize_parameters(init_param: dict) None[source]#

Initialize standard parameters.

Parameters:
init_paramdict

All parameters of the pump controller to be initialized.

kill_thread() None[source]#

Kill the thread.

thread_loop(values_queue: Queue, commands_queue: Queue, update_values_time: float = 30.0, update_commands_time: float = 2.0) None[source]#

Loop thread for pressure and temperature.

Loops reading the pressure and current every update_time, then sends them via the thread’s value Queue, along with a time stamp.

Parameters:
values_queueQueue

To pass data collected within a thread to the app that started the thread.

commands_queueQueue

To send commands while thread is running.

update_values_timefloat

Time interval between measurements => in principle, should be longer than update_commands_time.

update_commands_timefloat

Time interval between checks for commands.