#pragma once #include "core/module.h" #include #include #include #include "common/simple_deframer.h" #include "common/widgets/constellation.h" namespace ax25 { class AX25DecoderModule : public ProcessingModule { protected: int8_t *input_buffer; std::ifstream data_in; std::ofstream data_out; std::atomic filesize; std::atomic progress; 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); std::vector getInputTypes(); std::vector getOutputTypes(); public: static std::string getID(); virtual std::string getIDM() { return getID(); }; static std::vector getParameters(); static std::shared_ptr getInstance(std::string input_file, std::string output_file_hint, nlohmann::json parameters); }; } // namespace noaa