15#include "STAR_ADS126X.h"
20#define PINS_ACTIVE_LAYOUT PT_Board
25#define FIXED_CONNECTOR 1
52 return ((
float)code * 2.5f) / 2147483648.0f;
57 Serial.println(
"stream_one_adc: ADC1 only, no muxing");
60 Serial.println(
"ADC Reference: VDD");
62 Serial.println(
"ADC Reference: Internal 2.5V");
85 ESP_ERROR_CHECK(esp_read_mac(
mac, ESP_MAC_ETH));
87 for (
int i = 0; i < 6; i++) {
96 Serial.println(
"Initializing Ethernet...");
105 Serial.print(
"Ethernet OK. IP: ");
107 Serial.println(
"Setup complete.");
122 for (
int i = 0; i <
count; i++) {
126 const auto reading =
ads126x.readADC1();
127 if (!reading.checksumValid) {
128 Serial.println(
"Warning: Bad checksum");
131 chunk.add_datapoint(
kSensorId,
static_cast<uint32_t
>(reading.value));
134 if (!
chunk.empty()) {
147 if (packetSize == 0) {
148 Serial.println(
"Error: Failed to create sensor data packet");
160 Serial.println(
" chunks");
#define READINGS_PER_CHUNK
void delayMicroseconds(unsigned int)
static EthernetClass Ethernet
#define ADS126X_REF_POS_VDD
#define ADS126X_REF_NEG_VSS
IPAddress receiverIP(192, 168, 2, 20)
static const uint8_t kSensorId
IPAddress dns(192, 168, 2, 1)
IPAddress subnet(255, 255, 255, 0)
IPAddress receiverIP(192, 168, 2, 20)
void sendSensorDataPacket()
float convert_code_to_voltage(int32_t code)
std::vector< daq::SensorDataChunkCollection > dataChunks
void read_data(int count)
IPAddress staticIP(192, 168, 2, 101)
IPAddress gateway(0, 0, 0, 0)
IPAddress dns(192, 168, 2, 1)
IPAddress subnet(255, 255, 255, 0)
IPAddress staticIP(192, 168, 2, BOARD_ID_DEFAULT)
IPAddress gateway(0, 0, 0, 0)
char packetBuffer[UDP_TX_PACKET_MAX_SIZE]
size_type count(const key_type &key) const
size_t create_sensor_data_packet(const std::vector< SensorDataChunkCollection > &chunks, const uint8_t num_sensors, uint32_t timestamp_ms, uint8_t *buffer, size_t buffer_size)
Creates a complete Sensor Data packet in the provided buffer.
constexpr int getAdcChannel(uint8_t connector, uint8_t pin)
constexpr const Layout & Pins
Represents a single data chunk with timestamp and sensor datapoints.