From 49a9aa3e36f4010fbe71d451046efcdce9f4ea5e Mon Sep 17 00:00:00 2001
From: mverch67 <manuel.verch@gmx.de>
Date: Wed, 15 May 2024 08:10:52 +0200
Subject: [PATCH 1/2] fix native compilation for linux PCs

---
 src/platform/portduino/PortduinoGlue.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/platform/portduino/PortduinoGlue.cpp b/src/platform/portduino/PortduinoGlue.cpp
index 4077a27bc..89ac806dd 100644
--- a/src/platform/portduino/PortduinoGlue.cpp
+++ b/src/platform/portduino/PortduinoGlue.cpp
@@ -283,7 +283,7 @@ void portduinoSetup()
     }
 
     for (configNames i : GPIO_lines) {
-        if (settingsMap[i] > max_GPIO)
+        if (settingsMap.count(i) && settingsMap[i] > max_GPIO)
             max_GPIO = settingsMap[i];
     }
 
@@ -342,6 +342,7 @@ void portduinoSetup()
         if (settingsMap[touchscreenIRQ] > 0)
             initGPIOPin(settingsMap[touchscreenIRQ], gpioChipName);
     }
+
     if (settingsStrings[spidev] != "") {
         SPI.begin(settingsStrings[spidev].c_str());
     }
@@ -350,6 +351,7 @@ void portduinoSetup()
 
 int initGPIOPin(int pinNum, const std::string gpioChipName)
 {
+#ifdef PORTDUINO_LINUX_HARDWARE
     std::string gpio_name = "GPIO" + std::to_string(pinNum);
     try {
         GPIOPin *csPin;
@@ -362,4 +364,7 @@ int initGPIOPin(int pinNum, const std::string gpioChipName)
         std::cout << "Warning, cannot claim pin " << gpio_name << (p ? p.__cxa_exception_type()->name() : "null") << std::endl;
         return ERRNO_DISABLED;
     }
+#else
+    return ERRNO_OK;
+#endif
 }
\ No newline at end of file

From 33812a208283aa192a85c5e3e98054b1c2de1c2d Mon Sep 17 00:00:00 2001
From: mverch67 <manuel.verch@gmx.de>
Date: Wed, 15 May 2024 11:18:39 +0200
Subject: [PATCH 2/2] update portduino-framework

---
 arch/portduino/portduino.ini | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/portduino/portduino.ini b/arch/portduino/portduino.ini
index 63f5576b6..be374df32 100644
--- a/arch/portduino/portduino.ini
+++ b/arch/portduino/portduino.ini
@@ -1,6 +1,6 @@
 ; The Portduino based sim environment on top of any host OS, all hardware will be simulated
 [portduino_base]
-platform = https://github.com/meshtastic/platform-native.git#9881bf3721d610cccacf5ae8e3a07839cce75d63
+platform = https://github.com/meshtastic/platform-native.git#f5ec3c031b0fcd89c0523de9e43eef3a92d59292
 framework = arduino
 
 build_src_filter =