11 #ifndef CARMA_TIPPER_TIPDATA_H
12 #define CARMA_TIPPER_TIPDATA_H
17 #include "carma/util/Program.h"
19 #include "carma/util/Logger.h"
36 static const int _numChannels = 16;
37 static const int _numReadings = 10;
40 double _avgSigRef, _scaledAvgSigRef;
41 double _rmsSigRef, _scaledRmsSigRef;
42 float _channelData[_numChannels];
43 float _scaledChannelData[_numChannels];
45 void convertAndScaleChannels()
51 for (
int i = 0; i < _numChannels; i++ )
53 _channelData[i] = (float)(5.0 * (_channelData[i] / 16.0 ));
57 _avgSigRef = 5.0 * (_avgSigRef/16.0);
58 _rmsSigRef = 5.0 * (_rmsSigRef/16.0);
61 _scaledAvgSigRef = _avgSigRef/20.0;
62 _scaledRmsSigRef = _rmsSigRef/20.0;
63 _scaledChannelData[0] = (float)(_channelData[0]/20.0);
64 _scaledChannelData[1] = (float)(_channelData[1]/200.0);
65 _scaledChannelData[2] = (float)(_channelData[2]/2.0)+5000;
66 _scaledChannelData[3] = (float)(_channelData[3]/100.0);
67 _scaledChannelData[4] = (float)(_channelData[4]/100.0);
68 _scaledChannelData[5] = (float)(_channelData[5]/100.0);
71 if (( _scaledChannelData[5] < -40.0 ) || ( _scaledChannelData[5] > 50.0 ))
73 _scaledChannelData[5] = (float) 0.0;
76 _scaledChannelData[6] = (float)(_channelData[6]/100.0);
77 _scaledChannelData[7] = (float)(_channelData[7]/-1000.0);
78 _scaledChannelData[8] = (float)(_channelData[8]/-1000.0);
79 _scaledChannelData[9] = (float)(_channelData[9]/10000.0);
80 _scaledChannelData[10] = (float)(_channelData[10]/500.0);
84 _scaledChannelData[12] = (float)(_channelData[12]/1000.0);
85 _scaledChannelData[13] = (float)(_channelData[13]/13.89);
86 _scaledChannelData[14] = (float)(_channelData[14]/25.0);
87 _scaledChannelData[15] = (float)(_channelData[15]/500.0);
95 ::snprintf( rawbuf, 79,
"%4d %2d %4.1f ", _tipNumber, _airMassNumber, _tipAngle );
96 outStr = ::std::string(rawbuf);
100 ::snprintf( rawbuf, 79,
"%0.5f %6.1f %4.2f ", _mjdOfReading, _scaledAvgSigRef,
102 outStr += ::std::string(rawbuf);
104 ::snprintf( rawbuf, 79,
"%6.1f ", _scaledChannelData[0] );
105 outStr += ::std::string(rawbuf);
106 ::snprintf( rawbuf, 79,
"%5.2f ", _scaledChannelData[1] );
107 outStr += ::std::string(rawbuf);
108 ::snprintf( rawbuf, 79,
"%4.0f ", _scaledChannelData[2] );
109 outStr += ::std::string(rawbuf);
110 ::snprintf( rawbuf, 79,
"%4.1f ", _scaledChannelData[3] );
111 outStr += ::std::string(rawbuf);
112 ::snprintf( rawbuf, 79,
"%4.1f ", _scaledChannelData[4] );
113 outStr += ::std::string(rawbuf);
114 ::snprintf( rawbuf, 79,
"%5.1f ", _scaledChannelData[5] );
115 outStr += ::std::string(rawbuf);
116 ::snprintf( rawbuf, 79,
"%4.1f ", _scaledChannelData[6] );
117 outStr += ::std::string(rawbuf);
118 ::snprintf( rawbuf, 79,
"%5.2f ", _scaledChannelData[7] );
119 outStr += ::std::string(rawbuf);
120 ::snprintf( rawbuf, 79,
"%5.2f ", _scaledChannelData[8] );
121 outStr += ::std::string(rawbuf);
122 ::snprintf( rawbuf, 79,
"%5.2f ", _scaledChannelData[9] );
123 outStr += ::std::string(rawbuf);
124 ::snprintf( rawbuf, 79,
"%4.1f ", _scaledChannelData[10] );
125 outStr += ::std::string(rawbuf);
126 ::snprintf( rawbuf, 79,
"%4.2f", _scaledChannelData[12] );
127 outStr += ::std::string(rawbuf);
142 ::std::ostream&
operator<<( ::std::ostream& os,
143 ::carma::tipper::TipData &tReading );
145 #endif // CARMA_TIPPER_TIPDATA_H
std::ostream & operator<<(::std::ostream &os, const carma::dbms::Table &table)
std::string toString(const SortOrder &sortOrder)
get a string representing the specified sort order
::std::string getNonBuggyByDesignDateTimeString(double mjd, const ::std::string &dateFormat)
Get date and time of day string for current time.
This is the interface file for extra APIs for program logging.