diff --git a/documents/images/ham-1.jpg b/documents/images/ham-1.jpg
new file mode 100644
index 000000000..1c850926f
Binary files /dev/null and b/documents/images/ham-1.jpg differ
diff --git a/documents/images/ham-2.jpg b/documents/images/ham-2.jpg
new file mode 100644
index 000000000..634d9082e
Binary files /dev/null and b/documents/images/ham-2.jpg differ
diff --git a/documents/images/midi-2.jpg b/documents/images/midi-2.jpg
new file mode 100644
index 000000000..a11d7c9cc
Binary files /dev/null and b/documents/images/midi-2.jpg differ
diff --git a/software/firmware/binaries/ESP32/SkyView/README.md b/software/firmware/binaries/ESP32/SkyView/README.md
index 0b4e70b0e..82261fafc 100644
--- a/software/firmware/binaries/ESP32/SkyView/README.md
+++ b/software/firmware/binaries/ESP32/SkyView/README.md
@@ -88,7 +88,21 @@ Three more of [hardware platforms](https://github.com/lyusupov/SoftRF#by-process
### Known issues and limitations
-TBD
+* same that previous 0.12 release has, **plus**
+* **RP2040:** PIO USB Host is kind of fragile and can cause issues when Wi-Fi or Bluetooth is active. When USB is your primary connection method - activate Wi-Fi 'power saving' feature to disable the Wi-Fi while it is not in use. When you use Wi-Fi of Bluetooth as a primary connection method - do NOT connect any device to the RP2040 PIO USB port ;
+* **ESP32-S3**: pictore on the GDEY027T91 display may partially loose contrast after a sequence of screen updates. One should consider to activate [e-Paper 'ghosts' removal](https://github.com/lyusupov/SoftRF/wiki/SkyView-settings#e-paper-ghosts-removal) procedure as a workaroud.
+
+### Flashing instructions
+
+ **ESP32:**
+ '[Web Update](https://github.com/lyusupov/SoftRF/wiki/Firmware-update-%28Web-method%29#esp32)' method should work just fine when you are updating from **Regular** 0.12.
+ In case of troubles - use generic ('cable') method instead. Follow **Step 1** and **Step 2** of this [**Quick start**](https://github.com/lyusupov/SoftRF/wiki/SkyView.-Quick-start) guidance.
+ **RP2040:**
+ **ESP32-S3:**
+ Both RP2040 and ESP32-S3 platforms can do firmware update over USB connection when the firmware binary is in UF2 format.
+ Follow **SkyView Pico** firmware installation procedure as explained on [this page](https://github.com/lyusupov/SoftRF/wiki/SkyView-Pico.-Quick-start).
+
+
## revision 0.12
diff --git a/software/firmware/source/SoftRF/src/driver/RF.cpp b/software/firmware/source/SoftRF/src/driver/RF.cpp
index 2ba770e07..532cf8915 100644
--- a/software/firmware/source/SoftRF/src/driver/RF.cpp
+++ b/software/firmware/source/SoftRF/src/driver/RF.cpp
@@ -2294,7 +2294,9 @@ extern NeoPixelBus TWR2_Pixel;
void sa868_Tx_LED_state(bool val) {
if (hw_info.model == SOFTRF_MODEL_HAM) {
#if defined(USE_NEOPIXELBUS_LIBRARY)
- TWR2_Pixel.SetPixelColor(0, val ? LED_COLOR_RED : LED_COLOR_GREEN);
+ TWR2_Pixel.SetPixelColor(0, val ? LED_COLOR_RED :
+ settings->power_save & POWER_SAVE_NORECEIVE ?
+ LED_COLOR_BLACK : LED_COLOR_GREEN);
TWR2_Pixel.Show();
#endif /* USE_NEOPIXELBUS_LIBRARY */
}
@@ -2384,7 +2386,8 @@ static void sa8x8_setup()
}
}
- controller.setGroup(0 /* TBD */, MHz, MHz, 0, 1, 0);
+ byte sq = settings->power_save & POWER_SAVE_NORECEIVE ? 8 : 1;
+ controller.setGroup(0 /* TBD */, MHz, MHz, 0, sq, 0);
if (controller.getModel() == Model::SA_868) {
aprs_preamble = 350UL * 3;
@@ -2409,6 +2412,14 @@ static void sa8x8_setup()
APRS_setTail(aprs_tail);
APRS_setSymbol('\'');
+ if (hw_info.model == SOFTRF_MODEL_HAM) {
+#if defined(USE_NEOPIXELBUS_LIBRARY)
+ TWR2_Pixel.SetPixelColor(0, settings->power_save & POWER_SAVE_NORECEIVE ?
+ LED_COLOR_BLACK : LED_COLOR_GREEN);
+ TWR2_Pixel.Show();
+#endif /* USE_NEOPIXELBUS_LIBRARY */
+ }
+
APRS_setTxLEDCallback(sa868_Tx_LED_state);
// You don't need to set the destination identifier, but
diff --git a/software/firmware/source/SoftRF/src/platform/ESP32.cpp b/software/firmware/source/SoftRF/src/platform/ESP32.cpp
index 7ce4c46a3..de62688f7 100644
--- a/software/firmware/source/SoftRF/src/platform/ESP32.cpp
+++ b/software/firmware/source/SoftRF/src/platform/ESP32.cpp
@@ -1117,8 +1117,6 @@ static void ESP32_setup()
#if defined(USE_NEOPIXELBUS_LIBRARY)
TWR2_Pixel.Begin();
TWR2_Pixel.Show(); // Initialize all pixels to 'off'
- TWR2_Pixel.SetPixelColor(0, LED_COLOR_GREEN);
- TWR2_Pixel.Show();
#endif /* USE_NEOPIXELBUS_LIBRARY */
} else {
WIRE_FINI(Wire);
diff --git a/software/firmware/source/SoftRF/src/protocol/radio/APRS.cpp b/software/firmware/source/SoftRF/src/protocol/radio/APRS.cpp
index 15a7d0e98..01efc33e0 100644
--- a/software/firmware/source/SoftRF/src/protocol/radio/APRS.cpp
+++ b/software/firmware/source/SoftRF/src/protocol/radio/APRS.cpp
@@ -218,10 +218,12 @@ size_t aprs_encode(void *pkt, ufo_t *this_aircraft) {
uint8_t addr_type = id == SOFTRF_ADDRESS ? ADDR_TYPE_ICAO : ADDR_TYPE_ANONYMOUS;
#endif
- //snprintf(buf, sizeof(buf), "FLR%06X", id);
- //APRS_setCallsign(buf, 0);
+ // snprintf(buf, sizeof(buf), "FLR%06X", id);
+ // snprintf(buf, sizeof(buf), "OGN%06X", id);
+ // APRS_setCallsign(buf, 0);
- APRS_setDestination("OGNFLR", 0);
+ // APRS_setDestination("OGNFLR", 0);
+ APRS_setDestination("OGNTRK", 0);
// Let's first set our latitude and longtitude.
// These should be in NMEA format!
@@ -255,7 +257,7 @@ size_t aprs_encode(void *pkt, ufo_t *this_aircraft) {
(addr_type );
snprintf(Outgoing_APRS_Comment, sizeof(Outgoing_APRS_Comment),
- "%03d/%03d/A=%06d !W00! id%08X",
+ "%03d/%03d/A=%06d !W00! id%08X +000fpm +0rot gps8x3",
(course_i == 0) ? 360 : course_i,
(int) this_aircraft->speed, /* knots */
(altitude_i < 0) ? 0 : altitude_i, /* feet */