REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches
daq.h File Reference
#include <array>
#include <ArduinoJson.h>
#include <DMAChannel.h>
#include <FlexIO_t4.h>
#include "daq/base.h"
#include "run/run.h"
#include "utils/error.h"
#include "utils/running_avg.h"
Include dependency graph for daq.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  daq::stream::Scope
 Automatically starts and stops a continuous acquisition in the current scope. More...
 

Namespaces

namespace  carrier
 
namespace  daq
 Routines for data acquisition (DAQ) using the internal analog-to-digital converters (ADC).
 
namespace  daq::stream
 Collects functions for continuous data acquisition.
 

Typedefs

using status = utils::status
 

Functions

status daq::init ()
 Initialize the daq system. Needs to be called once before any sampling can happen.
 
status daq::calibrate (carrier::Carrier &carrier)
 Calibrate the daq system.
 
float daq::raw_to_float (const uint16_t raw, const int16_t raw_zero_offset)
 Convert a single raw value to float.
 
std::array< float, daq::NUM_CHANNELSdaq::raw_to_float (std::array< uint16_t, daq::NUM_CHANNELS > raw)
 Convert a raw data vector to a float data vector.
 
std::array< uint16_t, 8 > daq::raw_to_offset_corrected (std::array< uint16_t, NUM_CHANNELS > raw)
 Convert a raw vector to one with previously calibrated offsets removed.
 
size_t daq::raw_to_normalized (uint16_t raw)
 Convert a single raw value to a so-called "normalized" value in range [0, 2500], used in raw_to_str().
 
const char * daq::raw_to_str (uint16_t raw)
 Convert a single raw value to a formatted string with 0.001 step size with a look-up table.
 
void daq::enable ()
 Enable the daq system. Automatically done by init().
 
void daq::disable ()
 Disable the daq system.
 
void daq::reset ()
 Reset the daq system, clearing all internal state.
 
std::array< uint16_t, NUM_CHANNELSdaq::sample_raw ()
 Acquire one one-demand raw sample. Can not be used during a continuous acquisition.
 
std::array< float, NUM_CHANNELSdaq::sample ()
 Acquire one one-demand sample. Can not be used during a continuous acquisition.
 
template<typename T >
std::array< T, NUM_CHANNELSdaq::average (std::array< T, NUM_CHANNELS >(*sample_function)(), size_t samples=100, unsigned int delay_us=33)
 Acquire an averaged sample (either raw or float).
 
std::array< float, NUM_CHANNELSdaq::average (size_t samples=100, unsigned int delay_us=10)
 Acquire an averaged sample (see average()).
 
status daq::stream::start (const run::Run &run, run::RunDataHandler *const data_handler)
 Manually start a continuous data acquisition. You must stop it with stop(). Consider using get() instead.
 
status daq::stream::stop (const run::Run &run)
 Manually stop a previously started continuous data acquisition. Consider using get() instead.
 
status daq::stream::process (const run::Run &run, run::RunDataHandler *const data_handler, bool partial=false)
 Manually process incoming data during a continuous acquisition.
 
Scope daq::stream::get (const run::Run &run, run::RunDataHandler *const data_handler)
 Construct and return a scoped continuous acquisition. See the introductory example on how to use.
 

Typedef Documentation

◆ status

Definition at line 28 of file daq.h.