From d47f292d3a33e6d73a6aa5cf09e20bfaa3fd7ec7 Mon Sep 17 00:00:00 2001 From: furrtek Date: Fri, 27 Oct 2017 18:54:50 +0200 Subject: [PATCH 1/7] Radiosonde RX now understands Meteomodem's M10 correctly Updated binary --- firmware/application/ui_geomap.hpp | 2 +- firmware/application/ui_navigation.cpp | 2 +- firmware/application/ui_sonde.cpp | 54 ++++++++++++++++++------- firmware/application/ui_sonde.hpp | 45 +++++++++++++++++---- firmware/baseband/proc_sonde.cpp | 1 - firmware/baseband/proc_sonde.hpp | 13 +++--- firmware/common/manchester.cpp | 17 ++++++-- firmware/common/manchester.hpp | 30 ++++++++++---- firmware/common/sonde_packet.cpp | 27 +++++++++++++ firmware/common/sonde_packet.hpp | 13 ++++-- firmware/portapack-h1-havoc.bin | Bin 928072 -> 929160 bytes 11 files changed, 157 insertions(+), 47 deletions(-) diff --git a/firmware/application/ui_geomap.hpp b/firmware/application/ui_geomap.hpp index 4608742c..cd105ac3 100644 --- a/firmware/application/ui_geomap.hpp +++ b/firmware/application/ui_geomap.hpp @@ -136,7 +136,7 @@ public: float lat, float lon, float angle, - const std::function on_close + const std::function on_close = nullptr ); GeoMapView(NavigationView& nav, int32_t altitude, diff --git a/firmware/application/ui_navigation.cpp b/firmware/application/ui_navigation.cpp index a31edb48..8abdb841 100644 --- a/firmware/application/ui_navigation.cpp +++ b/firmware/application/ui_navigation.cpp @@ -297,7 +297,7 @@ ReceiversMenuView::ReceiversMenuView(NavigationView& nav) { { "POCSAG", ui::Color::green(), &bitmap_icon_pocsag, [&nav](){ nav.push(); } }, { "SIGFOX", ui::Color::grey(), &bitmap_icon_fox, [&nav](){ nav.push(); } }, // SIGFRXView { "LoRa", ui::Color::grey(), nullptr, [&nav](){ nav.push(); } }, - { "Radiosondes", ui::Color::red(), &bitmap_icon_sonde, [&nav](){ nav.push(); } }, + { "Radiosondes", ui::Color::yellow(),&bitmap_icon_sonde, [&nav](){ nav.push(); } }, { "SSTV", ui::Color::grey(), &bitmap_icon_sstv, [&nav](){ nav.push(); } }, { "TPMS: Cars", ui::Color::green(), &bitmap_icon_tpms, [&nav](){ nav.push(); } }, }); diff --git a/firmware/application/ui_sonde.cpp b/firmware/application/ui_sonde.cpp index 92720dc0..33a7132c 100644 --- a/firmware/application/ui_sonde.cpp +++ b/firmware/application/ui_sonde.cpp @@ -42,16 +42,22 @@ SondeView::SondeView(NavigationView& nav) { baseband::run_image(portapack::spi_flash::image_tag_sonde); add_children({ - &field_frequency, - &text_debug, + &labels, &field_rf_amp, &field_lna, &field_vga, - &rssi + &rssi, + &field_frequency, + &text_debug_a, + &text_debug_b, + &text_signature, + &text_sats, + &geopos, + &button_see_map }); - field_frequency.set_value(receiver_model.tuning_frequency()); - field_frequency.set_step(receiver_model.frequency_step()); + field_frequency.set_value(target_frequency_); + field_frequency.set_step(10000); field_frequency.on_change = [this](rf::Frequency f) { set_target_frequency(f); field_frequency.set_value(f); @@ -65,8 +71,10 @@ SondeView::SondeView(NavigationView& nav) { }; }; + geopos.set_read_only(true); + radio::enable({ - receiver_model.tuning_frequency(), + tuning_frequency(), sampling_rate, baseband_bandwidth, rf::Direction::Receive, @@ -74,9 +82,16 @@ SondeView::SondeView(NavigationView& nav) { static_cast(receiver_model.lna()), static_cast(receiver_model.vga()), }); - - set_target_frequency(402000000); + button_see_map.on_select = [this, &nav](Button&) { + nav.push( + "", + altitude, + latitude, + longitude, + 0); + }; + /*logger = std::make_unique(); if( logger ) { logger->append(u"sonde.txt"); @@ -92,19 +107,28 @@ void SondeView::focus() { field_vga.focus(); } -void SondeView::on_packet(const baseband::Packet& packet) { - std::string bin_string; +void SondeView::on_packet(const sonde::Packet& packet) { + const auto hex_formatted = packet.symbols_formatted(); - for (size_t i = 0; i < 30; i++) { - bin_string += to_string_dec_uint(packet[i]); - } + text_debug_a.set(hex_formatted.data.substr(0, 30)); + text_debug_b.set(hex_formatted.errors.substr(0, 30)); - text_debug.set(bin_string); + text_signature.set(packet.signature()); + + text_sats.set(to_string_dec_uint(packet.visible_sats())); + + altitude = packet.GPS_altitude(); + latitude = packet.GPS_latitude(); + longitude = packet.GPS_longitude(); + + geopos.set_altitude(altitude); + geopos.set_lat(latitude); + geopos.set_lon(longitude); /*if( logger ) { logger->on_packet(packet); }*/ - + /*if( packet.crc_ok() ) { }*/ } diff --git a/firmware/application/ui_sonde.hpp b/firmware/application/ui_sonde.hpp index b00b6336..c0863251 100644 --- a/firmware/application/ui_sonde.hpp +++ b/firmware/application/ui_sonde.hpp @@ -27,6 +27,7 @@ #include "ui_receiver.hpp" #include "ui_rssi.hpp" #include "ui_channel.hpp" +#include "ui_geomap.hpp" #include "event_m0.hpp" @@ -67,7 +68,16 @@ public: private: //std::unique_ptr logger { }; - uint32_t target_frequency_ { }; + uint32_t target_frequency_ { 402000000 }; + int32_t altitude { 0 }; + float latitude { 0 }; + float longitude { 0 }; + + Labels labels { + { { 3 * 8, 5 * 16 }, "Signature:", Color::light_grey() }, + { { 0 * 8, 6 * 16 }, "Visible sats:", Color::light_grey() }, + //{ { 4 * 8, 7 * 16 }, "Altitude:", Color::light_grey() }, + }; FrequencyField field_frequency { { 0 * 8, 0 * 8 }, @@ -88,23 +98,44 @@ private: { 21 * 8, 0, 6 * 8, 4 }, }; - Text text_debug { - { 0, 32, 240, 16 }, + Text text_debug_a { + { 0, 2 * 16, 240, 16 }, "Waiting for frame..." }; + Text text_debug_b { + { 0, 3 * 16, 240, 16 }, + "Waiting for frame..." + }; + + Text text_signature { + { 13 * 8, 5 * 16, 240, 16 }, + "..." + }; + Text text_sats { + { 13 * 8, 6 * 16, 240, 16 }, + "..." + }; + + GeoPos geopos { + { 0, 8 * 16 } + }; + + Button button_see_map { + { 8 * 8, 12 * 16, 14 * 8, 3 * 16 }, + "See on map" + }; MessageHandlerRegistration message_handler_packet { Message::ID::SondePacket, [this](Message* const p) { const auto message = static_cast(p); - //const sonde::Packet packet { message->type, message->packet }; - //this->on_packet(packet); - this->on_packet(message->packet); + const sonde::Packet packet { message->packet, message->type }; + this->on_packet(packet); } }; //void on_packet(const sonde::Packet& packet); - void on_packet(const baseband::Packet& packet); + void on_packet(const sonde::Packet& packet); void set_target_frequency(const uint32_t new_value); uint32_t tuning_frequency() const; }; diff --git a/firmware/baseband/proc_sonde.cpp b/firmware/baseband/proc_sonde.cpp index 9743beb6..35e8791e 100644 --- a/firmware/baseband/proc_sonde.cpp +++ b/firmware/baseband/proc_sonde.cpp @@ -23,7 +23,6 @@ #include "proc_sonde.hpp" #include "dsp_fir_taps.hpp" -//#include "portapack_shared_memory.hpp" #include "event_m4.hpp" diff --git a/firmware/baseband/proc_sonde.hpp b/firmware/baseband/proc_sonde.hpp index e5dba34e..40b8f8db 100644 --- a/firmware/baseband/proc_sonde.hpp +++ b/firmware/baseband/proc_sonde.hpp @@ -28,8 +28,8 @@ * Since the applied shift in ui_sonde.cpp is -fs/4 = -2457600/4 = -614400Hz to avoid the DC spike, the FSK signal ends up being * shifted by 614400 / 8 / 8 = 9600Hz. So decim_1_out should look like this: * - * _______________|__/'\__________ - * -C A B C + * _______________|______/'\______ + * -C A B C * * A is the DC spike at 0Hz * B is the FSK signal shifted right at 9600Hz @@ -40,7 +40,7 @@ * ______________/'\______________ * -C D C * - * A should have been filtered off ? + * Anything unwanted (like A) should have been filtered off * D is B around 0Hz now * * Then the clock_recovery function should be happy :) @@ -113,18 +113,17 @@ private: dsp::decimate::FIRC16xR16x32Decim8 decim_1 { }; dsp::matched_filter::MatchedFilter mf { baseband::ais::square_taps_38k4_1t_p, 2 }; - // AIS: 19200, 9600 clock_recovery::ClockRecovery clock_recovery_fsk_4800 { - 19200, 4800, { 0.0555f }, + 19200, 9600, { 0.0555f }, [this](const float raw_symbol) { const uint_fast8_t sliced_symbol = (raw_symbol >= 0.0f) ? 1 : 0; this->packet_builder_fsk_4800_M10.execute(sliced_symbol); } }; PacketBuilder packet_builder_fsk_4800_M10 { - { 0b11001100110011001010011001001100, 32, 1 }, + { 0b00110011001100110101100110110011, 32, 1 }, { }, - { 50 }, // { 102 * 8 }, + { 102 * 8 }, [this](const baseband::Packet& packet) { const SondePacketMessage message { sonde::Packet::Type::M10, packet }; shared_memory.application_queue.push(message); diff --git a/firmware/common/manchester.cpp b/firmware/common/manchester.cpp index 8c02ad20..bc14c0c1 100644 --- a/firmware/common/manchester.cpp +++ b/firmware/common/manchester.cpp @@ -23,6 +23,10 @@ #include "string_format.hpp" +size_t ManchesterBase::symbols_count() const { + return packet.size() / 2; +} + DecodedSymbol ManchesterDecoder::operator[](const size_t index) const { const size_t encoded_index = index * 2; if( (encoded_index + 1) < packet.size() ) { @@ -34,12 +38,19 @@ DecodedSymbol ManchesterDecoder::operator[](const size_t index) const { } } -size_t ManchesterDecoder::symbols_count() const { - return packet.size() / 2; +DecodedSymbol BiphaseMDecoder::operator[](const size_t index) const { + const size_t encoded_index = index * 2; + if( (encoded_index + 1) < packet.size() ) { + const auto value = packet[encoded_index + 0] != packet[encoded_index + 1]; + const uint_fast8_t error = encoded_index ? (packet[encoded_index - 1] == packet[encoded_index + 0]) : 0; + return { value, error }; + } else { + return { 0, 1 }; + } } FormattedSymbols format_symbols( - const ManchesterDecoder& decoder + const ManchesterBase& decoder ) { const size_t payload_length_decoded = decoder.symbols_count(); const size_t payload_length_hex_characters = (payload_length_decoded + 3) / 4; diff --git a/firmware/common/manchester.hpp b/firmware/common/manchester.hpp index ca2f1e43..91bd1f19 100644 --- a/firmware/common/manchester.hpp +++ b/firmware/common/manchester.hpp @@ -34,25 +34,39 @@ struct DecodedSymbol { uint_fast8_t error; }; -class ManchesterDecoder { +class ManchesterBase { public: - constexpr ManchesterDecoder( + constexpr ManchesterBase( const baseband::Packet& packet, const size_t sense = 0 ) : packet { packet }, sense { sense } { } + + virtual DecodedSymbol operator[](const size_t index) const = 0; - DecodedSymbol operator[](const size_t index) const; - - size_t symbols_count() const; - -private: + virtual size_t symbols_count() const; + + virtual ~ManchesterBase() { }; + +protected: const baseband::Packet& packet; const size_t sense; }; +class ManchesterDecoder : public ManchesterBase { +public: + using ManchesterBase::ManchesterBase; + DecodedSymbol operator[](const size_t index) const; +}; + +class BiphaseMDecoder : public ManchesterBase { +public: + using ManchesterBase::ManchesterBase; + DecodedSymbol operator[](const size_t index) const; +}; + template T operator|(const T& l, const DecodedSymbol& r) { return l | r.value; @@ -64,7 +78,7 @@ struct FormattedSymbols { }; FormattedSymbols format_symbols( - const ManchesterDecoder& decoder + const ManchesterBase& decoder ); void manchester_encode(uint8_t * dest, uint8_t * src, const size_t length, const size_t sense = 0); diff --git a/firmware/common/sonde_packet.cpp b/firmware/common/sonde_packet.cpp index d4e1f097..e3cf2fbe 100644 --- a/firmware/common/sonde_packet.cpp +++ b/firmware/common/sonde_packet.cpp @@ -42,6 +42,33 @@ Packet::Type Packet::type() const { return type_; } +uint32_t Packet::visible_sats() const { + return reader_.read(30 * 8, 8); +} + +uint32_t Packet::GPS_altitude() const { + return reader_.read(22 * 8, 32) / 1000; +} + +float Packet::GPS_latitude() const { + return reader_.read(14 * 8, 32) / ((1ULL << 32) / 360.0); +} + +float Packet::GPS_longitude() const { + return reader_.read(18 * 8, 32) / ((1ULL << 32) / 360.0); +} + +std::string Packet::signature() const { + const auto header = reader_.read(0, 24); + + if (header == 0x649F20) + return "M10"; + else if (header == 0x648F20) + return "M2K2"; + else + return symbols_formatted().data.substr(0, 6); +} + SN Packet::serial_number() const { if (type() == Type::M10) { // See https://github.com/rs1729/RS/blob/master/m10/m10x.c line 606 diff --git a/firmware/common/sonde_packet.hpp b/firmware/common/sonde_packet.hpp index 73612a0f..acd5ef4d 100644 --- a/firmware/common/sonde_packet.hpp +++ b/firmware/common/sonde_packet.hpp @@ -42,8 +42,8 @@ public: }; Packet( - const Type type, - const baseband::Packet& packet + const baseband::Packet& packet, + const Type type ) : packet_ { packet }, decoder_ { packet_ }, reader_ { decoder_ }, @@ -59,16 +59,21 @@ public: Type type() const; SN serial_number() const; + uint32_t visible_sats() const; + uint32_t GPS_altitude() const; + float GPS_latitude() const; + float GPS_longitude() const; + std::string signature() const; FormattedSymbols symbols_formatted() const; bool crc_ok() const; private: - using Reader = FieldReader; + using Reader = FieldReader; const baseband::Packet packet_; - const ManchesterDecoder decoder_; + const BiphaseMDecoder decoder_; const Reader reader_; const Type type_; diff --git a/firmware/portapack-h1-havoc.bin b/firmware/portapack-h1-havoc.bin index fc5a836cd1ec581f16db3a337bed85b6f5e01f05..77fb313af24641768f4dd5b64c45475f601dcf5f 100644 GIT binary patch delta 131054 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 XyCN#kDxCInxy6b93@mYya>4%r1mF|F From 90b76f00d93183257f1e7999f1dc07c3e98c49ee Mon Sep 17 00:00:00 2001 From: Furrtek Date: Sat, 28 Oct 2017 16:34:52 +0200 Subject: [PATCH 2/7] Added cursors in waveform widget Auto unit string format function --- firmware/application/main.cpp | 5 +- firmware/application/string_format.cpp | 28 ++++++++ firmware/application/string_format.hpp | 4 ++ firmware/application/ui_encoders.cpp | 8 +-- firmware/application/ui_encoders.hpp | 2 +- firmware/application/ui_view_wav.cpp | 91 +++++++++++--------------- firmware/application/ui_view_wav.hpp | 23 +------ 7 files changed, 79 insertions(+), 82 deletions(-) diff --git a/firmware/application/main.cpp b/firmware/application/main.cpp index 63913048..0d2ca15c 100755 --- a/firmware/application/main.cpp +++ b/firmware/application/main.cpp @@ -34,7 +34,7 @@ //TODO: Cap Wav viewer position //TODO: Adapt wav viewer position step -//TODO: Optimize wav viewer refresh +//TODO: Use unit_auto_scale //TODO: Remove make_bistream from encoders.cpp, too complex, stinks. bitstream_append should be enough. //TODO: Continue work on proc_afskrx_corr, see python script (it works !) //TODO: Super simple text file viewer @@ -59,10 +59,7 @@ Continuous (Fox-oring) 60s transmit, 240s space (Classic 1/5 min) 60s transmit, 360s space (Classic 1/7 min) */ -//TODO: Use TransmitterView in TEDI/LCR, Numbers, ... //TODO: FreqMan: Remove and rename categories -//TODO: Wav visualizer -//TODO: File browser view ? //TODO: Mousejack ? //TODO: Move frequencykeypad from ui_receiver to ui_widget (used everywhere) //TODO: ADS-B draw trajectory + GPS coordinates + scale, and playback diff --git a/firmware/application/string_format.cpp b/firmware/application/string_format.cpp index 2ad90b1f..f1213d12 100644 --- a/firmware/application/string_format.cpp +++ b/firmware/application/string_format.cpp @@ -170,3 +170,31 @@ std::string to_string_timestamp(const rtc::RTC& value) { to_string_dec_uint(value.minute(), 2, '0') + to_string_dec_uint(value.second(), 2, '0'); } + +std::string unit_auto_scale(double n, const uint32_t base_nano, uint32_t precision) { + const uint32_t powers_of_ten[5] = { 1, 10, 100, 1000, 10000 }; + std::string string { "" }; + uint32_t prefix_index = base_nano; + double integer_part; + double fractional_part; + + precision = std::min((uint32_t)4, precision); + + while (n > 1000) { + n /= 1000.0; + prefix_index++; + } + + fractional_part = modf(n, &integer_part) * powers_of_ten[precision]; + if (fractional_part < 0) + fractional_part = -fractional_part; + + string = to_string_dec_int(integer_part); + if (precision) + string += '.' + to_string_dec_uint(fractional_part, precision, '0'); + + if (prefix_index != 3) + string += unit_prefix[prefix_index]; + + return string; +} diff --git a/firmware/application/string_format.hpp b/firmware/application/string_format.hpp index 8af71b15..40183167 100644 --- a/firmware/application/string_format.hpp +++ b/firmware/application/string_format.hpp @@ -35,6 +35,8 @@ enum TimeFormat { HM = 2 }; +const char unit_prefix[7] { 'n', 'u', 'm', 0, 'k', 'M', 'G' }; + // TODO: Allow l=0 to not fill/justify? Already using this way in ui_spectrum.hpp... std::string to_string_bin(const uint32_t n, const uint8_t l = 0); std::string to_string_dec_uint(const uint32_t n, const int32_t l = 0, const char fill = 0); @@ -47,4 +49,6 @@ std::string to_string_short_freq(const uint64_t f); std::string to_string_datetime(const rtc::RTC& value, const TimeFormat format = YMDHMS); std::string to_string_timestamp(const rtc::RTC& value); +std::string unit_auto_scale(double n, const uint32_t base_nano, uint32_t precision); + #endif/*__STRING_FORMAT_H__*/ diff --git a/firmware/application/ui_encoders.cpp b/firmware/application/ui_encoders.cpp index b985d8b7..9ac1e3b5 100644 --- a/firmware/application/ui_encoders.cpp +++ b/firmware/application/ui_encoders.cpp @@ -128,12 +128,8 @@ void EncodersConfigView::on_show() { void EncodersConfigView::draw_waveform() { size_t length = frame_fragments.length(); - for (size_t n = 0; n < length; n++) { - if (frame_fragments[n] == '0') - waveform_buffer[n] = 0; - else - waveform_buffer[n] = 1; - } + for (size_t n = 0; n < length; n++) + waveform_buffer[n] = (frame_fragments[n] == '0') ? 0 : 1; waveform.set_length(length); waveform.set_dirty(); diff --git a/firmware/application/ui_encoders.hpp b/firmware/application/ui_encoders.hpp index 4684db35..43165220 100644 --- a/firmware/application/ui_encoders.hpp +++ b/firmware/application/ui_encoders.hpp @@ -55,7 +55,7 @@ private: //uint8_t scan_count; //double scan_progress; //unsigned int scan_index; - int8_t waveform_buffer[512]; + int16_t waveform_buffer[512]; const encoder_def_t * encoder_def { }; //uint8_t enc_type = 0; diff --git a/firmware/application/ui_view_wav.cpp b/firmware/application/ui_view_wav.cpp index 4719053e..8e403c0e 100644 --- a/firmware/application/ui_view_wav.cpp +++ b/firmware/application/ui_view_wav.cpp @@ -32,29 +32,34 @@ namespace ui { void ViewWavView::update_scale(int32_t new_scale) { scale = new_scale; ns_per_pixel = (1000000000UL / wav_reader->sample_rate()) * scale; - field_pos_samples.set_step(scale); refresh_waveform(); + refresh_measurements(); } void ViewWavView::refresh_waveform() { - int16_t sample; - for (size_t i = 0; i < 240; i++) { wav_reader->data_seek(position + (i * scale)); - wav_reader->read(&sample, 2); - - waveform_buffer[i] = sample >> 8; + wav_reader->read(&waveform_buffer[i], sizeof(int16_t)); } + waveform.set_dirty(); + + // Window + uint64_t w_start = (position * 240) / wav_reader->sample_count(); + uint64_t w_width = (scale * 240) / (wav_reader->sample_count() / 240); + display.fill_rectangle({ 0, 10 * 16 + 1, 240, 16 }, Color::black()); + display.fill_rectangle({ (Coord)w_start, 21 * 8, (Dim)w_width + 1, 8 }, Color::white()); + display.draw_line({ 0, 10 * 16 + 1 }, { (Coord)w_start, 21 * 8 }, Color::white()); + display.draw_line({ 239, 10 * 16 + 1 }, { (Coord)(w_start + w_width), 21 * 8 }, Color::white()); +} + +void ViewWavView::refresh_measurements() { uint64_t span_ns = ns_per_pixel * abs(field_cursor_b.value() - field_cursor_a.value()); + if (span_ns) - text_delta.set(to_string_dec_uint(span_ns / 1000) + "us (" + to_string_dec_uint(1000000000UL / span_ns) + "Hz)"); + text_delta.set(unit_auto_scale(span_ns, 0, 3) + "s (" + to_string_dec_uint(1000000000UL / span_ns) + "Hz)"); else text_delta.set("0us ?Hz"); - - //waveform.set_dirty(); - - set_dirty(); } void ViewWavView::paint(Painter& painter) { @@ -62,22 +67,9 @@ void ViewWavView::paint(Painter& painter) { painter.draw_hline({ 0, 6 * 16 - 1 }, 240, Color::grey()); painter.draw_hline({ 0, 10 * 16 }, 240, Color::grey()); - // 0~127 to 0~15 color index + // Overall amplitude view, 0~127 to 0~255 color index for (size_t i = 0; i < 240; i++) - painter.draw_vline({ (Coord)i, 11 * 16 }, 8, amplitude_colors[amplitude_buffer[i] >> 3]); - - // Window - uint64_t w_start = (position * 240) / wav_reader->sample_count(); - uint64_t w_width = (scale * 240) / (wav_reader->sample_count() / 240); - painter.fill_rectangle({ 0, 10 * 16 + 1, 240, 16 }, Color::black()); - painter.fill_rectangle({ (Coord)w_start, 21 * 8, (Dim)w_width + 1, 8 }, Color::white()); - display.draw_line({ 0, 10 * 16 + 1 }, { (Coord)w_start, 21 * 8 }, Color::white()); - display.draw_line({ 239, 10 * 16 + 1 }, { (Coord)(w_start + w_width), 21 * 8 }, Color::white()); - - // Cursors - painter.fill_rectangle({ 0, 6 * 16 - 8, 240, 7 }, Color::black()); - painter.draw_vline({ (Coord)field_cursor_a.value(), 11 * 8 }, 7, Color::cyan()); - painter.draw_vline({ (Coord)field_cursor_b.value(), 11 * 8 }, 7, Color::magenta()); + painter.draw_vline({ (Coord)i, 11 * 16 }, 8, spectrum_rgb2_lut[amplitude_buffer[i] << 1]); } void ViewWavView::on_pos_changed() { @@ -101,7 +93,7 @@ void ViewWavView::load_wav(std::filesystem::path file_path) { text_filename.set(file_path.filename().string()); auto ms_duration = wav_reader->ms_duration(); - text_duration.set(to_string_dec_uint(ms_duration / 1000) + "s" + to_string_dec_uint(ms_duration % 1000) + "ms"); + text_duration.set(unit_auto_scale(ms_duration, 2, 3) + "s"); wav_reader->rewind(); @@ -117,13 +109,7 @@ void ViewWavView::load_wav(std::filesystem::path file_path) { for (size_t s = 0; s < subsampling_factor; s++) { wav_reader->data_seek(((i * subsampling_factor) + s) * skip); wav_reader->read(&sample, 2); - - if (sample < 0) - sample = -sample; - - sample >>= 8; - - average += sample; + average += (abs(sample) >> 8); } amplitude_buffer[i] = average / subsampling_factor; @@ -135,18 +121,10 @@ void ViewWavView::load_wav(std::filesystem::path file_path) { void ViewWavView::reset_controls() { field_scale.set_value(1); - field_scale.on_change = [this](int32_t value) { - update_scale(value); - }; - field_pos_seconds.set_value(0); - field_pos_seconds.on_change = [this](int32_t) { - on_pos_changed(); - }; field_pos_samples.set_value(0); - field_pos_samples.on_change = [this](int32_t) { - on_pos_changed(); - }; + field_cursor_a.set_value(0); + field_cursor_b.set_value(0); } ViewWavView::ViewWavView( @@ -175,19 +153,30 @@ ViewWavView::ViewWavView( auto open_view = nav.push(); open_view->on_changed = [this](std::filesystem::path file_path) { load_wav(file_path); + field_pos_seconds.focus(); }; }; - reset_controls(); + field_scale.on_change = [this](int32_t value) { + update_scale(value); + }; + field_pos_seconds.on_change = [this](int32_t) { + on_pos_changed(); + }; + field_pos_samples.on_change = [this](int32_t) { + on_pos_changed(); + }; - field_cursor_a.set_value(0); - field_cursor_a.on_change = [this](int32_t) { - refresh_waveform(); + field_cursor_a.on_change = [this](int32_t v) { + waveform.set_cursor(0, v); + refresh_measurements(); }; - field_cursor_b.set_value(0); - field_cursor_b.on_change = [this](int32_t) { - refresh_waveform(); + field_cursor_b.on_change = [this](int32_t v) { + waveform.set_cursor(1, v); + refresh_measurements(); }; + + reset_controls(); } void ViewWavView::focus() { diff --git a/firmware/application/ui_view_wav.hpp b/firmware/application/ui_view_wav.hpp index bd9c5525..3a67ed2f 100644 --- a/firmware/application/ui_view_wav.hpp +++ b/firmware/application/ui_view_wav.hpp @@ -23,6 +23,7 @@ #include "ui.hpp" #include "ui_navigation.hpp" #include "io_wave.hpp" +#include "spectrum_color_lut.hpp" namespace ui { @@ -41,32 +42,14 @@ private: void update_scale(int32_t new_scale); void refresh_waveform(); + void refresh_measurements(); void on_pos_changed(); void load_wav(std::filesystem::path file_path); void reset_controls(); - - const Color amplitude_colors[16] = { - { 0x00, 0x3F, 0xB0 }, - { 0x00, 0x6D, 0xB5 }, - { 0x00, 0x9C, 0xBA }, - { 0x00, 0xBF, 0xB0 }, - { 0x00, 0xC5, 0x86 }, - { 0x00, 0xCA, 0x5A }, - { 0x00, 0xCF, 0x2A }, - { 0x06, 0xD4, 0x00 }, - { 0x3A, 0xDA, 0x00 }, - { 0x71, 0xDF, 0x00 }, - { 0xAA, 0xE4, 0x00 }, - { 0xE6, 0xE9, 0x00 }, - { 0xEF, 0xB9, 0x00 }, - { 0xF4, 0x83, 0x00 }, - { 0xF9, 0x4B, 0x00 }, - { 0xFF, 0x0F, 0x00 } - }; std::unique_ptr wav_reader { }; - int8_t waveform_buffer[240] { }; + int16_t waveform_buffer[240] { }; uint8_t amplitude_buffer[240] { }; int32_t scale { 1 }; uint64_t ns_per_pixel { }; From 6ff8249a4f4710960c6e7cb2187f2e4276983866 Mon Sep 17 00:00:00 2001 From: furrtek Date: Sat, 28 Oct 2017 19:16:06 +0200 Subject: [PATCH 3/7] Added logging, serial number and battery voltage display to radiosonde RX Added decimal degrees display to geopos widget --- firmware/application/ui_geomap.cpp | 34 ++++++++++++++++++------ firmware/application/ui_geomap.hpp | 28 +++++++++++++------- firmware/application/ui_sonde.cpp | 40 ++++++++++++++-------------- firmware/application/ui_sonde.hpp | 42 ++++++++++++++---------------- firmware/baseband/proc_sonde.hpp | 2 +- firmware/common/sonde_packet.cpp | 34 ++++++++++++++---------- firmware/common/sonde_packet.hpp | 6 ++--- 7 files changed, 106 insertions(+), 80 deletions(-) diff --git a/firmware/application/ui_geomap.cpp b/firmware/application/ui_geomap.cpp index a81527c2..27a1b106 100644 --- a/firmware/application/ui_geomap.cpp +++ b/firmware/application/ui_geomap.cpp @@ -29,12 +29,14 @@ using namespace portapack; +#include "string_format.hpp" + namespace ui { GeoPos::GeoPos( const Point pos ) { - set_parent_rect({pos, {30 * 8, 3 * 16}}); + set_parent_rect({pos, { 30 * 8, 3 * 16 }}); add_children({ &labels_position, @@ -42,9 +44,11 @@ GeoPos::GeoPos( &field_lat_degrees, &field_lat_minutes, &field_lat_seconds, + &text_lat_decimal, &field_lon_degrees, &field_lon_minutes, - &field_lon_seconds + &field_lon_seconds, + &text_lon_decimal }); // Defaults @@ -53,8 +57,22 @@ GeoPos::GeoPos( set_lon(0); const auto changed_fn = [this](int32_t) { + float lat_value = lat(); + float lon_value = lon(); + double integer_part; + double fractional_part; + + fractional_part = modf(lat_value, &integer_part) * 100000; + if (fractional_part < 0) + fractional_part = -fractional_part; + text_lat_decimal.set(to_string_dec_int(integer_part) + "." + to_string_dec_uint(fractional_part, 5)); + fractional_part = modf(lon_value, &integer_part) * 100000; + if (fractional_part < 0) + fractional_part = -fractional_part; + text_lon_decimal.set(to_string_dec_int(integer_part) + "." + to_string_dec_uint(fractional_part, 5)); + if (on_change && report_change) - on_change(altitude(), lat(), lon()); + on_change(altitude(), lat_value, lon_value); }; field_altitude.on_change = changed_fn; @@ -66,6 +84,11 @@ GeoPos::GeoPos( field_lon_seconds.on_change = changed_fn; } +void GeoPos::set_read_only(bool v) { + for(auto child : children_) + child->set_focusable(!v); +} + // Stupid hack to avoid an event loop void GeoPos::set_report_change(bool v) { report_change = v; @@ -103,10 +126,6 @@ int32_t GeoPos::altitude() { return field_altitude.value(); }; -void GeoPos::set_read_only(bool v) { - set_focusable(~v); -}; - GeoMap::GeoMap( Rect parent_rect ) : Widget { parent_rect } @@ -117,7 +136,6 @@ GeoMap::GeoMap( void GeoMap::paint(Painter& painter) { Coord line; std::array map_line_buffer; - //Color border; const auto r = screen_rect(); // Ony redraw map if it moved by at least 1 pixel diff --git a/firmware/application/ui_geomap.hpp b/firmware/application/ui_geomap.hpp index cd105ac3..df994006 100644 --- a/firmware/application/ui_geomap.hpp +++ b/firmware/application/ui_geomap.hpp @@ -60,13 +60,13 @@ private: bool report_change { true }; Labels labels_position { - { { 2 * 8, 0 * 16 }, "Alt: feet", Color::light_grey() }, - { { 2 * 8, 1 * 16 }, "Lat: * ' \"", Color::light_grey() }, // No ° symbol in 8x16 font - { { 2 * 8, 2 * 16 }, "Lon: * ' \"", Color::light_grey() }, + { { 1 * 8, 0 * 16 }, "Alt: feet", Color::light_grey() }, + { { 1 * 8, 1 * 16 }, "Lat: * ' \"", Color::light_grey() }, // No ° symbol in 8x16 font + { { 1 * 8, 2 * 16 }, "Lon: * ' \"", Color::light_grey() }, }; NumberField field_altitude { - { 7 * 8, 0 * 16 }, + { 6 * 8, 0 * 16 }, 5, { -1000, 50000 }, 250, @@ -74,23 +74,31 @@ private: }; NumberField field_lat_degrees { - { 7 * 8, 1 * 16 }, 4, { -90, 90 }, 1, ' ' + { 5 * 8, 1 * 16 }, 4, { -90, 90 }, 1, ' ' }; NumberField field_lat_minutes { - { 12 * 8, 1 * 16 }, 2, { 0, 59 }, 1, ' ' + { 10 * 8, 1 * 16 }, 2, { 0, 59 }, 1, ' ' }; NumberField field_lat_seconds { - { 15 * 8, 1 * 16 }, 2, { 0, 59 }, 1, ' ' + { 13 * 8, 1 * 16 }, 2, { 0, 59 }, 1, ' ' + }; + Text text_lat_decimal { + { 17 * 8, 1 * 16, 13 * 8, 1 * 16 }, + "" }; NumberField field_lon_degrees { - { 7 * 8, 2 * 16 }, 4, { -180, 180 }, 1, ' ' + { 5 * 8, 2 * 16 }, 4, { -180, 180 }, 1, ' ' }; NumberField field_lon_minutes { - { 12 * 8, 2 * 16 }, 2, { 0, 59 }, 1, ' ' + { 10 * 8, 2 * 16 }, 2, { 0, 59 }, 1, ' ' }; NumberField field_lon_seconds { - { 15 * 8, 2 * 16 }, 2, { 0, 59 }, 1, ' ' + { 13 * 8, 2 * 16 }, 2, { 0, 59 }, 1, ' ' + }; + Text text_lon_decimal { + { 17 * 8, 2 * 16, 13 * 8, 1 * 16 }, + "" }; }; diff --git a/firmware/application/ui_sonde.cpp b/firmware/application/ui_sonde.cpp index 33a7132c..b02b9fcc 100644 --- a/firmware/application/ui_sonde.cpp +++ b/firmware/application/ui_sonde.cpp @@ -21,20 +21,17 @@ */ #include "ui_sonde.hpp" - #include "baseband_api.hpp" #include "portapack.hpp" using namespace portapack; -//#include "manchester.hpp" - #include "string_format.hpp" -/*void SondeLogger::on_packet(const sonde::Packet& packet) { +void SondeLogger::on_packet(const sonde::Packet& packet) { const auto formatted = packet.symbols_formatted(); - log_file.write_entry(packet.received_at(), formatted.data + "/" + formatted.errors); -}*/ + log_file.write_entry(packet.received_at(), formatted.data); +} namespace ui { @@ -43,15 +40,15 @@ SondeView::SondeView(NavigationView& nav) { add_children({ &labels, + &field_frequency, &field_rf_amp, &field_lna, &field_vga, &rssi, - &field_frequency, - &text_debug_a, - &text_debug_b, + &check_log, &text_signature, - &text_sats, + &text_serial, + &text_voltage, &geopos, &button_see_map }); @@ -73,6 +70,10 @@ SondeView::SondeView(NavigationView& nav) { geopos.set_read_only(true); + check_log.on_select = [this](Checkbox&, bool v) { + logging = v; + }; + radio::enable({ tuning_frequency(), sampling_rate, @@ -92,10 +93,10 @@ SondeView::SondeView(NavigationView& nav) { 0); }; - /*logger = std::make_unique(); - if( logger ) { + logger = std::make_unique(); + if (logger) logger->append(u"sonde.txt"); - }*/ + } SondeView::~SondeView() { @@ -108,14 +109,11 @@ void SondeView::focus() { } void SondeView::on_packet(const sonde::Packet& packet) { - const auto hex_formatted = packet.symbols_formatted(); - - text_debug_a.set(hex_formatted.data.substr(0, 30)); - text_debug_b.set(hex_formatted.errors.substr(0, 30)); + //const auto hex_formatted = packet.symbols_formatted(); text_signature.set(packet.signature()); - - text_sats.set(to_string_dec_uint(packet.visible_sats())); + text_serial.set(packet.serial_number()); + text_voltage.set(to_string_dec_uint(packet.battery_voltage()) + "mV"); altitude = packet.GPS_altitude(); latitude = packet.GPS_latitude(); @@ -125,9 +123,9 @@ void SondeView::on_packet(const sonde::Packet& packet) { geopos.set_lat(latitude); geopos.set_lon(longitude); - /*if( logger ) { + if (logger && logging) { logger->on_packet(packet); - }*/ + } /*if( packet.crc_ok() ) { }*/ diff --git a/firmware/application/ui_sonde.hpp b/firmware/application/ui_sonde.hpp index c0863251..d2630c8f 100644 --- a/firmware/application/ui_sonde.hpp +++ b/firmware/application/ui_sonde.hpp @@ -26,7 +26,6 @@ #include "ui_navigation.hpp" #include "ui_receiver.hpp" #include "ui_rssi.hpp" -#include "ui_channel.hpp" #include "ui_geomap.hpp" #include "event_m0.hpp" @@ -35,12 +34,10 @@ #include "sonde_packet.hpp" -#include "recent_entries.hpp" - #include #include -/*class SondeLogger { +class SondeLogger { public: Optional append(const std::filesystem::path& filename) { return log_file.append(filename); @@ -50,7 +47,7 @@ public: private: LogFile log_file { }; -};*/ +}; namespace ui { @@ -67,16 +64,17 @@ public: std::string title() const override { return "Radiosonde RX"; }; private: - //std::unique_ptr logger { }; + std::unique_ptr logger { }; uint32_t target_frequency_ { 402000000 }; + bool logging { false }; int32_t altitude { 0 }; float latitude { 0 }; float longitude { 0 }; Labels labels { - { { 3 * 8, 5 * 16 }, "Signature:", Color::light_grey() }, - { { 0 * 8, 6 * 16 }, "Visible sats:", Color::light_grey() }, - //{ { 4 * 8, 7 * 16 }, "Altitude:", Color::light_grey() }, + { { 0 * 8, 2 * 16 }, "Signature:", Color::light_grey() }, + { { 3 * 8, 3 * 16 }, "Serial:", Color::light_grey() }, + { { 4 * 8, 4 * 16 }, "Vbatt:", Color::light_grey() } }; FrequencyField field_frequency { @@ -98,30 +96,31 @@ private: { 21 * 8, 0, 6 * 8, 4 }, }; - Text text_debug_a { - { 0, 2 * 16, 240, 16 }, - "Waiting for frame..." - }; - Text text_debug_b { - { 0, 3 * 16, 240, 16 }, - "Waiting for frame..." + Checkbox check_log { + { 22 * 8, 2 * 16 + 8 }, + 3, + "Log" }; Text text_signature { - { 13 * 8, 5 * 16, 240, 16 }, + { 10 * 8, 2 * 16, 10 * 8, 16 }, "..." }; - Text text_sats { - { 13 * 8, 6 * 16, 240, 16 }, + Text text_serial { + { 10 * 8, 3 * 16, 11 * 8, 16 }, + "..." + }; + Text text_voltage { + { 10 * 8, 4 * 16, 10 * 8, 16 }, "..." }; GeoPos geopos { - { 0, 8 * 16 } + { 0, 6 * 16 } }; Button button_see_map { - { 8 * 8, 12 * 16, 14 * 8, 3 * 16 }, + { 8 * 8, 10 * 16, 14 * 8, 3 * 16 }, "See on map" }; @@ -134,7 +133,6 @@ private: } }; - //void on_packet(const sonde::Packet& packet); void on_packet(const sonde::Packet& packet); void set_target_frequency(const uint32_t new_value); uint32_t tuning_frequency() const; diff --git a/firmware/baseband/proc_sonde.hpp b/firmware/baseband/proc_sonde.hpp index 40b8f8db..9f6cca05 100644 --- a/firmware/baseband/proc_sonde.hpp +++ b/firmware/baseband/proc_sonde.hpp @@ -123,7 +123,7 @@ private: PacketBuilder packet_builder_fsk_4800_M10 { { 0b00110011001100110101100110110011, 32, 1 }, { }, - { 102 * 8 }, + { 88 * 2 * 8 }, [this](const baseband::Packet& packet) { const SondePacketMessage message { sonde::Packet::Type::M10, packet }; shared_memory.application_queue.push(message); diff --git a/firmware/common/sonde_packet.cpp b/firmware/common/sonde_packet.cpp index e3cf2fbe..088d8777 100644 --- a/firmware/common/sonde_packet.cpp +++ b/firmware/common/sonde_packet.cpp @@ -21,8 +21,7 @@ */ #include "sonde_packet.hpp" - -//#include "crc.hpp" +#include "string_format.hpp" namespace sonde { @@ -42,12 +41,8 @@ Packet::Type Packet::type() const { return type_; } -uint32_t Packet::visible_sats() const { - return reader_.read(30 * 8, 8); -} - uint32_t Packet::GPS_altitude() const { - return reader_.read(22 * 8, 32) / 1000; + return (reader_.read(22 * 8, 32) / 1000) - 48; } float Packet::GPS_latitude() const { @@ -58,6 +53,10 @@ float Packet::GPS_longitude() const { return reader_.read(18 * 8, 32) / ((1ULL << 32) / 360.0); } +uint32_t Packet::battery_voltage() const { + return (reader_.read(69 * 8, 8) + (reader_.read(70 * 8, 8) << 8)) * 1000 / 150; +} + std::string Packet::signature() const { const auto header = reader_.read(0, 24); @@ -66,18 +65,25 @@ std::string Packet::signature() const { else if (header == 0x648F20) return "M2K2"; else - return symbols_formatted().data.substr(0, 6); + return "0x" + symbols_formatted().data.substr(0, 6); } -SN Packet::serial_number() const { +std::string Packet::serial_number() const { if (type() == Type::M10) { // See https://github.com/rs1729/RS/blob/master/m10/m10x.c line 606 - return (reader_.read(2 * 8, 8) << 20) | - (reader_.read(0, 4) << 16) | - (reader_.read(4 * 8, 3) << 13) | - (reader_.read(4 * 8 + 3, 5) << 8) | - reader_.read(3 * 8, 8); + // Starting at byte #93: 00000000 11111111 22222222 33333333 44444444 + // CCCC AAAABBBB + // 44444444 33333333 + // DDDEEEEE EEEEEEEE + + return to_string_hex(reader_.read(93 * 8 + 16, 4), 1) + + to_string_dec_uint(reader_.read(93 * 8 + 20, 4), 2, '0') + " " + + to_string_hex(reader_.read(93 * 8 + 4, 4), 1) + " " + + to_string_dec_uint(reader_.read(93 * 8 + 24, 3), 1) + + to_string_dec_uint(reader_.read(93 * 8 + 27, 13), 4, '0'); + } + return 0; } diff --git a/firmware/common/sonde_packet.hpp b/firmware/common/sonde_packet.hpp index acd5ef4d..d9658a54 100644 --- a/firmware/common/sonde_packet.hpp +++ b/firmware/common/sonde_packet.hpp @@ -32,8 +32,6 @@ namespace sonde { -using SN = uint64_t; - class Packet { public: enum class Type : uint32_t { @@ -58,12 +56,12 @@ public: Timestamp received_at() const; Type type() const; - SN serial_number() const; - uint32_t visible_sats() const; + std::string serial_number() const; uint32_t GPS_altitude() const; float GPS_latitude() const; float GPS_longitude() const; std::string signature() const; + uint32_t battery_voltage() const; FormattedSymbols symbols_formatted() const; From e88bbf185020869b02db27a1d1a0add72390fbae Mon Sep 17 00:00:00 2001 From: furrtek Date: Sat, 28 Oct 2017 19:17:50 +0200 Subject: [PATCH 4/7] Updated main.cpp --- firmware/application/main.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/firmware/application/main.cpp b/firmware/application/main.cpp index 63913048..9a2c2ad4 100755 --- a/firmware/application/main.cpp +++ b/firmware/application/main.cpp @@ -34,7 +34,6 @@ //TODO: Cap Wav viewer position //TODO: Adapt wav viewer position step -//TODO: Optimize wav viewer refresh //TODO: Remove make_bistream from encoders.cpp, too complex, stinks. bitstream_append should be enough. //TODO: Continue work on proc_afskrx_corr, see python script (it works !) //TODO: Super simple text file viewer From 046d1c7c15e93436493a5b63c8a9c300427e6b93 Mon Sep 17 00:00:00 2001 From: Furrtek Date: Sat, 28 Oct 2017 19:27:18 +0200 Subject: [PATCH 5/7] Updated ui_widget.cpp --- firmware/common/ui_widget.cpp | 41 +++++++++++++++++++++++++---------- firmware/common/ui_widget.hpp | 9 ++++++-- 2 files changed, 37 insertions(+), 13 deletions(-) diff --git a/firmware/common/ui_widget.cpp b/firmware/common/ui_widget.cpp index d8babd5a..3c9bc96a 100644 --- a/firmware/common/ui_widget.cpp +++ b/firmware/common/ui_widget.cpp @@ -1465,7 +1465,7 @@ int32_t SymField::clip_value(const uint32_t index, const uint32_t value) { Waveform::Waveform( Rect parent_rect, - int8_t * data, + int16_t * data, uint32_t length, uint32_t offset, bool digital, @@ -1480,6 +1480,16 @@ Waveform::Waveform( //set_focusable(false); } +void Waveform::set_cursor(const uint32_t i, const int16_t position) { + if (i < 2) { + if (position != cursors[i]) { + cursors[i] = position; + set_dirty(); + } + show_cursors = true; + } +} + void Waveform::set_offset(const uint32_t new_offset) { if (new_offset != offset_) { offset_ = new_offset; @@ -1495,28 +1505,26 @@ void Waveform::set_length(const uint32_t new_length) { } void Waveform::paint(Painter& painter) { - uint32_t n, point_count; + size_t n; Coord y, y_offset = screen_rect().location().y(); Coord prev_x = screen_rect().location().x(), prev_y; float x, x_inc; Dim h = screen_rect().size().height(); - int8_t * data_start = data_ + offset_; + const float y_scale = (float)(h - 1) / 65536.0; + int16_t * data_start = data_ + offset_; // Clear painter.fill_rectangle(screen_rect(), Color::black()); + if (!length_) return; + x_inc = (float)screen_rect().size().width() / length_; - point_count = length_; - const float y_scale = (float)(h - 1) / 256; // TODO: Make variable - - if (!point_count) return; - if (digital_) { // Digital waveform: each value is an horizontal line x = 0; h--; - for (n = 0; n < point_count; n++) { + for (n = 0; n < length_; n++) { y = *(data_start++) ? h : 0; if (n) { @@ -1532,9 +1540,9 @@ void Waveform::paint(Painter& painter) { } else { // Analog waveform: each value is a point's Y coordinate x = prev_x + x_inc; - h = h / 2; + h /= 2; prev_y = y_offset + h - (*(data_start++) * y_scale); - for (n = 1; n < point_count; n++) { + for (n = 1; n < length_; n++) { y = y_offset + h - (*(data_start++) * y_scale); display.draw_line( {prev_x, prev_y}, {(Coord)x, y}, color_); @@ -1543,6 +1551,17 @@ void Waveform::paint(Painter& painter) { x += x_inc; } } + + // Cursors + if (show_cursors) { + for (n = 0; n < 2; n++) { + painter.draw_vline( + Point(std::min(screen_rect().size().width(), (int)cursors[n]), y_offset), + screen_rect().size().height(), + cursor_colors[n] + ); + } + } } diff --git a/firmware/common/ui_widget.hpp b/firmware/common/ui_widget.hpp index 995db50e..7874d448 100644 --- a/firmware/common/ui_widget.hpp +++ b/firmware/common/ui_widget.hpp @@ -598,7 +598,7 @@ private: class Waveform : public Widget { public: - Waveform(Rect parent_rect, int8_t * data, uint32_t length, uint32_t offset, bool digital, Color color); + Waveform(Rect parent_rect, int16_t * data, uint32_t length, uint32_t offset, bool digital, Color color); Waveform(const Waveform&) = delete; Waveform(Waveform&&) = delete; @@ -607,15 +607,20 @@ public: void set_offset(const uint32_t new_offset); void set_length(const uint32_t new_length); + void set_cursor(const uint32_t i, const int16_t position); void paint(Painter& painter) override; private: - int8_t * data_; + const Color cursor_colors[2] = { Color::cyan(), Color::magenta() }; + + int16_t * data_; uint32_t length_; uint32_t offset_; bool digital_ { false }; Color color_; + int16_t cursors[2] { }; + bool show_cursors { false }; }; class VuMeter : public Widget { From d5aec94eed8ee55cef5b564de9e6ec86e7f746b4 Mon Sep 17 00:00:00 2001 From: furrtek Date: Sat, 28 Oct 2017 20:22:55 +0200 Subject: [PATCH 6/7] Added unit parameter for geopos widget, updated binary --- firmware/application/ui_adsb_rx.cpp | 1 + firmware/application/ui_adsb_tx.cpp | 1 + firmware/application/ui_adsb_tx.hpp | 3 ++- firmware/application/ui_geomap.cpp | 13 +++++++++++-- firmware/application/ui_geomap.hpp | 20 +++++++++++++++++--- firmware/application/ui_sonde.cpp | 3 ++- firmware/application/ui_sonde.hpp | 5 +++-- firmware/portapack-h1-havoc.bin | Bin 929160 -> 931832 bytes 8 files changed, 37 insertions(+), 9 deletions(-) diff --git a/firmware/application/ui_adsb_rx.cpp b/firmware/application/ui_adsb_rx.cpp index 508f2c55..fcb47ea0 100644 --- a/firmware/application/ui_adsb_rx.cpp +++ b/firmware/application/ui_adsb_rx.cpp @@ -161,6 +161,7 @@ ADSBRxDetailsView::ADSBRxDetailsView( geomap_view = nav.push( entry_copy.callsign, entry_copy.pos.altitude, + GeoPos::alt_unit::FEET, entry_copy.pos.latitude, entry_copy.pos.longitude, 0, diff --git a/firmware/application/ui_adsb_tx.cpp b/firmware/application/ui_adsb_tx.cpp index ada4d99c..94da2343 100644 --- a/firmware/application/ui_adsb_tx.cpp +++ b/firmware/application/ui_adsb_tx.cpp @@ -89,6 +89,7 @@ ADSBPositionView::ADSBPositionView( button_set_map.on_select = [this, &nav](Button&) { nav.push( geopos.altitude(), + GeoPos::alt_unit::FEET, geopos.lat(), geopos.lon(), [this](int32_t altitude, float lat, float lon) { diff --git a/firmware/application/ui_adsb_tx.hpp b/firmware/application/ui_adsb_tx.hpp index 927d543f..f68da241 100644 --- a/firmware/application/ui_adsb_tx.hpp +++ b/firmware/application/ui_adsb_tx.hpp @@ -55,7 +55,8 @@ public: private: GeoPos geopos { - { 0, 2 * 16 } + { 0, 2 * 16 }, + GeoPos::FEET }; Button button_set_map { diff --git a/firmware/application/ui_geomap.cpp b/firmware/application/ui_geomap.cpp index 27a1b106..724665a0 100644 --- a/firmware/application/ui_geomap.cpp +++ b/firmware/application/ui_geomap.cpp @@ -34,13 +34,16 @@ using namespace portapack; namespace ui { GeoPos::GeoPos( - const Point pos -) { + const Point pos, + const alt_unit altitude_unit +) : altitude_unit_(altitude_unit) { + set_parent_rect({pos, { 30 * 8, 3 * 16 }}); add_children({ &labels_position, &field_altitude, + &text_alt_unit, &field_lat_degrees, &field_lat_minutes, &field_lat_seconds, @@ -82,6 +85,8 @@ GeoPos::GeoPos( field_lon_degrees.on_change = changed_fn; field_lon_minutes.on_change = changed_fn; field_lon_seconds.on_change = changed_fn; + + text_alt_unit.set(altitude_unit_ ? "m" : "ft"); } void GeoPos::set_read_only(bool v) { @@ -283,12 +288,14 @@ GeoMapView::GeoMapView( NavigationView& nav, const std::string& tag, int32_t altitude, + GeoPos::alt_unit altitude_unit, float lat, float lon, float angle, const std::function on_close ) : nav_ (nav), altitude_ (altitude), + altitude_unit_ (altitude_unit), lat_ (lat), lon_ (lon), angle_ (angle), @@ -314,11 +321,13 @@ GeoMapView::GeoMapView( GeoMapView::GeoMapView( NavigationView& nav, int32_t altitude, + GeoPos::alt_unit altitude_unit, float lat, float lon, const std::function on_done ) : nav_ (nav), altitude_ (altitude), + altitude_unit_ (altitude_unit), lat_ (lat), lon_ (lon) { diff --git a/firmware/application/ui_geomap.hpp b/firmware/application/ui_geomap.hpp index df994006..45a9479b 100644 --- a/firmware/application/ui_geomap.hpp +++ b/firmware/application/ui_geomap.hpp @@ -39,9 +39,14 @@ enum GeoMapMode { class GeoPos : public View { public: + enum alt_unit { + FEET = 0, + METERS + }; + std::function on_change { }; - GeoPos(const Point pos); + GeoPos(const Point pos, const alt_unit altitude_unit); void focus() override; @@ -58,9 +63,10 @@ public: private: bool read_only { false }; bool report_change { true }; + alt_unit altitude_unit_ { }; Labels labels_position { - { { 1 * 8, 0 * 16 }, "Alt: feet", Color::light_grey() }, + { { 1 * 8, 0 * 16 }, "Alt:", Color::light_grey() }, { { 1 * 8, 1 * 16 }, "Lat: * ' \"", Color::light_grey() }, // No ° symbol in 8x16 font { { 1 * 8, 2 * 16 }, "Lon: * ' \"", Color::light_grey() }, }; @@ -72,6 +78,10 @@ private: 250, ' ' }; + Text text_alt_unit { + { 12 * 8, 0 * 16, 2 * 8, 16 }, + "" + }; NumberField field_lat_degrees { { 5 * 8, 1 * 16 }, 4, { -90, 90 }, 1, ' ' @@ -141,6 +151,7 @@ public: NavigationView& nav, const std::string& tag, int32_t altitude, + GeoPos::alt_unit altitude_unit, float lat, float lon, float angle, @@ -148,6 +159,7 @@ public: ); GeoMapView(NavigationView& nav, int32_t altitude, + GeoPos::alt_unit altitude_unit, float lat, float lon, const std::function on_done @@ -175,6 +187,7 @@ private: const Dim banner_height = 3 * 16; GeoMapMode mode_ { }; int32_t altitude_ { }; + GeoPos::alt_unit altitude_unit_ { }; float lat_ { }; float lon_ { }; float angle_ { }; @@ -183,7 +196,8 @@ private: bool map_opened { }; GeoPos geopos { - { 0, 0 } + { 0, 0 }, + altitude_unit_ }; GeoMap geomap { diff --git a/firmware/application/ui_sonde.cpp b/firmware/application/ui_sonde.cpp index b02b9fcc..3854373c 100644 --- a/firmware/application/ui_sonde.cpp +++ b/firmware/application/ui_sonde.cpp @@ -88,6 +88,7 @@ SondeView::SondeView(NavigationView& nav) { nav.push( "", altitude, + GeoPos::alt_unit::METERS, latitude, longitude, 0); @@ -113,7 +114,7 @@ void SondeView::on_packet(const sonde::Packet& packet) { text_signature.set(packet.signature()); text_serial.set(packet.serial_number()); - text_voltage.set(to_string_dec_uint(packet.battery_voltage()) + "mV"); + text_voltage.set(unit_auto_scale(packet.battery_voltage(), 2, 3) + "V"); altitude = packet.GPS_altitude(); latitude = packet.GPS_latitude(); diff --git a/firmware/application/ui_sonde.hpp b/firmware/application/ui_sonde.hpp index d2630c8f..f31ac823 100644 --- a/firmware/application/ui_sonde.hpp +++ b/firmware/application/ui_sonde.hpp @@ -97,7 +97,7 @@ private: }; Checkbox check_log { - { 22 * 8, 2 * 16 + 8 }, + { 22 * 8, 2 * 16 + 12 }, 3, "Log" }; @@ -116,7 +116,8 @@ private: }; GeoPos geopos { - { 0, 6 * 16 } + { 0, 6 * 16 }, + GeoPos::alt_unit::METERS }; Button button_see_map { diff --git a/firmware/portapack-h1-havoc.bin b/firmware/portapack-h1-havoc.bin index 77fb313af24641768f4dd5b64c45475f601dcf5f..7a04171e8c285296ee93a4970ccbd25fcd9991d0 100644 GIT binary patch delta 150230 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 delta 147811 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�SO`M1T?lG?i=qzT^a7kMuE55Hn0`b{ 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 a+EFag^XlzL&7{JZxYm_{t{)M8_x}Sov!*Wq From 17b238f3a8a06ef10c7f9cebd435f7e82ec8464c Mon Sep 17 00:00:00 2001 From: furrtek Date: Mon, 30 Oct 2017 02:00:39 +0100 Subject: [PATCH 7/7] Added "test app" as a draft zone for... stuff Added second signature for M2K2 radiosonde --- firmware/application/CMakeLists.txt | 2 + firmware/application/ui_navigation.cpp | 2 + firmware/application/ui_test.cpp | 123 +++++++++++++++++++++++++ firmware/application/ui_test.hpp | 106 +++++++++++++++++++++ firmware/baseband/CMakeLists.txt | 7 ++ firmware/baseband/proc_test.cpp | 55 +++++++++++ firmware/baseband/proc_test.hpp | 86 +++++++++++++++++ firmware/common/message.hpp | 13 +++ firmware/common/sonde_packet.cpp | 2 +- firmware/common/spi_image.hpp | 1 + firmware/common/test_packet.cpp | 52 +++++++++++ firmware/common/test_packet.hpp | 74 +++++++++++++++ 12 files changed, 522 insertions(+), 1 deletion(-) create mode 100644 firmware/application/ui_test.cpp create mode 100644 firmware/application/ui_test.hpp create mode 100644 firmware/baseband/proc_test.cpp create mode 100644 firmware/baseband/proc_test.hpp create mode 100644 firmware/common/test_packet.cpp create mode 100644 firmware/common/test_packet.hpp diff --git a/firmware/application/CMakeLists.txt b/firmware/application/CMakeLists.txt index 63f4f969..d53b8c22 100644 --- a/firmware/application/CMakeLists.txt +++ b/firmware/application/CMakeLists.txt @@ -209,6 +209,7 @@ set(CPPSRC ui_spectrum.cpp ui_sstvtx.cpp ui_tabview.cpp + ui_test.cpp ui_textentry.cpp ui_touch_calibration.cpp ui_touchtunes.cpp @@ -229,6 +230,7 @@ set(CPPSRC ${COMMON}/adsb_frame.cpp ${COMMON}/adsb.cpp ${COMMON}/sonde_packet.cpp + ${COMMON}/test_packet.cpp ais_app.cpp tpms_app.cpp pocsag_app.cpp diff --git a/firmware/application/ui_navigation.cpp b/firmware/application/ui_navigation.cpp index 8abdb841..04cb114d 100644 --- a/firmware/application/ui_navigation.cpp +++ b/firmware/application/ui_navigation.cpp @@ -58,6 +58,7 @@ #include "ui_sonde.hpp" #include "ui_soundboard.hpp" #include "ui_sstvtx.hpp" +#include "ui_test.hpp" #include "ui_touchtunes.hpp" #include "ui_view_wav.hpp" #include "ui_whipcalc.hpp" @@ -335,6 +336,7 @@ TransmittersMenuView::TransmittersMenuView(NavigationView& nav) { UtilitiesMenuView::UtilitiesMenuView(NavigationView& nav) { add_items({ + { "Test app", ui::Color::grey(), nullptr, [&nav](){ nav.push(); } }, { "Frequency manager", ui::Color::green(), &bitmap_icon_freqman, [&nav](){ nav.push(); } }, { "File manager", ui::Color::yellow(), &bitmap_icon_file, [&nav](){ nav.push(); } }, { "Whip antenna length", ui::Color::yellow(), nullptr, [&nav](){ nav.push(); } }, diff --git a/firmware/application/ui_test.cpp b/firmware/application/ui_test.cpp new file mode 100644 index 00000000..6268a1db --- /dev/null +++ b/firmware/application/ui_test.cpp @@ -0,0 +1,123 @@ +/* + * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2017 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#include "ui_test.hpp" +#include "baseband_api.hpp" + +#include "portapack.hpp" +using namespace portapack; + +#include "string_format.hpp" + +namespace ui { + +TestView::TestView(NavigationView& nav) { + baseband::run_image(portapack::spi_flash::image_tag_test); + + add_children({ + &labels, + &field_frequency, + &field_rf_amp, + &field_lna, + &field_vga, + &rssi, + &text_debug_a, + &text_debug_b + }); + + field_frequency.set_value(target_frequency_); + field_frequency.set_step(10000); + field_frequency.on_change = [this](rf::Frequency f) { + set_target_frequency(f); + field_frequency.set_value(f); + }; + field_frequency.on_edit = [this, &nav]() { + // TODO: Provide separate modal method/scheme? + auto new_view = nav.push(receiver_model.tuning_frequency()); + new_view->on_changed = [this](rf::Frequency f) { + set_target_frequency(f); + field_frequency.set_value(f); + }; + }; + + radio::enable({ + tuning_frequency(), + sampling_rate, + baseband_bandwidth, + rf::Direction::Receive, + receiver_model.rf_amp(), + static_cast(receiver_model.lna()), + static_cast(receiver_model.vga()), + }); +} + +TestView::~TestView() { + radio::disable(); + baseband::shutdown(); +} + +void TestView::focus() { + field_vga.focus(); +} + +void TestView::on_packet(const testapp::Packet& packet) { + const auto hex_formatted = packet.symbols_formatted(); + auto v = packet.value(); + + packet_count++; + uint32_t diff = ((v - 1) - prev_v); + if (diff < 20) + packets_lost += diff; + prev_v = v; + + text_debug_a.set(hex_formatted.data.substr(0, 30)); + + text_debug_b.set(to_string_dec_uint((packets_lost * 1000) / packet_count) + " per 1000"); + + display.draw_pixel(Point(cur_x, 4 * 16 + (256 - packet.alt())), Color::white()); + + cur_x++; + if (cur_x >= 240) { + display.fill_rectangle(Rect(0, 4 * 16, 240, 256), Color::black()); + cur_x = 0; + } + + //radio::disable(); + + /*text_serial.set(packet.serial_number()); + text_voltage.set(unit_auto_scale(packet.battery_voltage(), 2, 3) + "V"); + + altitude = packet.GPS_altitude(); + latitude = packet.GPS_latitude(); + longitude = packet.GPS_longitude();*/ +} + +void TestView::set_target_frequency(const uint32_t new_value) { + target_frequency_ = new_value; + radio::set_tuning_frequency(tuning_frequency()); +} + +uint32_t TestView::tuning_frequency() const { + return target_frequency_ - (sampling_rate / 4); +} + +} /* namespace ui */ diff --git a/firmware/application/ui_test.hpp b/firmware/application/ui_test.hpp new file mode 100644 index 00000000..58bddc82 --- /dev/null +++ b/firmware/application/ui_test.hpp @@ -0,0 +1,106 @@ +/* + * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2017 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef __UI_TEST_H__ +#define __UI_TEST_H__ + +#include "ui_navigation.hpp" +#include "ui_receiver.hpp" +#include "ui_rssi.hpp" + +#include "event_m0.hpp" + +#include "test_packet.hpp" + +#include +#include + +namespace ui { + +class TestView : public View { +public: + static constexpr uint32_t sampling_rate = 2457600; + static constexpr uint32_t baseband_bandwidth = 1750000; + + TestView(NavigationView& nav); + ~TestView(); + + void focus() override; + + std::string title() const override { return "Test app"; }; + +private: + uint32_t target_frequency_ { 439255000 }; + Coord cur_x { 0 }; + uint32_t packet_count { 0 }; + uint32_t packets_lost { 0 }; + uint32_t prev_v { 0 }; + + Labels labels { + { { 0 * 8, 1 * 16 }, "Data:", Color::light_grey() } + }; + + FrequencyField field_frequency { + { 0 * 8, 0 * 8 }, + }; + RFAmpField field_rf_amp { + { 13 * 8, 0 * 16 } + }; + + LNAGainField field_lna { + { 15 * 8, 0 * 16 } + }; + + VGAGainField field_vga { + { 18 * 8, 0 * 16 } + }; + + RSSI rssi { + { 21 * 8, 0, 6 * 8, 4 }, + }; + + Text text_debug_a { + { 0 * 8, 2 * 16, 30 * 8, 16 }, + "..." + }; + Text text_debug_b { + { 0 * 8, 3 * 16, 30 * 8, 16 }, + "..." + }; + + MessageHandlerRegistration message_handler_packet { + Message::ID::TestAppPacket, + [this](Message* const p) { + const auto message = static_cast(p); + const testapp::Packet packet { message->packet }; + this->on_packet(packet); + } + }; + + void on_packet(const testapp::Packet& packet); + void set_target_frequency(const uint32_t new_value); + uint32_t tuning_frequency() const; +}; + +} /* namespace ui */ + +#endif/*__UI_TEST_H__*/ diff --git a/firmware/baseband/CMakeLists.txt b/firmware/baseband/CMakeLists.txt index 206e1bb7..7346f89f 100644 --- a/firmware/baseband/CMakeLists.txt +++ b/firmware/baseband/CMakeLists.txt @@ -422,6 +422,13 @@ set(MODE_CPPSRC ) DeclareTargets(PSTX sstvtx) +### Test + +set(MODE_CPPSRC + proc_test.cpp +) +DeclareTargets(PTST test) + ### Tones set(MODE_CPPSRC diff --git a/firmware/baseband/proc_test.cpp b/firmware/baseband/proc_test.cpp new file mode 100644 index 00000000..d31da2ac --- /dev/null +++ b/firmware/baseband/proc_test.cpp @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2017 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#include "proc_test.hpp" + +#include "dsp_fir_taps.hpp" + +#include "event_m4.hpp" + +TestProcessor::TestProcessor() { + decim_0.configure(taps_11k0_decim_0.taps, 33554432); + decim_1.configure(taps_11k0_decim_1.taps, 131072); +} + +void TestProcessor::execute(const buffer_c8_t& buffer) { + /* 2.4576MHz, 2048 samples */ + + const auto decim_0_out = decim_0.execute(buffer, dst_buffer); + const auto decim_1_out = decim_1.execute(decim_0_out, dst_buffer); + const auto decimator_out = decim_1_out; + + /* 38.4kHz, 32 samples */ + feed_channel_stats(decimator_out); + + for(size_t i=0; i() }; + event_dispatcher.run(); + return 0; +} diff --git a/firmware/baseband/proc_test.hpp b/firmware/baseband/proc_test.hpp new file mode 100644 index 00000000..dcdcd4a9 --- /dev/null +++ b/firmware/baseband/proc_test.hpp @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2017 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef __PROC_TEST_H__ +#define __PROC_TEST_H__ + +#include "baseband_processor.hpp" +#include "baseband_thread.hpp" +#include "rssi_thread.hpp" +#include "proc_ais.hpp" + +#include "channel_decimator.hpp" +#include "matched_filter.hpp" + +#include "clock_recovery.hpp" +#include "symbol_coding.hpp" +#include "packet_builder.hpp" +#include "baseband_packet.hpp" + +#include "message.hpp" +#include "portapack_shared_memory.hpp" + +#include +#include +#include + +class TestProcessor : public BasebandProcessor { +public: + TestProcessor(); + + void execute(const buffer_c8_t& buffer) override; + +private: + static constexpr size_t baseband_fs = 2457600; + + BasebandThread baseband_thread { baseband_fs, this, NORMALPRIO + 20, baseband::Direction::Receive }; + RSSIThread rssi_thread { NORMALPRIO + 10 }; + + std::array dst { }; + const buffer_c16_t dst_buffer { + dst.data(), + dst.size() + }; + + dsp::decimate::FIRC8xR16x24FS4Decim8 decim_0 { }; + dsp::decimate::FIRC16xR16x32Decim8 decim_1 { }; + dsp::matched_filter::MatchedFilter mf { baseband::ais::square_taps_38k4_1t_p, 2 }; + + clock_recovery::ClockRecovery clock_recovery_fsk_9600 { + 19200, 9600, { 0.00555f }, + [this](const float raw_symbol) { + const uint_fast8_t sliced_symbol = (raw_symbol >= 0.0f) ? 1 : 0; + this->packet_builder_fsk_9600_CC1101.execute(sliced_symbol); + } + }; + PacketBuilder packet_builder_fsk_9600_CC1101 { + { 0b01010110010110100101101001101010, 32, 1 }, // Manchester 0x1337 + { }, + { 10 * 8 }, + [this](const baseband::Packet& packet) { + const TestAppPacketMessage message { packet }; + shared_memory.application_queue.push(message); + } + }; +}; + +#endif/*__PROC_TEST_H__*/ diff --git a/firmware/common/message.hpp b/firmware/common/message.hpp index ab23d14d..3fb4e898 100644 --- a/firmware/common/message.hpp +++ b/firmware/common/message.hpp @@ -97,6 +97,7 @@ public: POCSAGPacket = 50, ADSBFrame = 51, AFSKData = 52, + TestAppPacket = 53, RequestSignal = 60, FIFOData = 61, @@ -390,6 +391,18 @@ public: baseband::Packet packet; }; +class TestAppPacketMessage : public Message { +public: + constexpr TestAppPacketMessage( + const baseband::Packet& packet + ) : Message { ID::TestAppPacket }, + packet { packet } + { + } + + baseband::Packet packet; +}; + class UpdateSpectrumMessage : public Message { public: constexpr UpdateSpectrumMessage( diff --git a/firmware/common/sonde_packet.cpp b/firmware/common/sonde_packet.cpp index 088d8777..5eba330c 100644 --- a/firmware/common/sonde_packet.cpp +++ b/firmware/common/sonde_packet.cpp @@ -62,7 +62,7 @@ std::string Packet::signature() const { if (header == 0x649F20) return "M10"; - else if (header == 0x648F20) + else if ((header == 0x648F20) || (header == 0x648F23)) return "M2K2"; else return "0x" + symbols_formatted().data.substr(0, 6); diff --git a/firmware/common/spi_image.hpp b/firmware/common/spi_image.hpp index 036b3fd1..51ea0679 100644 --- a/firmware/common/spi_image.hpp +++ b/firmware/common/spi_image.hpp @@ -75,6 +75,7 @@ constexpr image_tag_t image_tag_sonde { 'P', 'S', 'O', 'N' }; constexpr image_tag_t image_tag_tpms { 'P', 'T', 'P', 'M' }; constexpr image_tag_t image_tag_wfm_audio { 'P', 'W', 'F', 'M' }; constexpr image_tag_t image_tag_wideband_spectrum { 'P', 'S', 'P', 'E' }; +constexpr image_tag_t image_tag_test { 'P', 'T', 'S', 'T' }; constexpr image_tag_t image_tag_adsb_tx { 'P', 'A', 'D', 'T' }; constexpr image_tag_t image_tag_afsk { 'P', 'A', 'F', 'T' }; diff --git a/firmware/common/test_packet.cpp b/firmware/common/test_packet.cpp new file mode 100644 index 00000000..86c2fb8a --- /dev/null +++ b/firmware/common/test_packet.cpp @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2017 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#include "test_packet.hpp" +#include "string_format.hpp" + +namespace testapp { + +size_t Packet::length() const { + return decoder_.symbols_count(); +} + +bool Packet::is_valid() const { + return true; +} + +Timestamp Packet::received_at() const { + return packet_.timestamp(); +} + +FormattedSymbols Packet::symbols_formatted() const { + return format_symbols(decoder_); +} + +uint32_t Packet::value() const { + return reader_.read(3 * 8, 8); +} + +uint32_t Packet::alt() const { + return reader_.read(1 * 8, 12) - 0xC00; +} + +} /* namespace testapp */ diff --git a/firmware/common/test_packet.hpp b/firmware/common/test_packet.hpp new file mode 100644 index 00000000..d4b23d7d --- /dev/null +++ b/firmware/common/test_packet.hpp @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2017 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef __TEST_PACKET_H__ +#define __TEST_PACKET_H__ + +#include +#include + +#include "field_reader.hpp" +#include "baseband_packet.hpp" +#include "manchester.hpp" + +namespace testapp { + +class Packet { +public: + Packet( + const baseband::Packet& packet + ) : packet_ { packet }, + decoder_ { packet_ }, + reader_ { decoder_ } + { + } + + size_t length() const; + + bool is_valid() const; + + Timestamp received_at() const; + + uint32_t value() const; + uint32_t alt() const; + /*std::string serial_number() const; + uint32_t GPS_altitude() const; + float GPS_latitude() const; + float GPS_longitude() const; + std::string signature() const; + uint32_t battery_voltage() const;*/ + + FormattedSymbols symbols_formatted() const; + + //bool crc_ok() const; + +private: + using Reader = FieldReader; + + const baseband::Packet packet_; + const ManchesterDecoder decoder_; + const Reader reader_; +}; + +} /* namespace testapp */ + +#endif/*__TEST_PACKET_H__*/