首次提交
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
#include "BackEnd.h"
|
||||
#ifdef MockBackEnd
|
||||
#include "./MainWidget.h"
|
||||
#include "../component/FrequentShower.h"
|
||||
#include "../component/ProgressBar.h"
|
||||
#include "IntermediateFrequencyWidget.h"
|
||||
#include "RadioWidget.h"
|
||||
#include "SweepFrequencyWidget.h"
|
||||
|
||||
|
||||
void BackEnd::play(const QString& fileName){
|
||||
qDebug() << "播放音频文件:" << fileName;
|
||||
}
|
||||
QString BackEnd::get_screenshot_save_dir_path() {
|
||||
return "D:/work/电台保存文件";
|
||||
}
|
||||
|
||||
QString BackEnd::get_screenshot_save_file_name() {
|
||||
QDateTime currentDateTime = QDateTime::currentDateTime();
|
||||
return "截屏_" +
|
||||
currentDateTime.toString()
|
||||
.replace(":", "_")
|
||||
.replace("/", "_") + ".png";
|
||||
}
|
||||
|
||||
|
||||
QString BackEnd::getAudioFileLocation() {
|
||||
return "D:/work/save/";
|
||||
}
|
||||
|
||||
BackEnd *BackEnd::instance() {
|
||||
static BackEnd temp;
|
||||
return &temp;
|
||||
}
|
||||
|
||||
bool BackEnd::match(QKeyEvent *e, const QString &function) {
|
||||
bool ok = mFunctionMap.contains(function);
|
||||
if(!ok){
|
||||
qDebug() << "error Global::match 失败! 功能" << function << "不存在!" << e;
|
||||
}
|
||||
return e->key() == mFunctionMap[function];
|
||||
}
|
||||
|
||||
void BackEnd::YsSetFreq(quint64 value)
|
||||
{
|
||||
qDebug() << "后端设置频率为: " << value;
|
||||
}
|
||||
|
||||
|
||||
// 获取到频率
|
||||
void BackEnd::YsReceiveFreq(quint64 freq) {
|
||||
qDebug() << "接收到频率:" << freq;
|
||||
}
|
||||
|
||||
// 音量设置
|
||||
void BackEnd::YsSetAfGain(int value) {
|
||||
|
||||
}
|
||||
|
||||
int BackEnd::YsGetAfGain() {
|
||||
return 60;
|
||||
}
|
||||
|
||||
int BackEnd::YsGetRfGain() {
|
||||
return 60;
|
||||
}
|
||||
|
||||
qint64 BackEnd::YsGetFreq() {
|
||||
return 70;
|
||||
}
|
||||
|
||||
|
||||
// 增益设置
|
||||
void BackEnd::YsSetRfGain(int value)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
BackEnd::BackEnd() {
|
||||
//qDebug() << "BackEnd::BackEnd() " << QThread::currentThreadId();
|
||||
mFunctionMap["主菜单"] = Qt::Key_F1;
|
||||
mFunctionMap["属性菜单"] = Qt::Key_F2;
|
||||
mFunctionMap["顶部菜单"] = Qt::Key_F3;
|
||||
mFunctionMap["退出"] = Qt::Key_Escape;
|
||||
mFunctionMap["确定"] = Qt::Key_Return;
|
||||
mFunctionMap["左移"] = Qt::Key_Left;
|
||||
mFunctionMap["右移"] = Qt::Key_Right;
|
||||
mFunctionMap["增加"] = Qt::Key_Up;
|
||||
mFunctionMap["减小"] = Qt::Key_Down;
|
||||
mFunctionMap["切换音量/RF Gain"] = Qt::Key_Return;
|
||||
mFunctionMap["特别增加"] = Qt::Key_PageUp;
|
||||
mFunctionMap["特别减小"] = Qt::Key_PageDown;
|
||||
auto mTimer = new QTimer(this);
|
||||
|
||||
|
||||
|
||||
QObject::connect(mTimer, &QTimer::timeout, [&](){
|
||||
|
||||
int size = 1024;
|
||||
|
||||
RadioWidget* rw = MainWidget::instance()->mRadioWidget;
|
||||
{
|
||||
auto r = rw->mSpectrogramLine->powerAxis()->coordRange();
|
||||
YSG::Range nr = {r.center() - r.length()/4, r.center() + r.length()/4};
|
||||
//QVector<double>&& d= YSG::getData(nr, rw->mSpectrogramLine->frequentPointSize());
|
||||
QVector<double>&& d= YSG::getData(nr, size);
|
||||
rw->mSpectrogramLine->giveData(d);
|
||||
}
|
||||
{
|
||||
QVector<double>&& d= YSG::getData(rw->mWaterFall->powerRange(), rw->mWaterFall->frequentPointSize());
|
||||
|
||||
//qDebug() << "D == " << d.size();
|
||||
int tick = rw->mWaterFall->timeAxis()->giveData(QTime::currentTime());
|
||||
rw->mWaterFall->giveData(tick, d);
|
||||
}
|
||||
{
|
||||
int tick = rw->mTimePower->timeAxis()->giveData(QTime::currentTime());
|
||||
YSG::Range r = rw->mTimePower->valueAxis()->coordRange();
|
||||
YSG::Range nr = {r.center() - r.length()/4, r.center() + r.length()/4};
|
||||
rw->mTimePower->giveData(tick, YSG::getData(nr));
|
||||
}
|
||||
{
|
||||
auto r = rw->mAudioSpectrogramPlot->powerAxis()->coordRange();
|
||||
YSG::Range nr = {r.center() - r.length()/4, r.center() + r.length()/4};
|
||||
//QVector<double>&& d= YSG::getData(nr, rw->mAudioSpectrogramPlot->frequentPointSize());
|
||||
QVector<double>&& d= YSG::getData(nr, 512);
|
||||
rw->mAudioSpectrogramPlot->giveData(d);
|
||||
}
|
||||
auto iw = MainWidget::instance()->mIntermediateFrequencyWidget;
|
||||
{
|
||||
auto r = iw->mSpectrogramLine->powerAxis()->coordRange();
|
||||
YSG::Range nr = {r.center() - r.length()/4, r.center() + r.length()/4};
|
||||
//QVector<double> d = YSG::getData(nr, iw->mSpectrogramLine->frequentPointSize());
|
||||
QVector<double> d = YSG::getData(nr, size);
|
||||
iw->mSpectrogramLine->giveData(d);
|
||||
}
|
||||
{
|
||||
//QVector<double> d= YSG::getData(iw->mAfterglow->powerRange(), iw->mAfterglow->frequentPointSize());
|
||||
QVector<double> d= YSG::getData(iw->mAfterglow->powerRange(), size);
|
||||
iw->mAfterglow->giveData(d);
|
||||
}
|
||||
auto sw = MainWidget::instance()->mSweepFrequencyWidget;
|
||||
{
|
||||
QVector<double>&& sweepData = YSG::getData(sw->mSweepFrequencyLine->powerAxis()->coordRange(), sw->mSweepFrequencyLine->blockFrequentPointSize());
|
||||
sw->mSweepFrequencyLine->giveData(sweepData);
|
||||
}
|
||||
});
|
||||
mTimer->start(10);
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user