27#ifndef NIDAS_DYNLD_RAF_SPPSERIAL_H
28#define NIDAS_DYNLD_RAF_SPPSERIAL_H
39namespace nidas {
namespace dynld {
namespace raf {
56 unsigned short val = (dmtval[1] << 8) | dmtval[0];
62 dmtval[0] = val & 0xff;
63 dmtval[1] = (val >> 8) & 0xff;
82 unsigned long val = dmtval[1] << 24 | dmtval[0] << 16 |
83 dmtval[3] << 8 | dmtval[2];
89 dmtval[0] = (val >> 16) & 0xff;
90 dmtval[1] = (val >> 24) & 0xff;
91 dmtval[2] = val & 0xff;
92 dmtval[3] = (val >> 8) & 0xff;
Interface to a data sample.
Definition Sample.h:190
A sensor connected to a serial port.
Definition DSMSerialSensor.h:39
Base class for many DMT Probes, including SPP100, SPP200, SPP300 and the CDP.
Definition SppSerial.h:100
virtual int appendDataAndFindGood(const Sample *sample)
Append _packetLen bytes of data to _waitingData, and find the earliest "good" record possible,...
Definition SppSerial.cc:245
virtual int packetLen() const =0
Return the expected data packet length in bytes based on the number of channels being used.
unsigned short _recDelimiter
Definition SppSerial.h:203
bool _outputDeltaT
Stash sample-rate.
Definition SppSerial.h:242
DataTermination
Definition SppSerial.h:103
@ FixedLength
Definition SppSerial.h:104
@ Delimited
Definition SppSerial.h:105
static const int MAX_CHANNELS
Max # for array sizing.
Definition SppSerial.h:121
unsigned short _nWaitingData
Definition SppSerial.h:215
unsigned short _triggerThreshold
Definition SppSerial.h:188
DataTermination _dataType
Whether we are using fixed length data with checkSum (true), or the modified chips with message termi...
Definition SppSerial.h:202
~SppSerial()
Definition SppSerial.cc:46
SppSerial & operator=(const SppSerial &)
No assignment.
unsigned short _range
Definition SppSerial.h:186
dsm_time_t _prevTime
Store previous time tag.
Definition SppSerial.h:246
size_t _totalRecordCount
Definition SppSerial.h:218
virtual void sendInitPacketAndCheckAck(void *packet, int len, int return_len=2)
Send pre-packaged initialization packet to SPP probe and wait for acknowledge packet.
Definition SppSerial.cc:183
int _noutValues
Total number of floats in the processed output sample.
Definition SppSerial.h:195
std::string _probeName
Definition SppSerial.h:184
unsigned short computeCheckSum(const unsigned char *pkt, int len)
Definition SppSerial.cc:79
unsigned short _model
Possibly not needed...
Definition SppSerial.h:172
std::vector< nidas::core::VariableConverter * > _converters
VariableConverters which may have been defined for each output housekeeping variable.
Definition SppSerial.h:254
int _nHskp
Number of housekeeping variables added to output data.
Definition SppSerial.h:182
unsigned short _opcThreshold[MAX_CHANNELS]
Definition SppSerial.h:190
SppSerial(const SppSerial &)
No copying.
void validate()
Definition SppSerial.cc:89
unsigned char * _waitingData
Buffer to hold incoming data until we find a chunk that looks like a valid DMT100 data packet.
Definition SppSerial.h:214
int _skippedBytes
Definition SppSerial.h:216
size_t _checkSumErrorCnt
Definition SppSerial.h:205
size_t _skippedRecordCount
Definition SppSerial.h:217
int _nChannels
Number of channels requested to be recorded.
Definition SppSerial.h:177
double convert(dsm_time_t tt, double val, unsigned int ivar)
Apply a VariableConversion to an output value.
Definition SppSerial.h:163
SppSerial(const std::string &probe)
Definition SppSerial.cc:56
Sample * getSample(sampleType type, unsigned int len)
A convienence method for getting a sample of an enumerated type from a pool.
Definition Sample.cc:70
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:62
unsigned short UnpackDMT_UShort(DMT_UShort dmtval)
Definition SppSerial.h:54
unsigned long UnpackDMT_ULong(DMT_ULong dmtval)
Definition SppSerial.h:80
unsigned char DMT_ULong[4]
DMT 4-byte ints are packed with byte order 2301, where byte 0 is the low-order byte.
Definition SppSerial.h:78
void PackDMT_ULong(DMT_ULong dmtval, unsigned long val)
Definition SppSerial.h:87
void PackDMT_UShort(DMT_UShort dmtval, unsigned short val)
Definition SppSerial.h:60
unsigned char DMT_UShort[2]
DMT 2-byte ints are packed with byte order 01, where byte 0 is the low-order byte.
Definition SppSerial.h:52
Root namespace for the NCAR In-Situ Data Acquisition Software.
Definition A2DConverter.h:31
int len
Definition sing.cc:948
Here more for documentation.
Definition SppSerial.h:224
char id
Definition SppSerial.h:226
char esc
Definition SppSerial.h:225
DMT_UShort cksum
Definition SppSerial.h:227