nidas v1.2.3
WatlowCLS208.h
Go to the documentation of this file.
1// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4; -*-
2// vim: set shiftwidth=4 softtabstop=4 expandtab:
3/*
4 ********************************************************************
5 ** NIDAS: NCAR In-situ Data Acquistion Software
6 **
7 ** 2011, Copyright University Corporation for Atmospheric Research
8 **
9 ** This program is free software; you can redistribute it and/or modify
10 ** it under the terms of the GNU General Public License as published by
11 ** the Free Software Foundation; either version 2 of the License, or
12 ** (at your option) any later version.
13 **
14 ** This program is distributed in the hope that it will be useful,
15 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 ** GNU General Public License for more details.
18 **
19 ** The LICENSE.txt file accompanying this software contains
20 ** a copy of the GNU General Public License. If it is not found,
21 ** write to the Free Software Foundation, Inc.,
22 ** 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 **
24 ********************************************************************
25*/
26
27#ifndef NIDAS_DYNLD_RAF_WATLOW_H
28#define NIDAS_DYNLD_RAF_WATLOW_H
29
30
33
35
36namespace nidas { namespace dynld { namespace raf {
37
38using namespace nidas::core;
39
43class Watlow : public SerialSensor
44{
45public:
46
47 Watlow();
48
49 bool process(const Sample* samp,std::list<const Sample*>& results)
50 throw();
51
52protected:
53
54 uint16_t CRC16(const unsigned char * input, int nbytes) throw();
55
56 uint16_t CRC16_faster(const unsigned char * input, int nbytes) throw();
57
58 bool checkCRC(const unsigned char * input, int nbytes, int msgnum) throw();
59
60private:
61
63
65
66 unsigned int _numWarnings;
67
68};
69
70}}}
71
72#endif
Interface to a data sample.
Definition Sample.h:190
Support for a sensor that is sending packets on a TCP socket, a UDP socket, a Bluetooth RF Comm socke...
Definition SerialSensor.h:65
Sensor class supporting the NCAR/ACOM Watlow CLS208 Instrument.
Definition WatlowCLS208.h:44
bool checkCRC(const unsigned char *input, int nbytes, int msgnum)
Definition WatlowCLS208.cc:167
static const nidas::util::EndianConverter * _fromLittle
Definition WatlowCLS208.h:64
uint16_t CRC16_faster(const unsigned char *input, int nbytes)
Definition WatlowCLS208.cc:102
uint16_t CRC16(const unsigned char *input, int nbytes)
Definition WatlowCLS208.cc:79
Watlow()
Definition WatlowCLS208.cc:58
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 WatlowCLS208.cc:184
static const nidas::util::EndianConverter * _fromBig
Definition WatlowCLS208.h:62
unsigned int _numWarnings
Definition WatlowCLS208.h:66
Virtual base class declaring methods for converting numeric values between little-endian and big-endi...
Definition EndianConverter.h:304
The essential core classes of nidas.
Definition A2DConverter.h:31
Root namespace for the NCAR In-Situ Data Acquisition Software.
Definition A2DConverter.h:31