|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
#include "main.h"#include <Arduino.h>#include <Ethernet.h>#include <EthernetUdp.h>#include <SPI.h>#include <daq-protocol.h>#include <esp_mac.h>#include <cstring>#include <vector>#include "STAR_ADS126X.h"#include "sense_board_pins.h"#include "connector_adc_map.h"#include "adc_mappings.h"#include "SensorHotfireCore.h"#include "SensorSelfTest.h"Go to the source code of this file.
Macros | |
| #define | PINS_ACTIVE_LAYOUT sense_board_pins::RTD_Board |
| RTD (Resistance Temperature Detector) Hotfire state machine — ESP32 PCB. | |
| #define | FILTER ADS126X_FIR |
| #define | DATA_RATE ADS126X_RATE_20 |
| #define | NUM_CONNECTORS 4 |
Functions | |
| ADS126X_ASSERT_FILTER_RATE (FILTER, DATA_RATE) | |
| SPIClass | ADC_SPI (HSPI) |
| static ADS126X & | adc_for_connector (uint8_t connector_id) |
| static int | drdy_for_connector (uint8_t connector_id) |
| static void | set_connector_rtd (uint8_t connector_id) |
| static void | collect_chunk_impl () |
| static void | send_chunks_to_impl (IPAddress dest_ip, int dest_port, bool also_to_abort_controller, IPAddress abort_controller_ip, int abort_controller_port) |
| static void | init_adc_cb (void *) |
| static void | on_reference_voltage_cb (void *, uint8_t reference_voltage) |
| static void | collect_chunk_cb (void *) |
| static void | send_chunks_to_cb (void *, IPAddress dest_ip, int dest_port, bool also_to_abort_controller, IPAddress abort_controller_ip, int abort_controller_port) |
| static void | run_self_test_cb (void *, const SensorHotfire::StoredSensorConfig &cfg, std::vector< daq::SelfTestResult > &results_out) |
| void | setup () |
| void | loop () |
Variables | |
| static ADS126X | ads126x |
| static ADS126X | ads126x_2 |
| std::vector< daq::SensorDataChunkCollection > | dataChunks |
| static SensorHotfire::CoreState | coreState |
| static SensorHotfire::Config | coreConfig |
| static unsigned long | g_last_sensor_packet_log_ms = 0 |
| bool | g_verbose = true |
| #define DATA_RATE ADS126X_RATE_20 |
| #define FILTER ADS126X_FIR |
| #define PINS_ACTIVE_LAYOUT sense_board_pins::RTD_Board |
RTD (Resistance Temperature Detector) Hotfire state machine — ESP32 PCB.
Same state machine as PT/TC/LC: Waiting for Server → Active → Standalone Abort. Sends heartbeats, streams RTD (differential + IDAC excitation) sensor data to server or abort controller. Uses RTD_Board pin layout and BoardType::RTD. Reads connectors 1–4 (two physical ADS1263 chips). ADC1 (ADC_CS_1) handles connectors 1 & 2; ADC2 (ADC_CS_2) handles connectors 3 & 4. Based on RTD_Testing project for proper RTD read sequence.
|
static |
Definition at line 63 of file main.cpp.
References ads126x, ads126x_2, and sense_board_pins::getAdcIndex().
Referenced by collect_chunk_impl(), run_self_test_cb(), and set_connector_rtd().
|
static |
Definition at line 234 of file main.cpp.
References collect_chunk_impl().
|
static |
Definition at line 88 of file main.cpp.
References adc(), adc_for_connector(), chunk, coreState, dataChunks, delayMicroseconds(), digitalRead(), drdy_for_connector(), LOW, millis(), SENSOR_MAX_CHUNKS_BEFORE_SEND, and set_connector_rtd().
Referenced by collect_chunk_cb().
|
static |
Definition at line 66 of file main.cpp.
References sense_board_pins::getAdcIndex(), and sense_board_pins::Pins.
Referenced by collect_chunk_impl(), and run_self_test_cb().
|
static |
Definition at line 169 of file main.cpp.
References ADC_SPI(), ads126x, ads126x_2, ADS126X_REF_NEG_VSS, ADS126X_REF_POS_INT, DATA_RATE, delay(), digitalWrite(), FILTER, HIGH, INPUT, LOW, OUTPUT, pinMode(), sense_board_pins::Pins, set_connector_rtd(), and SPI_MODE1.
| void loop | ( | ) |
Definition at line 306 of file main.cpp.
References coreConfig, coreState, and SensorHotfire::loop().
|
static |
Definition at line 227 of file main.cpp.
References ads126x, ads126x_2, ADS126X_REF_NEG_VSS, ADS126X_REF_POS_INT, and ADS126X_REF_POS_VDD.
|
static |
Definition at line 246 of file main.cpp.
References adc(), adc_for_connector(), ads126x, ads126x_2, ADS126X_REF_NEG_VSS, ADS126X_REF_POS_INT, SensorSelfTest::CONNECTED, drdy_for_connector(), sense_board_pins::getAdcChannel(), sense_board_pins::Pins, SensorSelfTest::read_sensor_bias(), SensorSelfTest::run_adc_self_test(), SensorSelfTest::sensor_bias_disable(), and SensorSelfTest::sensor_bias_enable().
|
static |
Definition at line 238 of file main.cpp.
References send_chunks_to_impl().
|
static |
Definition at line 113 of file main.cpp.
References chunk, coreState, daq::create_sensor_data_packet(), dataChunks, g_last_sensor_packet_log_ms, HF_VERBOSE, HF_VERBOSELN, HF_VERBOSELN_, millis(), packetBuffer, SENSOR_HOTFIRE_MAX_PACKET_SIZE, and SENSOR_MAX_CHUNKS_BEFORE_SEND.
Referenced by send_chunks_to_cb().
|
static |
Definition at line 72 of file main.cpp.
References adc(), adc_for_connector(), ADS126X_IDAC_MAG_1000, sense_board_pins::getAdcChannel(), and sense_board_pins::getIdacChannel().
Referenced by collect_chunk_impl(), and init_adc_cb().
| void setup | ( | void | ) |
Definition at line 286 of file main.cpp.
References collect_chunk_cb(), coreConfig, coreState, init_adc_cb(), IPAddress, on_reference_voltage_cb(), sense_board_pins::Pins, run_self_test_cb(), send_chunks_to_cb(), and SensorHotfire::setup().
|
static |
Definition at line 51 of file main.cpp.
Referenced by adc_for_connector(), init_adc_cb(), on_reference_voltage_cb(), and run_self_test_cb().
|
static |
|
static |
| std::vector<daq::SensorDataChunkCollection> dataChunks |