X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fdata%2Fanalogsnapshot.hpp;fp=pv%2Fdata%2Fanalogsnapshot.hpp;h=0000000000000000000000000000000000000000;hb=f3d66e52ed6b454ea7a0662d5e6367e230116a2b;hp=69c28a2a60b793e13a790cb360172aae61236eac;hpb=ff008de665c7990d5f3408f918ff090d8e6c60b2;p=pulseview.git diff --git a/pv/data/analogsnapshot.hpp b/pv/data/analogsnapshot.hpp deleted file mode 100644 index 69c28a2..0000000 --- a/pv/data/analogsnapshot.hpp +++ /dev/null @@ -1,96 +0,0 @@ -/* - * This file is part of the PulseView project. - * - * Copyright (C) 2012 Joel Holdsworth - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef PULSEVIEW_PV_DATA_ANALOGSNAPSHOT_H -#define PULSEVIEW_PV_DATA_ANALOGSNAPSHOT_H - -#include "snapshot.hpp" - -#include -#include - -namespace AnalogSnapshotTest { -struct Basic; -} - -namespace pv { -namespace data { - -class AnalogSnapshot : public Snapshot -{ -public: - struct EnvelopeSample - { - float min; - float max; - }; - - struct EnvelopeSection - { - uint64_t start; - unsigned int scale; - uint64_t length; - EnvelopeSample *samples; - }; - -private: - struct Envelope - { - uint64_t length; - uint64_t data_length; - EnvelopeSample *samples; - }; - -private: - static const unsigned int ScaleStepCount = 10; - static const int EnvelopeScalePower; - static const int EnvelopeScaleFactor; - static const float LogEnvelopeScaleFactor; - static const uint64_t EnvelopeDataUnit; - -public: - AnalogSnapshot(uint64_t samplerate, uint64_t expected_num_samples = 0); - - virtual ~AnalogSnapshot(); - - void append_interleaved_samples(const float *data, - size_t sample_count, size_t stride); - - const float* get_samples(int64_t start_sample, - int64_t end_sample) const; - - void get_envelope_section(EnvelopeSection &s, - uint64_t start, uint64_t end, float min_length) const; - -private: - void reallocate_envelope(Envelope &l); - - void append_payload_to_envelope_levels(); - -private: - struct Envelope envelope_levels_[ScaleStepCount]; - - friend struct AnalogSnapshotTest::Basic; -}; - -} // namespace data -} // namespace pv - -#endif // PULSEVIEW_PV_DATA_ANALOGSNAPSHOT_H