STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
main.cpp File Reference
#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"
Include dependency graph for main.cpp:

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

Macro Definition Documentation

◆ DATA_RATE

#define DATA_RATE   ADS126X_RATE_20

Definition at line 46 of file main.cpp.

◆ FILTER

#define FILTER   ADS126X_FIR

Definition at line 45 of file main.cpp.

◆ NUM_CONNECTORS

#define NUM_CONNECTORS   4

Definition at line 48 of file main.cpp.

◆ PINS_ACTIVE_LAYOUT

#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.

Definition at line 28 of file main.cpp.

Function Documentation

◆ adc_for_connector()

ADS126X & adc_for_connector ( uint8_t connector_id)
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().

◆ ADC_SPI()

SPIClass ADC_SPI ( HSPI )

References HSPI.

◆ ADS126X_ASSERT_FILTER_RATE()

ADS126X_ASSERT_FILTER_RATE ( FILTER ,
DATA_RATE  )

References DATA_RATE, and FILTER.

◆ collect_chunk_cb()

void collect_chunk_cb ( void * )
static

Definition at line 234 of file main.cpp.

References collect_chunk_impl().

◆ collect_chunk_impl()

◆ drdy_for_connector()

int drdy_for_connector ( uint8_t connector_id)
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().

◆ init_adc_cb()

◆ loop()

void loop ( )

Definition at line 306 of file main.cpp.

References coreConfig, coreState, and SensorHotfire::loop().

◆ on_reference_voltage_cb()

void on_reference_voltage_cb ( void * ,
uint8_t reference_voltage )
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.

◆ run_self_test_cb()

◆ send_chunks_to_cb()

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

Definition at line 238 of file main.cpp.

References send_chunks_to_impl().

◆ send_chunks_to_impl()

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

◆ set_connector_rtd()

void set_connector_rtd ( uint8_t connector_id)
static

◆ setup()

Variable Documentation

◆ ads126x

ADS126X ads126x
static

Definition at line 50 of file main.cpp.

◆ ads126x_2

ADS126X ads126x_2
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().

◆ coreConfig

SensorHotfire::Config coreConfig
static

Definition at line 56 of file main.cpp.

◆ coreState

SensorHotfire::CoreState coreState
static

Definition at line 55 of file main.cpp.

◆ dataChunks

std::vector<daq::SensorDataChunkCollection> dataChunks

Definition at line 53 of file main.cpp.

◆ g_last_sensor_packet_log_ms

unsigned long g_last_sensor_packet_log_ms = 0
static

Definition at line 58 of file main.cpp.

◆ g_verbose

bool g_verbose = true

Definition at line 60 of file main.cpp.