27 #ifndef NIDAS_DYNLD_ISFF_CSAT3_SONIC_H
28 #define NIDAS_DYNLD_ISFF_CSAT3_SONIC_H
33 class TimetagAdjuster;
35 namespace nidas {
namespace dynld {
namespace isff {
75 float u,
float v,
float w);
77 bool process(
const Sample* samp,std::list<const Sample*>& results)
107 std::string::size_type & index );
123 bool dataMode() throw(nidas::util::IOException);
139 std::
string querySonic(
int& acqrate,
char& osc, std::
string& serialNumber,
140 std::
string& revsion,
int& rtsIndep,
int& recSep)
141 throw(nidas::util::IOException);
146 throw(nidas::util::IOException);
245 CSAT3_Sonic& operator=(const CSAT3_Sonic&);
void parseParameters()
Parse the list of nidas::core::Parameter that are associated with this sensor.
Definition: CSAT3_Sonic.cc:773
A class for performing the common processes on wind data from a 3D sonic anemometer.
Definition: Wind3D.h:49
bool terminalMode()
Definition: CSAT3_Sonic.cc:537
std::vector< short > _swapBuf
Definition: CSAT3_Sonic.h:186
unsigned int dsm_sample_id_t
Definition: Sample.h:63
bool _checkConfiguration
Whether to log the sonic parameters and set the rate in the open method.
Definition: CSAT3_Sonic.h:226
dsm_time_t _ttlast
Last time tag.
Definition: CSAT3_Sonic.h:208
long long dsm_time_t
Posix time in microseconds, the number of non-leap microseconds since 1970 Jan 1 00:00 UTC...
Definition: Sample.h:61
bool process(const Sample *samp, std::list< const Sample * > &results)
Process a raw sample, which in this case means do a sscanf on the character string contents...
Definition: CSAT3_Sonic.cc:590
int _consecutiveOpenFailures
Counter of how many times a open fails because it could't query the sonic serial number, and then get recognizable samples.
Definition: CSAT3_Sonic.h:220
void open(int flags)
Open the serial port connected to this sonic.
Definition: CSAT3_Sonic.cc:359
float correctTcForPathCurvature(float tc, float u, float v, float w)
No correction for path curvature is needed on the CSAT, so this method just returns an unchanged tc...
Definition: CSAT3_Sonic.cc:583
A class for making sense of data from a Campbell Scientific Inc CSAT3 3D sonic anemometer.
Definition: CSAT3_Sonic.h:45
void checkSampleTags()
Check the SampleTags that are defined for this sensor.
Definition: CSAT3_Sonic.cc:825
std::string getSerialNumber(const std::string &str, std::string::size_type &index)
Get serial number field and its index in "??" query output.
Definition: CSAT3_Sonic.cc:141
bool _nanIfDiag
Set winds and virtual temperature to NaN if diagnostic value is non-zero?
Definition: CSAT3_Sonic.h:214
CSAT3_Sonic()
Definition: CSAT3_Sonic.cc:52
static const float GAMMA_R
Conversion factor from speed of sound squared to Kelvin.
Definition: CSAT3_Sonic.h:101
int _spikeIndex
If user requests despike variables, e.g.
Definition: CSAT3_Sonic.h:168
dsm_sample_id_t _windSampleId
Output sample id of the wind sample.
Definition: CSAT3_Sonic.h:173
nidas::core::TimetagAdjuster * _ttadjuster
Definition: CSAT3_Sonic.h:235
std::string querySonic(int &acqrate, char &osc, std::string &serialNumber, std::string &revsion, int &rtsIndep, int &recSep)
Send a "??CR" string, and read the response, parsing out the acquisition rate, osc parameter...
Definition: CSAT3_Sonic.cc:163
std::string sendRateCommand(const char *cmd)
Definition: CSAT3_Sonic.cc:297
int _gapDtUsecs
This is a limit for the inter-sample delta-T.
Definition: CSAT3_Sonic.h:203
~CSAT3_Sonic()
Definition: CSAT3_Sonic.cc:76
int _counter
Definition: CSAT3_Sonic.h:184
Interface to a data sample.
Definition: Sample.h:189
std::vector< SampleTag * > _extraSampleTags
Sample tags of extra "serializer" values.
Definition: CSAT3_Sonic.h:178
std::string _serialNumber
Definition: CSAT3_Sonic.h:192
static float rate
Definition: sing.cc:53
int _nttsave
Definition: CSAT3_Sonic.h:182
bool dataMode()
Definition: CSAT3_Sonic.cc:84
Definition: IOException.h:37
size_t _windInLen
expected input sample length of basic CSAT3 record.
Definition: CSAT3_Sonic.h:151
Class describing a group of variables that are sampled and handled together.
Definition: SampleTag.h:87
dsm_time_t _timetags[2]
Definition: CSAT3_Sonic.h:180
bool _oversample
Definition: CSAT3_Sonic.h:190
int _rate
Definition: CSAT3_Sonic.h:188
int _windNumOut
Requested number of output wind variables.
Definition: CSAT3_Sonic.h:162
bool _checkCounter
Whether to check the counter in the data samples in order to detect missing samples.
Definition: CSAT3_Sonic.h:233
size_t _totalInLen
expected input sample length of basic CSAT3 record, with any additional fields added by NCAR/EOL "ser...
Definition: CSAT3_Sonic.h:157
const char * getRateCommand(int rate, bool overSample) const
Definition: CSAT3_Sonic.cc:326
std::string _sonicLogFile
Definition: CSAT3_Sonic.h:194
Definition: InvalidParameterException.h:35