mirror of
https://github.com/eried/portapack-mayhem.git
synced 2024-12-25 15:29:37 -05:00
Improve output
This commit is contained in:
parent
8a4564f6f5
commit
79b24ebe13
@ -65,10 +65,12 @@ void RecentEntriesTable<AircraftRecentEntries>::draw(
|
|||||||
(entry.hits <= 999 ? to_string_dec_uint(entry.hits, 4) : "999+") + " " +
|
(entry.hits <= 999 ? to_string_dec_uint(entry.hits, 4) : "999+") + " " +
|
||||||
entry.time_string;
|
entry.time_string;
|
||||||
#else
|
#else
|
||||||
|
// SBT
|
||||||
entry_string +=
|
entry_string +=
|
||||||
(entry.callsign[0]!=' ' ? entry.callsign + " " : to_string_hex(entry.ICAO_address, 6) + " ") +
|
(entry.callsign[0]!=' ' ? entry.callsign + " " : to_string_hex(entry.ICAO_address, 6) + " ") +
|
||||||
to_string_dec_int(entry.pos.altitude,5) + " " +
|
to_string_dec_uint((unsigned int)((entry.pos.altitude+50)/100),4) +
|
||||||
to_string_dec_int(entry.velo.speed,3) + " " +
|
to_string_dec_uint((unsigned int)entry.velo.speed,4) + " " +
|
||||||
|
to_string_dec_uint((unsigned int)(entry.amp*100),3) + " " +
|
||||||
(entry.hits <= 999 ? to_string_dec_uint(entry.hits, 3) + " " : "1k+ ") +
|
(entry.hits <= 999 ? to_string_dec_uint(entry.hits, 3) + " " : "1k+ ") +
|
||||||
to_string_dec_uint(entry.age, 3);
|
to_string_dec_uint(entry.age, 3);
|
||||||
#endif
|
#endif
|
||||||
@ -80,7 +82,7 @@ void RecentEntriesTable<AircraftRecentEntries>::draw(
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (entry.pos.valid)
|
if (entry.pos.valid)
|
||||||
painter.draw_bitmap(target_rect.location() + Point(15 * 8, 0), bitmap_target, target_color, style.background);
|
painter.draw_bitmap(target_rect.location() + Point(8 * 8, 0), bitmap_target, target_color, style.background);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ADSBLogger::log_str(std::string& logline) {
|
void ADSBLogger::log_str(std::string& logline) {
|
||||||
@ -253,6 +255,12 @@ void ADSBRxView::on_frame(const ADSBFrameMessage * message) {
|
|||||||
auto entry = find_or_create_entry(ICAO_address);
|
auto entry = find_or_create_entry(ICAO_address);
|
||||||
frame.set_rx_timestamp(datetime.minute() * 60 + datetime.second());
|
frame.set_rx_timestamp(datetime.minute() * 60 + datetime.second());
|
||||||
entry.reset_age();
|
entry.reset_age();
|
||||||
|
if (entry.hits==0)
|
||||||
|
{
|
||||||
|
entry.amp = message->amp;
|
||||||
|
} else {
|
||||||
|
entry.amp = ((entry.amp*9.0f)+message->amp)/10.0f;
|
||||||
|
}
|
||||||
str_timestamp = to_string_datetime(datetime, HMS);
|
str_timestamp = to_string_datetime(datetime, HMS);
|
||||||
entry.set_time_string(str_timestamp);
|
entry.set_time_string(str_timestamp);
|
||||||
|
|
||||||
|
@ -76,6 +76,7 @@ struct AircraftRecentEntry {
|
|||||||
|
|
||||||
uint16_t age_state { 1 };
|
uint16_t age_state { 1 };
|
||||||
uint32_t age { 0 };
|
uint32_t age { 0 };
|
||||||
|
float amp {0.0f};
|
||||||
adsb_pos pos { false, 0, 0, 0 };
|
adsb_pos pos { false, 0, 0, 0 };
|
||||||
adsb_vel velo { false, 0, 999, 0 };
|
adsb_vel velo { false, 0, 999, 0 };
|
||||||
ADSBFrame frame_pos_even { };
|
ADSBFrame frame_pos_even { };
|
||||||
@ -269,10 +270,11 @@ private:
|
|||||||
{ "Time", 8 }
|
{ "Time", 8 }
|
||||||
#else
|
#else
|
||||||
{ "ICAO/Call", 9 },
|
{ "ICAO/Call", 9 },
|
||||||
{ "Alt", 6 },
|
{ "Lvl", 3 },
|
||||||
{ "Spd", 4 },
|
{ "Spd", 3 },
|
||||||
{ "Hits", 4 },
|
{ "Amp", 3 },
|
||||||
{ "Age", 4 }
|
{ "Hit", 3 },
|
||||||
|
{ "Age", 3 }
|
||||||
#endif
|
#endif
|
||||||
} };
|
} };
|
||||||
AircraftRecentEntries recent { };
|
AircraftRecentEntries recent { };
|
||||||
|
@ -56,7 +56,7 @@ void ADSBRXProcessor::execute(const buffer_c8_t& buffer) {
|
|||||||
if (sample_count & 1) {
|
if (sample_count & 1) {
|
||||||
if (bit_count >= msgLen)
|
if (bit_count >= msgLen)
|
||||||
{
|
{
|
||||||
const ADSBFrameMessage message(frame);
|
const ADSBFrameMessage message(frame, amp);
|
||||||
shared_memory.application_queue.push(message);
|
shared_memory.application_queue.push(message);
|
||||||
decoding = false;
|
decoding = false;
|
||||||
bit = (prev_mag > mag) ? 1 : 0;
|
bit = (prev_mag > mag) ? 1 : 0;
|
||||||
|
@ -376,13 +376,16 @@ public:
|
|||||||
class ADSBFrameMessage : public Message {
|
class ADSBFrameMessage : public Message {
|
||||||
public:
|
public:
|
||||||
constexpr ADSBFrameMessage(
|
constexpr ADSBFrameMessage(
|
||||||
const adsb::ADSBFrame& frame
|
const adsb::ADSBFrame& frame,
|
||||||
|
const float amp
|
||||||
) : Message { ID::ADSBFrame },
|
) : Message { ID::ADSBFrame },
|
||||||
frame { frame }
|
frame { frame },
|
||||||
|
amp(amp)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
adsb::ADSBFrame frame;
|
adsb::ADSBFrame frame;
|
||||||
|
float amp;
|
||||||
};
|
};
|
||||||
|
|
||||||
class AFSKDataMessage : public Message {
|
class AFSKDataMessage : public Message {
|
||||||
|
Loading…
Reference in New Issue
Block a user