27 #ifndef NIDAS_DYNLD_RAF_SPPSERIAL_H
28 #define NIDAS_DYNLD_RAF_SPPSERIAL_H
39 namespace 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;
unsigned short computeCheckSum(const unsigned char *pkt, int len)
Definition: SppSerial.cc:79
int _noutValues
Total number of floats in the processed output sample.
Definition: SppSerial.h:191
unsigned char * _waitingData
Buffer to hold incoming data until we find a chunk that looks like a valid DMT100 data packet...
Definition: SppSerial.h:210
Definition: SppSerial.h:104
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
Here more for documentation.
Definition: SppSerial.h:219
std::vector< nidas::core::VariableConverter * > _converters
VariableConverters which may have been defined for each output housekeeping variable.
Definition: SppSerial.h:250
int _skippedBytes
Definition: SppSerial.h:212
DataTermination
Definition: SppSerial.h:102
size_t _checkSumErrorCnt
Definition: SppSerial.h:201
SppSerial & operator=(const SppSerial &)
No assignment.
virtual int appendDataAndFindGood(const Sample *sample)
Append _packetLen bytes of data to _waitingData, and find the earliest "good" record possible...
Definition: SppSerial.cc:246
int _nHskp
Number of housekeeping variables added to output data.
Definition: SppSerial.h:178
std::string _probeName
Definition: SppSerial.h:180
unsigned short _range
Definition: SppSerial.h:182
char esc
Definition: SppSerial.h:221
DMT_UShort cksum
Definition: SppSerial.h:223
static const int MAX_CHANNELS
Max # for array sizing.
Definition: SppSerial.h:119
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
unsigned short UnpackDMT_UShort(DMT_UShort dmtval)
Definition: SppSerial.h:54
DataTermination _dataType
Whether we are using fixed length data with checkSum (true), or the modified chips with message termi...
Definition: SppSerial.h:198
int len
Definition: sing.cc:934
Interface to a data sample.
Definition: Sample.h:189
bool _outputDeltaT
Stash sample-rate.
Definition: SppSerial.h:238
A sensor connected to a serial port.
Definition: DSMSerialSensor.h:38
void validate()
Implementation of DSMSensor::validate for a Character Sensor.
Definition: SppSerial.cc:89
Base class for many DMT Probes, including SPP100, SPP200, SPP300 and the CDP.
Definition: SppSerial.h:99
Definition: IOException.h:37
unsigned short _triggerThreshold
Definition: SppSerial.h:184
unsigned short _nWaitingData
Definition: SppSerial.h:211
Definition: SppSerial.h:105
unsigned short _recDelimiter
Definition: SppSerial.h:199
int _nChannels
Number of channels requested to be recorded.
Definition: SppSerial.h:173
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
unsigned short _model
Possibly not needed...
Definition: SppSerial.h:168
~SppSerial()
Definition: SppSerial.cc:46
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
double convert(dsm_time_t tt, double val, unsigned int ivar)
Apply a VariableConversion to an output value.
Definition: SppSerial.h:159
dsm_time_t _prevTime
Store previous time tag.
Definition: SppSerial.h:242
size_t _totalRecordCount
Definition: SppSerial.h:214
void PackDMT_UShort(DMT_UShort dmtval, unsigned short val)
Definition: SppSerial.h:60
SppSerial(const std::string &probe)
Definition: SppSerial.cc:56
char id
Definition: SppSerial.h:222
size_t _skippedRecordCount
Definition: SppSerial.h:213
unsigned short _opcThreshold[MAX_CHANNELS]
Definition: SppSerial.h:186
virtual int packetLen() const =0
Return the expected data packet length in bytes based on the number of channels being used...
unsigned long UnpackDMT_ULong(DMT_ULong dmtval)
Definition: SppSerial.h:80
void PackDMT_ULong(DMT_ULong dmtval, unsigned long val)
Definition: SppSerial.h:87
Definition: InvalidParameterException.h:35