Class ArduinoDAQ

Class Documentation

class ArduinoDAQ

Base class that implements communication to and from an external Serial or USB interface via According to the SCPI specification, the measurement process is broken down into several stages. First, there is configuration of the measurement done via the CONFigure command. The INITiate then physically performs the measurement, and FETCh? does any necessary postprocessing and returns the data. I will implement MEASURE, CONFigure, and FETCH, as I don’t see a purpose to implement INITiate or READ.

Public Functions

ArduinoDAQ(const int)

Arduino DAQ Constructor

void ProcessInput(Stream &interface, char *terminationCharacters)

Wrapper for SCPI ProcessInput function.

Parameters
  • interface: address (?) of Stream interface (i.e. Serial, SerialUSB)

  • terminationCharacters: string of expected characters at the end of every SCPI command

Public Members

SCPI_Parser myInstrument

Public Static Functions

void Identify(SCPI_Commands, SCPI_Parameters, Stream&)

Required SCPI Identify query, executed by sending *IDN? to the device

void Reset(SCPI_Commands, SCPI_Parameters, Stream&)

Resets all ADC settings, data, and status/error bytes to their default values

void Clear(SCPI_Commands, SCPI_Parameters, Stream&)

Clears all the status/error registers of the device

void configureADC(SCPI_Commands, SCPI_Parameters, Stream&)
void measureADCData(SCPI_Commands, SCPI_Parameters, Stream&)
void fetchADCData(SCPI_Commands, SCPI_Parameters, Stream&)

Public Static Attributes

int adcPin
uint8_t operationRegister
uint8_t questionableStatusRegister
uint8_t errorEventQueue
uint8_t adcData[1000]
int numberADCMeasurements