mirror of
https://github.com/AlexandreRouma/SDRPlusPlus.git
synced 2025-01-13 11:47:13 +01:00
add missing files
This commit is contained in:
parent
ef42ea01d8
commit
f1f04d59fe
96
decoder_modules/pager_decoder/src/flex/decoder.h
Normal file
96
decoder_modules/pager_decoder/src/flex/decoder.h
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "../decoder.h"
|
||||||
|
#include <signal_path/vfo_manager.h>
|
||||||
|
#include <utils/optionlist.h>
|
||||||
|
#include <gui/widgets/symbol_diagram.h>
|
||||||
|
#include <gui/style.h>
|
||||||
|
#include <dsp/sink/handler_sink.h>
|
||||||
|
#include "flex.h"
|
||||||
|
|
||||||
|
class FLEXDecoder : public Decoder {
|
||||||
|
dsp::stream<float> dummy1;
|
||||||
|
dsp::stream<uint8_t> dummy2;
|
||||||
|
public:
|
||||||
|
FLEXDecoder(const std::string& name, VFOManager::VFO* vfo) : diag(0.6, 1600) {
|
||||||
|
this->name = name;
|
||||||
|
this->vfo = vfo;
|
||||||
|
|
||||||
|
// Define baudrate options
|
||||||
|
baudrates.define(1600, "1600 Baud", 1600);
|
||||||
|
baudrates.define(3200, "3200 Baud", 3200);
|
||||||
|
baudrates.define(6400, "6400 Baud", 6400);
|
||||||
|
|
||||||
|
// Init DSP
|
||||||
|
vfo->setBandwidthLimits(12500, 12500, true);
|
||||||
|
vfo->setSampleRate(16000, 12500);
|
||||||
|
reshape.init(&dummy1, 1600.0, (1600 / 30.0) - 1600.0);
|
||||||
|
dataHandler.init(&dummy2, _dataHandler, this);
|
||||||
|
diagHandler.init(&reshape.out, _diagHandler, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
~FLEXDecoder() {
|
||||||
|
stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
void showMenu() {
|
||||||
|
ImGui::LeftLabel("Baudrate");
|
||||||
|
ImGui::FillWidth();
|
||||||
|
if (ImGui::Combo(("##pager_decoder_flex_br_" + name).c_str(), &brId, baudrates.txt)) {
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui::FillWidth();
|
||||||
|
diag.draw();
|
||||||
|
}
|
||||||
|
|
||||||
|
void setVFO(VFOManager::VFO* vfo) {
|
||||||
|
this->vfo = vfo;
|
||||||
|
vfo->setBandwidthLimits(12500, 12500, true);
|
||||||
|
vfo->setSampleRate(24000, 12500);
|
||||||
|
// dsp.setInput(vfo->output);
|
||||||
|
}
|
||||||
|
|
||||||
|
void start() {
|
||||||
|
flog::debug("FLEX start");
|
||||||
|
// dsp.start();
|
||||||
|
reshape.start();
|
||||||
|
dataHandler.start();
|
||||||
|
diagHandler.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
void stop() {
|
||||||
|
flog::debug("FLEX stop");
|
||||||
|
// dsp.stop();
|
||||||
|
reshape.stop();
|
||||||
|
dataHandler.stop();
|
||||||
|
diagHandler.stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
static void _dataHandler(uint8_t* data, int count, void* ctx) {
|
||||||
|
FLEXDecoder* _this = (FLEXDecoder*)ctx;
|
||||||
|
// _this->decoder.process(data, count);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void _diagHandler(float* data, int count, void* ctx) {
|
||||||
|
FLEXDecoder* _this = (FLEXDecoder*)ctx;
|
||||||
|
float* buf = _this->diag.acquireBuffer();
|
||||||
|
memcpy(buf, data, count * sizeof(float));
|
||||||
|
_this->diag.releaseBuffer();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string name;
|
||||||
|
|
||||||
|
VFOManager::VFO* vfo;
|
||||||
|
dsp::buffer::Reshaper<float> reshape;
|
||||||
|
dsp::sink::Handler<uint8_t> dataHandler;
|
||||||
|
dsp::sink::Handler<float> diagHandler;
|
||||||
|
|
||||||
|
flex::Decoder decoder;
|
||||||
|
|
||||||
|
ImGui::SymbolDiagram diag;
|
||||||
|
|
||||||
|
int brId = 0;
|
||||||
|
|
||||||
|
OptionList<int, int> baudrates;
|
||||||
|
};
|
5
decoder_modules/pager_decoder/src/flex/flex.cpp
Normal file
5
decoder_modules/pager_decoder/src/flex/flex.cpp
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#include "flex.h"
|
||||||
|
|
||||||
|
namespace flex {
|
||||||
|
// TODO
|
||||||
|
}
|
11
decoder_modules/pager_decoder/src/flex/flex.h
Normal file
11
decoder_modules/pager_decoder/src/flex/flex.h
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace flex {
|
||||||
|
class Decoder {
|
||||||
|
public:
|
||||||
|
// TODO
|
||||||
|
|
||||||
|
private:
|
||||||
|
// TODO
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user