diff --git a/arch/portduino/portduino.ini b/arch/portduino/portduino.ini index 0dcc9afc2..172157de1 100644 --- a/arch/portduino/portduino.ini +++ b/arch/portduino/portduino.ini @@ -23,7 +23,7 @@ lib_deps = ${env.lib_deps} ${networking_base.lib_deps} rweather/Crypto@^0.4.0 - lovyan03/LovyanGFX@^1.1.12 + ;lovyan03/LovyanGFX@^1.1.12 build_flags = ${arduino_base.build_flags} diff --git a/src/ButtonThread.cpp b/src/ButtonThread.cpp index b4cf46b99..84d433285 100644 --- a/src/ButtonThread.cpp +++ b/src/ButtonThread.cpp @@ -3,6 +3,7 @@ #include "MeshService.h" #include "PowerFSM.h" #include "RadioLibInterface.h" +#include "buzz.h" #include "graphics/Screen.h" #include "main.h" #include "modules/ExternalNotificationModule.h" diff --git a/src/graphics/Screen.cpp b/src/graphics/Screen.cpp index 286f57da5..d7b5a29f6 100644 --- a/src/graphics/Screen.cpp +++ b/src/graphics/Screen.cpp @@ -907,7 +907,7 @@ Screen::Screen(ScanI2C::DeviceAddress address, meshtastic_Config_DisplayConfig_O #elif defined(USE_ST7567) dispdev = new ST7567Wire(address.address, -1, -1, geometry, (address.port == ScanI2C::I2CPort::WIRE1) ? HW_I2C::I2C_TWO : HW_I2C::I2C_ONE); -#elif ARCH_PORTDUINO +#elif ARCH_PORTDUINO && !HAS_TFT if (settingsMap[displayPanel] != no_screen) { LOG_DEBUG("Making TFTDisplay!\n"); dispdev = new TFTDisplay(address.address, -1, -1, geometry, @@ -1056,7 +1056,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 9475e0296..22f51a74a 100644 --- a/src/graphics/TFTDisplay.cpp +++ b/src/graphics/TFTDisplay.cpp @@ -333,7 +333,7 @@ static LGFX *tft = nullptr; #include // Graphics and font library for ILI9341 driver chip static TFT_eSPI *tft = nullptr; // Invoke library, pins defined in User_Setup.h -#elif ARCH_PORTDUINO +#elif ARCH_PORTDUINO && !HAS_TFT #include // Graphics and font library for ST7735 driver chip class LGFX : public lgfx::LGFX_Device diff --git a/src/modules/CannedMessageModule.cpp b/src/modules/CannedMessageModule.cpp index b2b52d1ab..98a192be9 100644 --- a/src/modules/CannedMessageModule.cpp +++ b/src/modules/CannedMessageModule.cpp @@ -2,7 +2,7 @@ #if ARCH_PORTDUINO #include "PortduinoGlue.h" #endif -#if HAS_SCREEN +#if HAS_SCREEN || HAS_TFT #include "CannedMessageModule.h" #include "Channels.h" #include "FSCommon.h" @@ -497,6 +497,7 @@ int CannedMessageModule::getPrevIndex() } } +#if !HAS_TFT void CannedMessageModule::drawFrame(OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y) { char buffer[50]; @@ -594,6 +595,7 @@ void CannedMessageModule::drawFrame(OLEDDisplay *display, OLEDDisplayUiState *st } } } +#endif ProcessMessage CannedMessageModule::handleReceived(const meshtastic_MeshPacket &mp) { diff --git a/src/modules/CannedMessageModule.h b/src/modules/CannedMessageModule.h index 2f5b57241..d24008569 100644 --- a/src/modules/CannedMessageModule.h +++ b/src/modules/CannedMessageModule.h @@ -79,7 +79,9 @@ class CannedMessageModule : public SinglePortModule, public ObservableshouldDraw(); } virtual Observable *getUIFrameObservable() override { return this; } +#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; diff --git a/variants/portduino/platformio.ini b/variants/portduino/platformio.ini index 957c20006..2c42b6ea1 100644 --- a/variants/portduino/platformio.ini +++ b/variants/portduino/platformio.ini @@ -1,9 +1,37 @@ [env:native] +;extends = portduino_base +;build_flags = ${portduino_base.build_flags} -O0 +; -I variants/portduino +;board = cross_platform +;lib_deps = ${portduino_base.lib_deps} +; lovyan03/LovyanGFX@^1.1.12 +;build_src_filter = ${portduino_base.build_src_filter} + +;[env:native-x11-320x240] extends = portduino_base -build_flags = ${portduino_base.build_flags} -O0 - -I variants/portduino - -D USE_PACKET_API - -D DEBUG_HEAP +build_flags = ${portduino_base.build_flags} -O0 -lX11 + -I variants/portduino + -D DEBUG_HEAP + -D SIMULATOR=1 + -D HAS_TFT=1 + -D HAS_SCREEN=0 + -D USE_X11=1 + -D USE_PACKET_API + -D VIEW_320x240 + -D VIEW_CLASS=TFTView_320x240 + -D VIEW_CLASS_INC=\"TFTView_320x240.h\" + -D LV_BUILD_TEST=0 + -D DISP_HOR_RES=320 + -D DISP_VER_RES=240 + -DLV_LVGL_H_INCLUDE_SIMPLE + -DLV_CONF_INCLUDE_SIMPLE + -DLV_COMP_CONF_INCLUDE_SIMPLE + -I lib/device-ui/generated/ui_320x240 board = cross_platform lib_deps = ${portduino_base.lib_deps} -build_src_filter = ${portduino_base.build_src_filter} + \ No newline at end of file + https://github.com/lvgl/lv_drivers.git ; x11 is currently only supported in master branch, not in 8.3.0 +build_src_filter = ${portduino_base.build_src_filter} + - + +<../lib/device-ui/generated/ui_320x240> + +<../lib/device-ui/resources> + +