mirror of
https://github.com/eried/portapack-mayhem.git
synced 2025-01-11 07:19:34 -05:00
HH:MM in POCSAG RX
This commit is contained in:
parent
0a549c8192
commit
1b9465716f
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
/firmware/application/application.bin
|
||||
/CMakeCache.txt
|
||||
/Makefile
|
||||
/firmware/baseband/Makefile
|
||||
|
@ -59,6 +59,10 @@ void POCSAGLogger::on_packet(const pocsag::POCSAGPacket& packet, const uint32_t
|
||||
log_file.write_entry(packet.timestamp(), entry);
|
||||
}
|
||||
|
||||
void POCSAGLogger::on_decoded(const pocsag::POCSAGPacket& packet, const std::string text) {
|
||||
log_file.write_entry(packet.timestamp(), text);
|
||||
}
|
||||
|
||||
namespace ui {
|
||||
|
||||
void POCSAGAppView::update_freq(rf::Frequency f) {
|
||||
@ -69,7 +73,7 @@ void POCSAGAppView::update_freq(rf::Frequency f) {
|
||||
|
||||
portapack::persistent_memory::set_tuned_frequency(f); // Maybe not ?
|
||||
|
||||
auto mhz = to_string_dec_int(f / 1000000, 3);
|
||||
auto mhz = to_string_dec_int(f / 1000000, 4);
|
||||
auto hz100 = to_string_dec_int((f / 100) % 10000, 4, '0');
|
||||
|
||||
strcat(finalstr, mhz.c_str());
|
||||
@ -141,12 +145,10 @@ void POCSAGAppView::on_packet(const POCSAGPacketMessage * message) {
|
||||
bool eom = false;
|
||||
uint32_t codeword;
|
||||
std::string alphanum_text = "";
|
||||
std::string output_text = "";
|
||||
std::string output_text = "MSG:";
|
||||
char ascii_char;
|
||||
|
||||
if( logger ) {
|
||||
logger->on_packet(message->packet, target_frequency());
|
||||
}
|
||||
if( logger ) logger->on_packet(message->packet, target_frequency());
|
||||
|
||||
for (size_t i = 0; i < 16; i++) {
|
||||
codeword = message->packet[i];
|
||||
@ -187,6 +189,9 @@ void POCSAGAppView::on_packet(const POCSAGPacketMessage * message) {
|
||||
}
|
||||
|
||||
console.writeln(output_text);
|
||||
|
||||
if (logger) logger->on_decoded(message->packet, output_text);
|
||||
|
||||
} else {
|
||||
// Address
|
||||
if (codeword == POCSAG_IDLE) {
|
||||
@ -199,7 +204,11 @@ void POCSAGAppView::on_packet(const POCSAGPacketMessage * message) {
|
||||
}
|
||||
|
||||
if (eom) {
|
||||
console.writeln("ADDR:" + to_string_hex(address, 6) + " F:" + to_string_dec_uint(function) + " ");
|
||||
if (address || function)
|
||||
console.writeln(to_string_time(message->packet.timestamp()) + " ADDR:" + to_string_hex(address, 6) + " F:" + to_string_dec_uint(function) + " ");
|
||||
else
|
||||
console.writeln(to_string_time(message->packet.timestamp()) + " Tone only ");
|
||||
|
||||
ascii_idx = 0;
|
||||
ascii_data = 0;
|
||||
batch_cnt = 0;
|
||||
|
@ -42,6 +42,7 @@ public:
|
||||
}
|
||||
|
||||
void on_packet(const pocsag::POCSAGPacket& packet, const uint32_t frequency);
|
||||
void on_decoded(const pocsag::POCSAGPacket& packet, const std::string text);
|
||||
|
||||
private:
|
||||
LogFile log_file;
|
||||
@ -104,7 +105,7 @@ private:
|
||||
};
|
||||
Button button_setfreq {
|
||||
{ 0, 20, 12 * 8, 20 },
|
||||
"---.----M"
|
||||
"----.----"
|
||||
};
|
||||
|
||||
Console console {
|
||||
|
@ -121,6 +121,11 @@ std::string to_string_datetime(const rtc::RTC& value) {
|
||||
to_string_dec_uint(value.second(), 2, '0');
|
||||
}
|
||||
|
||||
std::string to_string_time(const rtc::RTC& value) {
|
||||
return to_string_dec_uint(value.hour(), 2, '0') + ":" +
|
||||
to_string_dec_uint(value.minute(), 2, '0');
|
||||
}
|
||||
|
||||
std::string to_string_timestamp(const rtc::RTC& value) {
|
||||
return to_string_dec_uint(value.year(), 4, '0') +
|
||||
to_string_dec_uint(value.month(), 2, '0') +
|
||||
|
@ -35,6 +35,7 @@ std::string to_string_dec_int(const int32_t n, const int32_t l = 0, const char f
|
||||
std::string to_string_hex(const uint32_t n, const int32_t l = 0);
|
||||
|
||||
std::string to_string_datetime(const rtc::RTC& value);
|
||||
std::string to_string_time(const rtc::RTC& value);
|
||||
std::string to_string_timestamp(const rtc::RTC& value);
|
||||
|
||||
#endif/*__STRING_FORMAT_H__*/
|
||||
|
@ -44,11 +44,11 @@ void AFSKSetupView::focus() {
|
||||
}
|
||||
|
||||
void AFSKSetupView::update_freq(rf::Frequency f) {
|
||||
char finalstr[9] = {0};
|
||||
char finalstr[10] = {0};
|
||||
|
||||
portapack::persistent_memory::set_tuned_frequency(f);
|
||||
|
||||
auto mhz = to_string_dec_int(f / 1000000, 3);
|
||||
auto mhz = to_string_dec_int(f / 1000000, 4);
|
||||
auto hz100 = to_string_dec_int((f / 100) % 10000, 4, '0');
|
||||
|
||||
strcat(finalstr, mhz.c_str());
|
||||
|
@ -47,7 +47,7 @@ private:
|
||||
};
|
||||
Button button_setfreq {
|
||||
{ 8, 48, 104, 32 },
|
||||
"---.----M"
|
||||
"----.----"
|
||||
};
|
||||
|
||||
Text text_bps {
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user