#include <math.h>
#include <sys/types.h>
#include <sys/stat.h>
-#ifdef WIN32
+#ifdef _WIN32
#include <io.h>
#include <getopt.h>
#else
#include <unistd.h>
#endif
-#ifdef LINUX
+#ifdef __linux__
#include <endian.h>
#if __BYTE_ORDER == __BIG_ENDIAN
#define WORDS_BIG_ENDIAN 1
bool m_valid;
std::string m_error;
int m_fd;
- int m_format;
+ bool m_bLegacy_format;
+ bool m_bHires;
int m_nMaxChannels;
int m_nChannels;
unsigned long int m_nSamples;
unsigned int m_time_acq_start;
unsigned int m_time_acq_stop;
double m_time_between_channel_samples;
+
+ bool any_packed_channels();
+ bool is_channel_packed(int iChannel);
};
-class WindaqChannel
+class WindaqChannel
{
public:
WindaqFile& r_wdq;
signed short int m_max_raw_data;
double m_max_scaled_data;
double m_min_scaled_data;
+ double m_raw_mean;
WindaqChannel (WindaqFile& wdq, const int channel);
~WindaqChannel ();
+ double raw2measured(signed short int raw) const { return (raw * m_slope) + m_intercept; }
private:
bool read_channel_data();
};
-class WavFile
+class WavFile
{
public:
bool m_valid;
bool WriteFile ();
bool Play();
-
+
private:
bool fill_header();
};
inline T nearest (double x)
{
return (x > 0 ?
- static_cast<T>(x+0.5) : static_cast<T>(x-0.5));
+ static_cast<T>(x+0.5) : static_cast<T>(x-0.5));
}