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

Functions

 parse_packet_header (data)
 parse_sensor_data_packet (data)
 ema (data, alpha=0.5)
 calculate_pressure_from_polynomial (adc_code, poly_coeffs)
 filtered_sensor_data (data, window=5, std_threshold=2)
 apply_dual_filter (data, ema_alpha=0.1, ma_window=250, std_threshold=0.001)
 read_udp (port=5006, bind_address="0.0.0.0")
 get_gauge_pressures (num_gauges)
 interrupt ()
 save_calibration_data ()
 plot_data_with_trendline ()
 live_feed (save_count=500)

Variables

int MAX_PACKET_SIZE = 512
int PACKET_TYPE_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 = "<BI"
int SENSOR_DATAPOINT_SIZE = 5
list instrument_deques = []
list filtered_code_deques = []
list pressure_deques = []
list calibration_polynomials = []
tuple instrument_to_connector
dict gauge_mappings = {}
dict gauge_pressures = {}
bool keep_calibrating = True
 stop_serial_thread = threading.Event()
 pause_reading = threading.Event()
list X = []
dict Y = {}
 instrument_count
 conn = int(input(f"Enter board connector (1-10) for PT {pt_num}: "))
 gauge_count = int(input("Please input the number of pressure gauges: "))
 gauge_num
 poly_order
int data_point_num = 6
str file_base = f"PT Calibration Attempt {time.strftime('%Y-%m-%d', time.gmtime())}"
str file_ext = ".csv"
int test_num = 1
str filename = file_base + f"_test{test_num}" + file_ext
 newline
 writer = csv.writer(f, delimiter=",")
list header = []
tuple connector_id = instrument_to_connector[pt_index]
str base_label = f"PT{connector_id}"
list pt_header
 udp_thread = threading.Thread(target=read_udp, args=(5006, "0.0.0.0"))
 daemon
int calibration_count = 0
bool continue_calibration = True
tuple user_input
tuple show_live_feed

Function Documentation

◆ apply_dual_filter()

pt_cali.apply_dual_filter ( data,
ema_alpha = 0.1,
ma_window = 250,
std_threshold = 0.001 )

Definition at line 106 of file pt_cali.py.

References ema(), and filtered_sensor_data().

Referenced by interrupt(), live_feed(), and read_udp().

◆ calculate_pressure_from_polynomial()

pt_cali.calculate_pressure_from_polynomial ( adc_code,
poly_coeffs )

Definition at line 87 of file pt_cali.py.

Referenced by live_feed(), and read_udp().

◆ ema()

pt_cali.ema ( data,
alpha = 0.5 )

Definition at line 77 of file pt_cali.py.

Referenced by apply_dual_filter().

◆ filtered_sensor_data()

pt_cali.filtered_sensor_data ( data,
window = 5,
std_threshold = 2 )

Definition at line 92 of file pt_cali.py.

Referenced by apply_dual_filter().

◆ get_gauge_pressures()

pt_cali.get_gauge_pressures ( num_gauges)

Definition at line 225 of file pt_cali.py.

Referenced by interrupt().

◆ interrupt()

pt_cali.interrupt ( )

◆ live_feed()

pt_cali.live_feed ( save_count = 500)

◆ parse_packet_header()

pt_cali.parse_packet_header ( data)

Definition at line 25 of file pt_cali.py.

Referenced by parse_sensor_data_packet().

◆ parse_sensor_data_packet()

pt_cali.parse_sensor_data_packet ( data)

Definition at line 34 of file pt_cali.py.

References parse_packet_header().

Referenced by read_udp().

◆ plot_data_with_trendline()

pt_cali.plot_data_with_trendline ( )

Definition at line 306 of file pt_cali.py.

Referenced by interrupt().

◆ read_udp()

pt_cali.read_udp ( port = 5006,
bind_address = "0.0.0.0" )

◆ save_calibration_data()

pt_cali.save_calibration_data ( )

Definition at line 292 of file pt_cali.py.

Referenced by interrupt().

Variable Documentation

◆ base_label

str pt_cali.base_label = f"PT{connector_id}"

Definition at line 483 of file pt_cali.py.

◆ calibration_count

int pt_cali.calibration_count = 0

Definition at line 502 of file pt_cali.py.

◆ calibration_polynomials

list pt_cali.calibration_polynomials = []

Definition at line 118 of file pt_cali.py.

◆ conn

pt_cali.conn = int(input(f"Enter board connector (1-10) for PT {pt_num}: "))

Definition at line 402 of file pt_cali.py.

◆ connector_id

tuple pt_cali.connector_id = instrument_to_connector[pt_index]

Definition at line 482 of file pt_cali.py.

◆ continue_calibration

bool pt_cali.continue_calibration = True

Definition at line 503 of file pt_cali.py.

◆ daemon

pt_cali.daemon

Definition at line 496 of file pt_cali.py.

◆ data_point_num

int pt_cali.data_point_num = 6

Definition at line 452 of file pt_cali.py.

◆ file_base

str pt_cali.file_base = f"PT Calibration Attempt {time.strftime('%Y-%m-%d', time.gmtime())}"

Definition at line 466 of file pt_cali.py.

◆ file_ext

str pt_cali.file_ext = ".csv"

Definition at line 467 of file pt_cali.py.

◆ filename

str pt_cali.filename = file_base + f"_test{test_num}" + file_ext

Definition at line 473 of file pt_cali.py.

◆ filtered_code_deques

list pt_cali.filtered_code_deques = []

Definition at line 116 of file pt_cali.py.

◆ gauge_count

pt_cali.gauge_count = int(input("Please input the number of pressure gauges: "))

Definition at line 414 of file pt_cali.py.

◆ gauge_mappings

dict pt_cali.gauge_mappings = {}

Definition at line 122 of file pt_cali.py.

◆ gauge_num

pt_cali.gauge_num
Initial value:
1= int(
2 input(f"Enter gauge number (1-{gauge_count}) for PT {pt_num}: ")
3 )

Definition at line 424 of file pt_cali.py.

◆ gauge_pressures

dict pt_cali.gauge_pressures = {}

Definition at line 123 of file pt_cali.py.

◆ header

list pt_cali.header = []

Definition at line 480 of file pt_cali.py.

◆ instrument_count

pt_cali.instrument_count
Initial value:
1= int(
2 input("Please input the number of PTs for calibration: ")
3 )

Definition at line 390 of file pt_cali.py.

◆ instrument_deques

list pt_cali.instrument_deques = []

Definition at line 115 of file pt_cali.py.

◆ instrument_to_connector

tuple pt_cali.instrument_to_connector
Initial value:
1= (
2 []
3)

Definition at line 119 of file pt_cali.py.

◆ keep_calibrating

bool pt_cali.keep_calibrating = True

Definition at line 124 of file pt_cali.py.

◆ MAX_PACKET_SIZE

int pt_cali.MAX_PACKET_SIZE = 512

Definition at line 13 of file pt_cali.py.

◆ newline

pt_cali.newline

Definition at line 478 of file pt_cali.py.

◆ PACKET_HEADER_FORMAT

str pt_cali.PACKET_HEADER_FORMAT = "<BBI"

Definition at line 15 of file pt_cali.py.

◆ PACKET_HEADER_SIZE

int pt_cali.PACKET_HEADER_SIZE = 6

Definition at line 16 of file pt_cali.py.

◆ PACKET_TYPE_SENSOR_DATA

int pt_cali.PACKET_TYPE_SENSOR_DATA = 3

Definition at line 14 of file pt_cali.py.

◆ pause_reading

pt_cali.pause_reading = threading.Event()

Definition at line 126 of file pt_cali.py.

◆ poly_order

pt_cali.poly_order
Initial value:
1= int(
2 input(
3 "Enter the polynomial order for the fit (e.g., 1 for linear, 2 for quadratic, etc.): "
4 )
5 )

Definition at line 443 of file pt_cali.py.

◆ pressure_deques

list pt_cali.pressure_deques = []

Definition at line 117 of file pt_cali.py.

◆ pt_header

list pt_cali.pt_header
Initial value:
1= [
2 f"{base_label} ADC Code",
3 f"{base_label} Pressure",
4 ]

Definition at line 484 of file pt_cali.py.

◆ SENSOR_DATA_CHUNK_FORMAT

str pt_cali.SENSOR_DATA_CHUNK_FORMAT = "<I"

Definition at line 19 of file pt_cali.py.

◆ SENSOR_DATA_CHUNK_SIZE

int pt_cali.SENSOR_DATA_CHUNK_SIZE = 4

Definition at line 20 of file pt_cali.py.

◆ SENSOR_DATA_PACKET_FORMAT

str pt_cali.SENSOR_DATA_PACKET_FORMAT = "<BB"

Definition at line 17 of file pt_cali.py.

◆ SENSOR_DATA_PACKET_SIZE

int pt_cali.SENSOR_DATA_PACKET_SIZE = 2

Definition at line 18 of file pt_cali.py.

◆ SENSOR_DATAPOINT_FORMAT

str pt_cali.SENSOR_DATAPOINT_FORMAT = "<BI"

Definition at line 21 of file pt_cali.py.

◆ SENSOR_DATAPOINT_SIZE

int pt_cali.SENSOR_DATAPOINT_SIZE = 5

Definition at line 22 of file pt_cali.py.

◆ show_live_feed

tuple pt_cali.show_live_feed
Initial value:
1= (
2 input(
3 "Would you like to see a live feed of the calibrated pressure readings vs time? (y/n): "
4 )
5 .strip()
6 .lower()
7 )

Definition at line 539 of file pt_cali.py.

◆ stop_serial_thread

pt_cali.stop_serial_thread = threading.Event()

Definition at line 125 of file pt_cali.py.

◆ test_num

int pt_cali.test_num = 1

Definition at line 468 of file pt_cali.py.

◆ udp_thread

pt_cali.udp_thread = threading.Thread(target=read_udp, args=(5006, "0.0.0.0"))

Definition at line 495 of file pt_cali.py.

◆ user_input

tuple pt_cali.user_input
Initial value:
1= (
2 input("Would you like to continue calibrating? (y/n): ")
3 .strip()
4 .lower()
5 )

Definition at line 519 of file pt_cali.py.

◆ writer

pt_cali.writer = csv.writer(f, delimiter=",")

Definition at line 479 of file pt_cali.py.

◆ X

list pt_cali.X = []

Definition at line 127 of file pt_cali.py.

◆ Y

dict pt_cali.Y = {}

Definition at line 128 of file pt_cali.py.