Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef RANDOM_SIGNAL_HPP
00030 #define RANDOM_SIGNAL_HPP
00031
00032 #include <boost/random/mersenne_twister.hpp>
00033
00034 #include "ISignal.hpp"
00035 #include "Portability.hpp"
00036
00037 class DllExport RandomSignal : public ISignal
00038 {
00039 public:
00040 static const size_t MAC_ADDRESS_SIZE=6;
00041
00042 public:
00043 RandomSignal();
00044 virtual ~RandomSignal();
00045 virtual bool open(uint8_t* mac);
00046 virtual bool init(size_t channels);
00047 virtual size_t channels();
00048 virtual bool start();
00049 virtual size_t acquire();
00050 virtual void getdata(uint32_t* buffer, size_t samples);
00051 virtual uint64_t timestamp();
00052 virtual bool stop();
00053 virtual bool close();
00054
00055 public:
00056 boost::random::mt19937 gen;
00057 size_t mOpenCount;
00058 bool mOpenRet;
00059 uint8_t mLastMac[MAC_ADDRESS_SIZE];
00060 size_t mInitCount;
00061 size_t mLastChannels;
00062 bool mInitRet;
00063 size_t mChannelsCount;
00064 size_t mStartCount;
00065 bool mStartRet;
00066 size_t mAcquireCount;
00067 size_t mAcquireRet;
00068 size_t mGetDataCount;
00069 uint32_t* mpLastGetData;
00070 size_t mLastSamples;
00071 size_t mTimestampCount;
00072 uint64_t mTimestampRet;
00073 size_t mStopCount;
00074 bool mStopRet;
00075 size_t mCloseCount;
00076 bool mCloseRet;
00077 };
00078
00079 #endif