2023-04-23 16:08:44 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
2025-05-31 20:26:47 +02:00
|
|
|
#include "pipeline/modules/base/filestream_to_filestream.h"
|
2023-04-23 16:08:44 +02:00
|
|
|
|
|
|
|
|
namespace ax25
|
|
|
|
|
{
|
2025-05-31 20:26:47 +02:00
|
|
|
class AX25DecoderModule : public satdump::pipeline::base::FileStreamToFileStreamModule
|
2023-04-23 16:08:44 +02:00
|
|
|
{
|
|
|
|
|
protected:
|
|
|
|
|
int8_t *input_buffer;
|
|
|
|
|
|
|
|
|
|
bool d_nrzi;
|
|
|
|
|
bool d_g3ruh;
|
|
|
|
|
|
|
|
|
|
int frm_cnt = 0;
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
AX25DecoderModule(std::string input_file, std::string output_file_hint, nlohmann::json parameters);
|
|
|
|
|
~AX25DecoderModule();
|
|
|
|
|
void process();
|
|
|
|
|
void drawUI(bool window);
|
2025-05-31 20:26:47 +02:00
|
|
|
nlohmann::json getModuleStats();
|
2023-04-23 16:08:44 +02:00
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
static std::string getID();
|
|
|
|
|
virtual std::string getIDM() { return getID(); };
|
2025-05-31 20:26:47 +02:00
|
|
|
static nlohmann::json getParams() { return {}; } // TODOREWORK
|
2023-04-23 16:08:44 +02:00
|
|
|
static std::shared_ptr<ProcessingModule> getInstance(std::string input_file, std::string output_file_hint, nlohmann::json parameters);
|
|
|
|
|
};
|
2025-05-31 20:26:47 +02:00
|
|
|
} // namespace ax25
|