From b22448de7547bd46c06b6f746a0e52bd1b7c9f02 Mon Sep 17 00:00:00 2001 From: euquiq <31453004+euquiq@users.noreply.github.com> Date: Mon, 28 Sep 2020 17:54:27 -0300 Subject: [PATCH] Fixes SSID value error on APX TX Values where left bit-shifted upon being entered by the user, so resulting SSID being transmitted was a different number. This shifting was happening both on Source and Destination SSID values. --- firmware/application/apps/ui_aprs_tx.hpp | 1 + firmware/application/protocols/aprs.cpp | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/firmware/application/apps/ui_aprs_tx.hpp b/firmware/application/apps/ui_aprs_tx.hpp index 173d9fd70..970321072 100644 --- a/firmware/application/apps/ui_aprs_tx.hpp +++ b/firmware/application/apps/ui_aprs_tx.hpp @@ -82,6 +82,7 @@ private: 6, SymField::SYMFIELD_ALPHANUM }; + NumberField num_ssid_dest { { 19 * 8, 2 * 16 }, 2, diff --git a/firmware/application/protocols/aprs.cpp b/firmware/application/protocols/aprs.cpp index 96cf8df6f..6caab8667 100644 --- a/firmware/application/protocols/aprs.cpp +++ b/firmware/application/protocols/aprs.cpp @@ -38,9 +38,9 @@ void make_aprs_frame(const char * src_address, const uint32_t src_ssid, char address[14] = { 0 }; memcpy(&address[0], dest_address, 6); - address[6] = (dest_ssid & 15) << 1; + address[6] = (dest_ssid & 15); memcpy(&address[7], src_address, 6); - address[13] = (src_ssid & 15) << 1; + address[13] = (src_ssid & 15); frame.make_ui_frame(address, 0x03, protocol_id_t::NO_LAYER3, payload); }