diff --git a/src/configuration.h b/src/configuration.h
index fbac2c1f6..994f1e72e 100644
--- a/src/configuration.h
+++ b/src/configuration.h
@@ -250,6 +250,9 @@ along with this program. If not, see .
#ifndef HAS_SCREEN
#define HAS_SCREEN 0
#endif
+#ifndef HAS_TFT
+#define HAS_TFT 0
+#endif
#ifndef HAS_WIRE
#define HAS_WIRE 0
#endif
@@ -362,4 +365,4 @@ along with this program. If not, see .
#endif
#include "DebugConfiguration.h"
-#include "RF95Configuration.h"
\ No newline at end of file
+#include "RF95Configuration.h"
diff --git a/src/graphics/Screen.cpp b/src/graphics/Screen.cpp
index 27ea6f414..4cfb8701e 100644
--- a/src/graphics/Screen.cpp
+++ b/src/graphics/Screen.cpp
@@ -1718,7 +1718,7 @@ void Screen::setup()
#endif
serialSinceMsec = millis();
-#if ARCH_PORTDUINO
+#if ARCH_PORTDUINO && !HAS_TFT
if (settingsMap[touchscreenModule]) {
touchScreenImpl1 =
new TouchScreenImpl1(dispdev->getWidth(), dispdev->getHeight(), static_cast(dispdev)->getTouch);
diff --git a/src/graphics/TFTDisplay.cpp b/src/graphics/TFTDisplay.cpp
index 87c3f7de9..4f2af670b 100644
--- a/src/graphics/TFTDisplay.cpp
+++ b/src/graphics/TFTDisplay.cpp
@@ -347,7 +347,7 @@ static LGFX *tft = nullptr;
#include // Graphics and font library for ILI9342 driver chip
static TFT_eSPI *tft = nullptr; // Invoke library, pins defined in User_Setup.h
-#elif ARCH_PORTDUINO && HAS_SCREEN != 0
+#elif ARCH_PORTDUINO && HAS_SCREEN != 0 && !HAS_TFT
#include // Graphics and font library for ST7735 driver chip
class LGFX : public lgfx::LGFX_Device
diff --git a/src/main.cpp b/src/main.cpp
index f4bb11535..5982e709d 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -40,6 +40,7 @@
#include
#ifdef ARCH_ESP32
+#include "freertosinc.h"
#if !MESHTASTIC_EXCLUDE_WEBSERVER
#include "mesh/http/WebServer.h"
#endif
@@ -173,6 +174,8 @@ std::pair nodeTelemetrySensorsMap[_meshtastic_TelemetrySenso
Router *router = NULL; // Users of router don't care what sort of subclass implements that API
+const char *firmware_version = optstr(APP_VERSION_SHORT);
+
const char *getDeviceName()
{
uint8_t dmac[6];
@@ -1275,4 +1278,4 @@ void loop()
mainDelay.delay(delayMsec);
}
}
-#endif
\ No newline at end of file
+#endif
diff --git a/src/mesh/PhoneAPI.h b/src/mesh/PhoneAPI.h
index 31538a0ab..681b244c8 100644
--- a/src/mesh/PhoneAPI.h
+++ b/src/mesh/PhoneAPI.h
@@ -149,6 +149,9 @@ class PhoneAPI
*/
virtual void onNowHasData(uint32_t fromRadioNum) {}
+ /// begin a new connection
+ void handleStartConfig();
+
private:
void releasePhonePacket();
@@ -158,9 +161,6 @@ class PhoneAPI
void releaseClientNotification();
- /// begin a new connection
- void handleStartConfig();
-
bool wasSeenRecently(uint32_t packetId);
/**
@@ -171,4 +171,4 @@ class PhoneAPI
/// If the mesh service tells us fromNum has changed, tell the phone
virtual int onNotify(uint32_t newValue) override;
-};
\ No newline at end of file
+};
diff --git a/src/mesh/wifi/WiFiAPClient.cpp b/src/mesh/wifi/WiFiAPClient.cpp
index f9e5d1cc9..38aa2e2a2 100644
--- a/src/mesh/wifi/WiFiAPClient.cpp
+++ b/src/mesh/wifi/WiFiAPClient.cpp
@@ -430,4 +430,4 @@ uint8_t getWifiDisconnectReason()
{
return wifiDisconnectReason;
}
-#endif
\ No newline at end of file
+#endif
diff --git a/src/modules/CannedMessageModule.h b/src/modules/CannedMessageModule.h
index fd9ffc9b6..a91933a0f 100644
--- a/src/modules/CannedMessageModule.h
+++ b/src/modules/CannedMessageModule.h
@@ -117,8 +117,10 @@ class CannedMessageModule : public SinglePortModule, public ObservableshouldDraw(); }
virtual Observable *getUIFrameObservable() override { return this; }
- virtual void drawFrame(OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y) override;
virtual bool interceptingKeyboardInput() override;
+#if !HAS_TFT
+ virtual void drawFrame(OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y) override;
+#endif
virtual AdminMessageHandleResult handleAdminMessageForModule(const meshtastic_MeshPacket &mp,
meshtastic_AdminMessage *request,
meshtastic_AdminMessage *response) override;
@@ -228,4 +230,4 @@ class CannedMessageModule : public SinglePortModule, public Observableinit();
#endif // INPUTBROKER_MATRIX_TYPE
#endif // HAS_BUTTON
-#if ARCH_PORTDUINO
+#if ARCH_PORTDUINO && !HAS_TFT
aLinuxInputImpl = new LinuxInputImpl();
aLinuxInputImpl->init();
#endif
diff --git a/src/platform/portduino/PortduinoGlue.cpp b/src/platform/portduino/PortduinoGlue.cpp
index 82fd8de66..4fadc3ca9 100644
--- a/src/platform/portduino/PortduinoGlue.cpp
+++ b/src/platform/portduino/PortduinoGlue.cpp
@@ -153,6 +153,7 @@ void portduinoSetup()
std::string gpioChipName = "gpiochip";
settingsStrings[i2cdev] = "";
settingsStrings[keyboardDevice] = "";
+ settingsStrings[pointerDevice] = "";
settingsStrings[webserverrootpath] = "";
settingsStrings[spidev] = "";
settingsStrings[displayspidev] = "";
@@ -455,6 +456,8 @@ bool loadConfig(const char *configPath)
settingsMap[displayPanel] = ili9341;
else if (yamlConfig["Display"]["Panel"].as("") == "ILI9342")
settingsMap[displayPanel] = ili9342;
+ else if (yamlConfig["Display"]["Panel"].as("") == "ILI9486")
+ settingsMap[displayPanel] = ili9486;
else if (yamlConfig["Display"]["Panel"].as("") == "ILI9488")
settingsMap[displayPanel] = ili9488;
else if (yamlConfig["Display"]["Panel"].as("") == "HX8357D")
@@ -515,6 +518,7 @@ bool loadConfig(const char *configPath)
}
if (yamlConfig["Input"]) {
settingsStrings[keyboardDevice] = (yamlConfig["Input"]["KeyboardDevice"]).as("");
+ settingsStrings[pointerDevice] = (yamlConfig["Input"]["PointerDevice"]).as("");
}
if (yamlConfig["Webserver"]) {
@@ -570,4 +574,4 @@ bool MAC_from_string(std::string mac_str, uint8_t *dmac)
} else {
return false;
}
-}
\ No newline at end of file
+}
diff --git a/src/platform/portduino/PortduinoGlue.h b/src/platform/portduino/PortduinoGlue.h
index 9cf9b6678..5bc07df6a 100644
--- a/src/platform/portduino/PortduinoGlue.h
+++ b/src/platform/portduino/PortduinoGlue.h
@@ -55,6 +55,7 @@ enum configNames {
displayOffsetY,
displayInvert,
keyboardDevice,
+ pointerDevice,
logoutputlevel,
traceFilename,
webserver,
@@ -66,7 +67,7 @@ enum configNames {
config_directory,
mac_address
};
-enum { no_screen, x11, st7789, st7735, st7735s, st7796, ili9341, ili9342, ili9488, hx8357d };
+enum { no_screen, x11, st7789, st7735, st7735s, st7796, ili9341, ili9342, ili9486, ili9488, hx8357d };
enum { no_touchscreen, xpt2046, stmpe610, gt911, ft5x06 };
enum { level_error, level_warn, level_info, level_debug, level_trace };
diff --git a/variants/unphone/pins_arduino.h b/variants/unphone/pins_arduino.h
index c4e9add1c..74067359f 100644
--- a/variants/unphone/pins_arduino.h
+++ b/variants/unphone/pins_arduino.h
@@ -6,14 +6,6 @@
#define USB_VID 0x16D0
#define USB_PID 0x1178
-#define EXTERNAL_NUM_INTERRUPTS 46
-#define NUM_DIGITAL_PINS 48
-#define NUM_ANALOG_INPUTS 20
-
-#define analogInputToDigitalPin(p) (((p) < 20) ? (analogChannelToDigitalPin(p)) : -1)
-#define digitalPinToInterrupt(p) (((p) < 48) ? (p) : -1)
-#define digitalPinHasPWM(p) (p < 46)
-
#define LED_BUILTIN 13
#define BUILTIN_LED LED_BUILTIN // backward compatibility