STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
pt_multi_gui Namespace Reference

Classes

class  UDPReceiver
class  PTPlotWindow

Functions

float calculate_pressure (float raw_value, float a, float b, float c, float d)
Optional[Tuple[int, int, int]] parse_packet_header (bytes data)
Optional[Tuple[dict, List[dict]]] parse_sensor_data_packet (bytes data)
 main ()

Variables

 _QT_HORIZ = QtCore.Qt.Horizontal
 antialias
 False
 useOpenGL
int MAX_PACKET_SIZE = 512
 PacketType = type("PacketType", (), {"SENSOR_DATA": 3})
str PACKET_HEADER_FORMAT = "<BBI"
int PACKET_HEADER_SIZE = 6
str SENSOR_DATA_PACKET_FORMAT = "<BB"
int SENSOR_DATA_PACKET_SIZE = 2
str SENSOR_DATA_CHUNK_FORMAT = "<I"
int SENSOR_DATA_CHUNK_SIZE = 4
str SENSOR_DATAPOINT_FORMAT = "<Bf"
int SENSOR_DATAPOINT_SIZE = 5
int DEFAULT_PORT = 5007
float DEFAULT_WINDOW_SECONDS = 30.0
int MAX_POINTS = 8000
int UPDATE_INTERVAL_MS = 50
int NUM_PTS = 10
list PT_COLORS
list PT_CALIBRATION
str PRESSURE_UNIT = "psi"

Detailed Description

PT_BOARD_multi_gui – Live plots for PT_BOARD_Multi_Send

Receives DAQv2-Comms SENSOR_DATA packets over UDP from PT_BOARD_Multi_Send,
decodes them, and displays real-time voltage plots for each PT (1–10).

Ensure the firmware's receiverIP matches this machine's IP (or use 192.168.2.20)
and that the GUI listens on port 5007 (PT board). Actuator_Testing uses 5006 so
both can run together.

  pip install -r requirements.txt
  python pt_multi_gui.py [-p 5007] [-a 0.0.0.0]

  On macOS, if you get a segfault: use PyQt5 instead of PyQt6
  (pip install PyQt5; this script will try PyQt5 if PyQt6 is unavailable).

Function Documentation

◆ calculate_pressure()

float pt_multi_gui.calculate_pressure ( float raw_value,
float a,
float b,
float c,
float d )
Convert raw voltage to pressure using polynomial calibration.

Definition at line 134 of file pt_multi_gui.py.

Referenced by pt_multi_gui.PTPlotWindow.update_plots().

◆ main()

pt_multi_gui.main ( void )

Definition at line 516 of file pt_multi_gui.py.

References main().

◆ parse_packet_header()

Optional[Tuple[int, int, int]] pt_multi_gui.parse_packet_header ( bytes data)

Definition at line 142 of file pt_multi_gui.py.

Referenced by parse_sensor_data_packet(), and pt_multi_gui.UDPReceiver.run().

◆ parse_sensor_data_packet()

Optional[Tuple[dict, List[dict]]] pt_multi_gui.parse_sensor_data_packet ( bytes data)

Definition at line 151 of file pt_multi_gui.py.

References parse_packet_header().

Referenced by pt_multi_gui.UDPReceiver.run().

Variable Documentation

◆ _QT_HORIZ

pt_multi_gui._QT_HORIZ = QtCore.Qt.Horizontal
protected

Definition at line 34 of file pt_multi_gui.py.

◆ antialias

pt_multi_gui.antialias

Definition at line 53 of file pt_multi_gui.py.

◆ DEFAULT_PORT

int pt_multi_gui.DEFAULT_PORT = 5007

Definition at line 67 of file pt_multi_gui.py.

◆ DEFAULT_WINDOW_SECONDS

float pt_multi_gui.DEFAULT_WINDOW_SECONDS = 30.0

Definition at line 68 of file pt_multi_gui.py.

◆ False

pt_multi_gui.False

Definition at line 53 of file pt_multi_gui.py.

◆ MAX_PACKET_SIZE

int pt_multi_gui.MAX_PACKET_SIZE = 512

Definition at line 56 of file pt_multi_gui.py.

◆ MAX_POINTS

int pt_multi_gui.MAX_POINTS = 8000

Definition at line 69 of file pt_multi_gui.py.

◆ NUM_PTS

int pt_multi_gui.NUM_PTS = 10

Definition at line 71 of file pt_multi_gui.py.

◆ PACKET_HEADER_FORMAT

str pt_multi_gui.PACKET_HEADER_FORMAT = "<BBI"

Definition at line 58 of file pt_multi_gui.py.

◆ PACKET_HEADER_SIZE

int pt_multi_gui.PACKET_HEADER_SIZE = 6

Definition at line 59 of file pt_multi_gui.py.

◆ PacketType

pt_multi_gui.PacketType = type("PacketType", (), {"SENSOR_DATA": 3})

Definition at line 57 of file pt_multi_gui.py.

◆ PRESSURE_UNIT

str pt_multi_gui.PRESSURE_UNIT = "psi"

Definition at line 131 of file pt_multi_gui.py.

◆ PT_CALIBRATION

list pt_multi_gui.PT_CALIBRATION

Definition at line 88 of file pt_multi_gui.py.

◆ PT_COLORS

list pt_multi_gui.PT_COLORS
Initial value:
1= [
2 (255, 80, 80),
3 (80, 255, 80),
4 (80, 150, 255),
5 (255, 200, 80),
6 (200, 80, 255),
7 (80, 255, 255),
8 (255, 150, 150),
9 (150, 255, 150),
10 (150, 200, 255),
11 (255, 255, 80),
12]

Definition at line 73 of file pt_multi_gui.py.

◆ SENSOR_DATA_CHUNK_FORMAT

str pt_multi_gui.SENSOR_DATA_CHUNK_FORMAT = "<I"

Definition at line 62 of file pt_multi_gui.py.

◆ SENSOR_DATA_CHUNK_SIZE

int pt_multi_gui.SENSOR_DATA_CHUNK_SIZE = 4

Definition at line 63 of file pt_multi_gui.py.

◆ SENSOR_DATA_PACKET_FORMAT

str pt_multi_gui.SENSOR_DATA_PACKET_FORMAT = "<BB"

Definition at line 60 of file pt_multi_gui.py.

◆ SENSOR_DATA_PACKET_SIZE

int pt_multi_gui.SENSOR_DATA_PACKET_SIZE = 2

Definition at line 61 of file pt_multi_gui.py.

◆ SENSOR_DATAPOINT_FORMAT

str pt_multi_gui.SENSOR_DATAPOINT_FORMAT = "<Bf"

Definition at line 64 of file pt_multi_gui.py.

◆ SENSOR_DATAPOINT_SIZE

int pt_multi_gui.SENSOR_DATAPOINT_SIZE = 5

Definition at line 65 of file pt_multi_gui.py.

◆ UPDATE_INTERVAL_MS

int pt_multi_gui.UPDATE_INTERVAL_MS = 50

Definition at line 70 of file pt_multi_gui.py.

◆ useOpenGL

pt_multi_gui.useOpenGL

Definition at line 53 of file pt_multi_gui.py.