AFL.automation.loading.UltimusVPressureController#

Classes

PressureController()

Abstract superclass for pressure controllers that provides timed dispensing

UltimusVPressureController(port[, baud, ...])

class AFL.automation.loading.UltimusVPressureController.UltimusVPressureController(port, baud=115200, auto_initialize=True)[source]#
__init__(port, baud=115200, auto_initialize=True)[source]#

Initializes an UltimusVPressureController

Params:

port (str): serial port to use baud (int): baud rate (default 115200) auto_initialize (bool): if True, immediately initialize the controller

to a safe state with steady mode enabled

compute_checksum(cmd)[source]#

Compute checksum for command.

char_count(cmd)[source]#

Get character count as 2-digit string.

package_cmd(cmd)[source]#

Package command with STX, length, checksum, ETX.

send_command(cmd)[source]#

Send command with proper protocol.

Returns:

{‘ok’: bool, ‘cmd’: str, ‘raw’: bytes}

Return type:

dict

set_mode_timed()[source]#

Set timed dispense mode (TT command).

set_mode_steady()[source]#

Set steady/maintained dispense mode (MT command).

In steady mode, RS232 has full control and the front panel cannot override the dispense state.

set_pressure(psi)[source]#

Set pressure in PSI (PS command). Range 0-100 PSI.

Parameters:

psi (float) – Pressure in PSI

set_vacuum(inches_hg)[source]#

Set vacuum in inches Hg (VS command).

Parameters:

inches_hg (float) – Vacuum in inches Hg

set_time(seconds)[source]#

Set dispense time (DS command). Max 99.9999 seconds.

Parameters:

seconds (float) – Time in seconds

dispense_toggle()[source]#

Toggle dispense on/off (DI command).

dispense_on()[source]#

Turn dispensing ON if not already on.

dispense_off()[source]#

Turn dispensing OFF if currently on.

initialize()[source]#

Initialize the controller to a safe state with RS232 control.

Sets: - Steady mode (MT) so RS232 has full control, front panel cannot override - Pressure to 0 - Vacuum to 0 - Dispensing OFF

Call this at startup before using the controller.

safe_idle()[source]#

Set controller to safe idle state.

Stops dispensing, sets pressure and vacuum to 0, and keeps steady mode for RS232 control.

stop()[source]#

Override base class stop to use safe_idle for complete shutdown.

This ensures the controller is in a known safe state after every dispense, with pressure=0, vacuum=0, dispense OFF, and steady mode.

set_P(pressure)[source]#

Set pressure in PSI (backward compatibility method).

This method handles the full dispense cycle: - To stop: turns dispense OFF, then sets pressure to 0 - To start: ensures steady mode, sets pressure FIRST (to avoid spit),

then turns dispense ON

Parameters:

pressure (float) – pressure to set in psi