diff --git a/RX_FSK/RX_FSK.ino b/RX_FSK/RX_FSK.ino
index d9d3e70..bbd0293 100644
--- a/RX_FSK/RX_FSK.ino
+++ b/RX_FSK/RX_FSK.ino
@@ -32,7 +32,8 @@ AsyncWebSocket ws("/ws");
AXP20X_Class axp;
#define PMU_IRQ 35
-
+SemaphoreHandle_t axpSemaphore;
+bool pmu_irq = false;
String updateHost = "rdzsonde.mooo.com";
int updatePort = 80;
@@ -359,9 +360,9 @@ void addSondeStatus(char *ptr, int i)
ts = *gmtime(&t);
sprintf(ptr + strlen(ptr), "
GEO-App - ", s->lat, s->lon);
sprintf(ptr + strlen(ptr), "WX.DL2MF.de - ", s->id);
@@ -459,6 +460,7 @@ struct st_configitems config_list[] = {
{"tft_orient", "TFT orientation (0/1/2/3), OLED flip: 3", 0, &sonde.config.tft_orient},
{"button_pin", "Button input port", -4, &sonde.config.button_pin},
{"button2_pin", "Button 2 input port", -4, &sonde.config.button2_pin},
+ {"button2_axp", "Use AXP192 PWR as Button 2", 0, &sonde.config.button2_axp},
{"touch_thresh", "Touch button threshold (0 for calib mode)", 0, &sonde.config.touch_thresh},
{"power_pout", "Power control port", 0, &sonde.config.power_pout},
{"led_pout", "LED output port", 0, &sonde.config.led_pout},
@@ -477,9 +479,16 @@ void addConfigNumEntry(char *ptr, int idx, const char *label, int *value) {
label, idx, *value);
}
void addConfigButtonEntry(char *ptr, int idx, const char *label, int *value) {
+ int v = *value, ck = 0;
+ if (v == 255) v = -1;
+ if (v != -1) {
+ if (v & 128) ck = 1;
+ v = v & 127;
+ }
+
sprintf(ptr + strlen(ptr), " |