首次提交

This commit is contained in:
2026-06-16 13:38:08 +08:00
commit ec32ae543d
192 changed files with 13162 additions and 0 deletions
+153
View File
@@ -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