mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2026-09-11 00:59:28 +00:00
Move app_ert.hpp code to .cpp.
This commit is contained in:
@@ -22,7 +22,6 @@
|
||||
#ifndef __APP_ERT_H__
|
||||
#define __APP_ERT_H__
|
||||
|
||||
#include "receiver_model.hpp"
|
||||
#include "ui_console.hpp"
|
||||
#include "message.hpp"
|
||||
|
||||
@@ -30,68 +29,22 @@
|
||||
|
||||
class ERTModel {
|
||||
public:
|
||||
ERTModel() {
|
||||
receiver_model.set_baseband_configuration({
|
||||
.mode = 6,
|
||||
.sampling_rate = 4194304,
|
||||
.decimation_factor = 1,
|
||||
});
|
||||
receiver_model.set_baseband_bandwidth(1750000);
|
||||
}
|
||||
ERTModel();
|
||||
|
||||
std::string on_packet(const ERTPacketMessage& message) {
|
||||
std::string s;
|
||||
|
||||
if( message.packet.preamble == 0x555516a3 ) {
|
||||
s += "IDM\n";
|
||||
}
|
||||
if( message.packet.preamble == 0x1f2a60 ) {
|
||||
s += "SCM\n";
|
||||
}
|
||||
|
||||
const ManchesterDecoder decoder(message.packet.payload, message.packet.bits_received);
|
||||
|
||||
const auto hex_formatted = format_manchester(decoder);
|
||||
s += hex_formatted.data;
|
||||
s += "\n";
|
||||
s += hex_formatted.errors;
|
||||
s += "\n";
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
private:
|
||||
std::string on_packet(const ERTPacketMessage& message);
|
||||
};
|
||||
|
||||
namespace ui {
|
||||
|
||||
class ERTView : public Console {
|
||||
public:
|
||||
void on_show() override {
|
||||
Console::on_show();
|
||||
|
||||
auto& message_map = context().message_map();
|
||||
message_map.register_handler(Message::ID::ERTPacket,
|
||||
[this](Message* const p) {
|
||||
const auto message = static_cast<const ERTPacketMessage*>(p);
|
||||
this->log(this->model.on_packet(*message));
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
void on_hide() override {
|
||||
auto& message_map = context().message_map();
|
||||
message_map.unregister_handler(Message::ID::ERTPacket);
|
||||
|
||||
Console::on_hide();
|
||||
}
|
||||
void on_show() override;
|
||||
void on_hide() override;
|
||||
|
||||
private:
|
||||
ERTModel model;
|
||||
|
||||
void log(const std::string& s) {
|
||||
write(s);
|
||||
}
|
||||
void log(const std::string& s);
|
||||
};
|
||||
|
||||
} /* namespace ui */
|
||||
|
||||
Reference in New Issue
Block a user