/*Copyright © 2017 Hasan Yavuz ÖzderyaThis file is part of serialplot.serialplot is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.serialplot is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with serialplot. If not, see <http://www.gnu.org/licenses/>.*/#include <math.h>#include "demoreader.h"#ifndef M_PI#define M_PI 3.14159265358979323846#endifDemoReader::DemoReader(QIODevice* device, ChannelManager* channelMan,DataRecorder* recorder, QObject* parent) :AbstractReader(device, channelMan, recorder, parent){paused = false;_numOfChannels = 1;count = 0;timer.setInterval(100);QObject::connect(&timer, &QTimer::timeout,this, &DemoReader::demoTimerTimeout);}QWidget* DemoReader::settingsWidget(){return NULL;}void DemoReader::enable(bool enabled){if (enabled){timer.start();}else{timer.stop();}}unsigned DemoReader::numOfChannels(){return _numOfChannels;}void DemoReader::setNumOfChannels(unsigned value){_numOfChannels = value;}void DemoReader::pause(bool enabled){paused = enabled;}void DemoReader::demoTimerTimeout(){const double period = 100;count++;if (count >= 100) count = 0;if (!paused){double* samples = new double[_numOfChannels];for (unsigned ci = 0; ci < _numOfChannels; ci++){// we are calculating the fourier components of square wavesamples[ci] = 4*sin(2*M_PI*double((ci+1)*count)/period)/((2*(ci+1))*M_PI);}addData(samples, _numOfChannels);delete[] samples;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。