From c25efac0c181de4ce6956e7d2b09192801e344c5 Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Sun, 7 Feb 2021 09:17:46 +0800 Subject: [PATCH 01/16] portduino wip --- .vscode/settings.json | 3 ++- src/main.cpp | 8 ++++++++ src/mesh/http/WiFiAPClient.cpp | 11 +---------- src/mesh/wifi/WiFiServerAPI.cpp | 11 +++++++++++ src/mesh/wifi/WiFiServerAPI.h | 2 ++ 5 files changed, 24 insertions(+), 11 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index f78fe51b8..13d59f6dd 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -68,5 +68,6 @@ "protobufs", "wifi" ], - "C_Cpp.dimInactiveRegions": true + "C_Cpp.dimInactiveRegions": true, + "cmake.configureOnOpen": true } \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index aa7b191d9..d54de075e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -32,6 +32,10 @@ #include "nimble/BluetoothUtil.h" #endif +#ifdef PORTDUINO +#include "mesh/wifi/WiFiServerAPI.h" +#endif + #include "RF95Interface.h" #include "SX1262Interface.h" @@ -524,6 +528,10 @@ void setup() webServerThread = new WebServerThread(); #endif +#ifdef PORTDUINO + initApiServer(); +#endif + // Start airtime logger thread. airTime = new AirTime(); diff --git a/src/mesh/http/WiFiAPClient.cpp b/src/mesh/http/WiFiAPClient.cpp index 3ecd7235d..bf8ee9624 100644 --- a/src/mesh/http/WiFiAPClient.cpp +++ b/src/mesh/http/WiFiAPClient.cpp @@ -14,8 +14,6 @@ static void WiFiEvent(WiFiEvent_t event); // DNS Server for the Captive Portal DNSServer dnsServer; -static WiFiServerPort *apiPort; - uint8_t wifiDisconnectReason = 0; // Stores our hostname @@ -180,14 +178,7 @@ void initWifi(bool forceSoftAP) DEBUG_MSG("Not using WIFI\n"); } -static void initApiServer() -{ - // Start API server on port 4403 - if (!apiPort) { - apiPort = new WiFiServerPort(); - apiPort->init(); - } -} + // Called by the Espressif SDK to static void WiFiEvent(WiFiEvent_t event) diff --git a/src/mesh/wifi/WiFiServerAPI.cpp b/src/mesh/wifi/WiFiServerAPI.cpp index 1f087cc10..cbf919b33 100644 --- a/src/mesh/wifi/WiFiServerAPI.cpp +++ b/src/mesh/wifi/WiFiServerAPI.cpp @@ -3,6 +3,17 @@ #include "configuration.h" #include +static WiFiServerPort *apiPort; + +void initApiServer() +{ + // Start API server on port 4403 + if (!apiPort) { + apiPort = new WiFiServerPort(); + apiPort->init(); + } +} + WiFiServerAPI::WiFiServerAPI(WiFiClient &_client) : StreamAPI(&client), client(_client) { DEBUG_MSG("Incoming wifi connection\n"); diff --git a/src/mesh/wifi/WiFiServerAPI.h b/src/mesh/wifi/WiFiServerAPI.h index 963800203..46e2fad93 100644 --- a/src/mesh/wifi/WiFiServerAPI.h +++ b/src/mesh/wifi/WiFiServerAPI.h @@ -48,3 +48,5 @@ class WiFiServerPort : public WiFiServer, private concurrency::OSThread int32_t runOnce(); }; + +void initApiServer(); From 6813a318950b635c487d069dbab4b5ed3df117e7 Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Sat, 13 Mar 2021 09:27:44 +0800 Subject: [PATCH 02/16] fix hop limit defaults for android --- src/mesh/ReliableRouter.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mesh/ReliableRouter.cpp b/src/mesh/ReliableRouter.cpp index 28ad65bfa..131d5bb97 100644 --- a/src/mesh/ReliableRouter.cpp +++ b/src/mesh/ReliableRouter.cpp @@ -14,9 +14,10 @@ ErrorCode ReliableRouter::send(MeshPacket *p) { if (p->want_ack) { // If someone asks for acks on broadcast, we need the hop limit to be at least one, so that first node that receives our - // message will rebroadcast + // message will rebroadcast. But asking for hop_limit 0 in that context means the client app has no preference on hop counts + // and we want this message to get through the whole mesh, so use the default. if (p->to == NODENUM_BROADCAST && p->hop_limit == 0) - p->hop_limit = 1; + p->hop_limit = HOP_RELIABLE; auto copy = packetPool.allocCopy(*p); startRetransmission(copy); From c0ac457cadc895ea485c38893a4aaecbca54cdfa Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Sat, 13 Mar 2021 13:14:27 +0800 Subject: [PATCH 03/16] lockdown plugins that touch hardware --- docs/software/TODO.md | 4 ++++ src/mesh/Channels.cpp | 4 ++++ src/mesh/Channels.h | 4 ++++ src/plugins/AdminPlugin.cpp | 2 +- src/plugins/ExternalNotificationPlugin.cpp | 5 +++++ src/plugins/ExternalNotificationPlugin.h | 2 +- src/plugins/RemoteHardwarePlugin.cpp | 3 ++- src/plugins/SerialPlugin.cpp | 6 ++++++ src/plugins/SerialPlugin.h | 3 +-- 9 files changed, 28 insertions(+), 5 deletions(-) diff --git a/docs/software/TODO.md b/docs/software/TODO.md index 3a768e68f..c6625e8ef 100644 --- a/docs/software/TODO.md +++ b/docs/software/TODO.md @@ -4,9 +4,13 @@ You probably don't care about this section - skip to the next one. ## 1.2 cleanup & multichannel support: +* cleanup the external notification and serial plugins +* non ack version of stress test fails sometimes! * timestamps on oled screen are wrong - don't seem to be updating based on message rx * luxon bug report - seeing rx acks for nodes that are not on the network * channel hash suffixes are wrong on android +* tx fault test has a bug #734 + * cdcacm bug on nrf52: emittx thinks it emitted but client sees nothing. works again later * nrf52: segger logs have errors in formatting that should be impossible (because not going through serial, try stalling on segger) * DONE call RouterPlugin for *all* packets - not just Router packets diff --git a/src/mesh/Channels.cpp b/src/mesh/Channels.cpp index 2a04c9a7b..135ff4329 100644 --- a/src/mesh/Channels.cpp +++ b/src/mesh/Channels.cpp @@ -10,6 +10,10 @@ static const uint8_t defaultpsk[] = {0xd4, 0xf1, 0xbb, 0x3a, 0x20, 0x29, 0x07, 0 Channels channels; +const char *Channels::adminChannel = "admin"; +const char *Channels::gpioChannel = "gpio"; +const char *Channels::serialChannel = "serial"; + uint8_t xorHash(const uint8_t *p, size_t len) { uint8_t code = 0; diff --git a/src/mesh/Channels.h b/src/mesh/Channels.h index 4fbafe42b..bbd767fa0 100644 --- a/src/mesh/Channels.h +++ b/src/mesh/Channels.h @@ -29,6 +29,10 @@ class Channels int16_t hashes[MAX_NUM_CHANNELS]; public: + + /// Well known channel names + static const char *adminChannel, *gpioChannel, *serialChannel; + const ChannelSettings &getPrimary() { return getByIndex(getPrimaryIndex()).settings; } /** Return the Channel for a specified index */ diff --git a/src/plugins/AdminPlugin.cpp b/src/plugins/AdminPlugin.cpp index 060b1e635..96b5c51a0 100644 --- a/src/plugins/AdminPlugin.cpp +++ b/src/plugins/AdminPlugin.cpp @@ -126,5 +126,5 @@ MeshPacket *AdminPlugin::allocReply() AdminPlugin::AdminPlugin() : ProtobufPlugin("Admin", PortNum_ADMIN_APP, AdminMessage_fields) { // restrict to the admin channel for rx - boundChannel = "admin"; + boundChannel = Channels::adminChannel; } diff --git a/src/plugins/ExternalNotificationPlugin.cpp b/src/plugins/ExternalNotificationPlugin.cpp index 0320c7b30..b69a13cf1 100644 --- a/src/plugins/ExternalNotificationPlugin.cpp +++ b/src/plugins/ExternalNotificationPlugin.cpp @@ -140,6 +140,11 @@ void ExternalNotificationPlugin::setExternalOff() // -------- +ExternalNotificationPluginRadio::ExternalNotificationPluginRadio() : SinglePortPlugin("ExternalNotificationPluginRadio", PortNum_TEXT_MESSAGE_APP) { + // restrict to the admin channel for rx + boundChannel = Channels::gpioChannel; +} + bool ExternalNotificationPluginRadio::handleReceived(const MeshPacket &mp) { #ifndef NO_ESP32 diff --git a/src/plugins/ExternalNotificationPlugin.h b/src/plugins/ExternalNotificationPlugin.h index a9ef58d04..cf4a4abb2 100644 --- a/src/plugins/ExternalNotificationPlugin.h +++ b/src/plugins/ExternalNotificationPlugin.h @@ -32,7 +32,7 @@ class ExternalNotificationPluginRadio : public SinglePortPlugin { public: - ExternalNotificationPluginRadio() : SinglePortPlugin("ExternalNotificationPluginRadio", PortNum_TEXT_MESSAGE_APP) {} + ExternalNotificationPluginRadio(); protected: //virtual MeshPacket *allocReply(); diff --git a/src/plugins/RemoteHardwarePlugin.cpp b/src/plugins/RemoteHardwarePlugin.cpp index 33130663f..ac7e70e58 100644 --- a/src/plugins/RemoteHardwarePlugin.cpp +++ b/src/plugins/RemoteHardwarePlugin.cpp @@ -69,7 +69,8 @@ bool RemoteHardwarePlugin::handleReceivedProtobuf(const MeshPacket &req, const H case HardwareMessage_Type_READ_GPIOS: { // Print notification to LCD screen - screen->print("Read GPIOs\n"); + if(screen) + screen->print("Read GPIOs\n"); uint64_t res = digitalReads(p.gpio_mask); diff --git a/src/plugins/SerialPlugin.cpp b/src/plugins/SerialPlugin.cpp index 9aab876f9..a2e2113b3 100644 --- a/src/plugins/SerialPlugin.cpp +++ b/src/plugins/SerialPlugin.cpp @@ -61,6 +61,12 @@ SerialPlugin::SerialPlugin() : concurrency::OSThread("SerialPlugin") {} char serialStringChar[Constants_DATA_PAYLOAD_LEN]; +SerialPluginRadio::SerialPluginRadio() : SinglePortPlugin("SerialPluginRadio", PortNum_SERIAL_APP) +{ + // restrict to the admin channel for rx + boundChannel = Channels::serialChannel; +} + int32_t SerialPlugin::runOnce() { #ifndef NO_ESP32 diff --git a/src/plugins/SerialPlugin.h b/src/plugins/SerialPlugin.h index 4555c65b8..54776ec6a 100644 --- a/src/plugins/SerialPlugin.h +++ b/src/plugins/SerialPlugin.h @@ -33,8 +33,7 @@ class SerialPluginRadio : public SinglePortPlugin from the main code. */ - // SerialPluginRadio() : SinglePortPlugin("SerialPluginRadio", PortNum_TEXT_MESSAGE_APP) {} - SerialPluginRadio() : SinglePortPlugin("SerialPluginRadio", PortNum_SERIAL_APP) {} + SerialPluginRadio(); /** * Send our payload into the mesh From a07291d904f56cb720a24e91ba696732f86c05bb Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Sat, 13 Mar 2021 13:32:23 +0800 Subject: [PATCH 04/16] cleanup external notification plugin --- src/plugins/ExternalNotificationPlugin.cpp | 98 +++++++++++----------- src/plugins/ExternalNotificationPlugin.h | 31 ++----- 2 files changed, 56 insertions(+), 73 deletions(-) diff --git a/src/plugins/ExternalNotificationPlugin.cpp b/src/plugins/ExternalNotificationPlugin.cpp index b69a13cf1..e48b7beda 100644 --- a/src/plugins/ExternalNotificationPlugin.cpp +++ b/src/plugins/ExternalNotificationPlugin.cpp @@ -43,25 +43,17 @@ */ - // Default configurations #define EXT_NOTIFICATION_PLUGIN_OUTPUT 13 #define EXT_NOTIFICATION_PLUGIN_OUTPUT_MS 1000 #define ASCII_BELL 0x07 -ExternalNotificationPlugin *externalNotificationPlugin; -ExternalNotificationPluginRadio *externalNotificationPluginRadio; - -ExternalNotificationPlugin::ExternalNotificationPlugin() : concurrency::OSThread("ExternalNotificationPlugin") {} - bool externalCurrentState = 0; uint32_t externalTurnedOn = 0; int32_t ExternalNotificationPlugin::runOnce() { -#ifndef NO_ESP32 - /* Uncomment the preferences below if you want to use the plugin without having to configure it from the PythonAPI or WebUI. @@ -75,48 +67,19 @@ int32_t ExternalNotificationPlugin::runOnce() // radioConfig.preferences.ext_notification_plugin_output_ms = 1000; // radioConfig.preferences.ext_notification_plugin_output = 13; - if (radioConfig.preferences.ext_notification_plugin_enabled) { + if (externalCurrentState) { - if (firstTime) { - - DEBUG_MSG("Initializing External Notification Plugin\n"); - - // Set the direction of a pin - pinMode((radioConfig.preferences.ext_notification_plugin_output - ? radioConfig.preferences.ext_notification_plugin_output - : EXT_NOTIFICATION_PLUGIN_OUTPUT), - OUTPUT); - - // Turn off the pin + // If the output is turned on, turn it back off after the given period of time. + if (externalTurnedOn + (radioConfig.preferences.ext_notification_plugin_output_ms + ? radioConfig.preferences.ext_notification_plugin_output_ms + : EXT_NOTIFICATION_PLUGIN_OUTPUT_MS) < + millis()) { + DEBUG_MSG("Turning off external notification\n"); setExternalOff(); - - externalNotificationPluginRadio = new ExternalNotificationPluginRadio(); - - firstTime = 0; - - } else { - if (externalCurrentState) { - - // If the output is turned on, turn it back off after the given period of time. - if (externalTurnedOn + (radioConfig.preferences.ext_notification_plugin_output_ms - ? radioConfig.preferences.ext_notification_plugin_output_ms - : EXT_NOTIFICATION_PLUGIN_OUTPUT_MS) < - millis()) { - DEBUG_MSG("Turning off external notification\n"); - setExternalOff(); - } - } } - - return (25); - } else { - DEBUG_MSG("External Notification Plugin Disabled\n"); - - return (INT32_MAX); } -#else - return INT32_MAX; -#endif + + return (25); } void ExternalNotificationPlugin::setExternalOn() @@ -140,12 +103,47 @@ void ExternalNotificationPlugin::setExternalOff() // -------- -ExternalNotificationPluginRadio::ExternalNotificationPluginRadio() : SinglePortPlugin("ExternalNotificationPluginRadio", PortNum_TEXT_MESSAGE_APP) { +ExternalNotificationPlugin::ExternalNotificationPlugin() + : SinglePortPlugin("ExternalNotificationPlugin", PortNum_TEXT_MESSAGE_APP), concurrency::OSThread( + "ExternalNotificationPlugin") +{ // restrict to the admin channel for rx boundChannel = Channels::gpioChannel; + +#ifndef NO_ESP32 + + /* + Uncomment the preferences below if you want to use the plugin + without having to configure it from the PythonAPI or WebUI. + */ + + // radioConfig.preferences.ext_notification_plugin_enabled = 1; + // radioConfig.preferences.ext_notification_plugin_alert_message = 1; + + // radioConfig.preferences.ext_notification_plugin_active = 1; + // radioConfig.preferences.ext_notification_plugin_alert_bell = 1; + // radioConfig.preferences.ext_notification_plugin_output_ms = 1000; + // radioConfig.preferences.ext_notification_plugin_output = 13; + + if (radioConfig.preferences.ext_notification_plugin_enabled) { + + DEBUG_MSG("Initializing External Notification Plugin\n"); + + // Set the direction of a pin + pinMode((radioConfig.preferences.ext_notification_plugin_output ? radioConfig.preferences.ext_notification_plugin_output + : EXT_NOTIFICATION_PLUGIN_OUTPUT), + OUTPUT); + + // Turn off the pin + setExternalOff(); + } else { + DEBUG_MSG("External Notification Plugin Disabled\n"); + enabled = false; + } +#endif } -bool ExternalNotificationPluginRadio::handleReceived(const MeshPacket &mp) +bool ExternalNotificationPlugin::handleReceived(const MeshPacket &mp) { #ifndef NO_ESP32 @@ -161,14 +159,14 @@ bool ExternalNotificationPluginRadio::handleReceived(const MeshPacket &mp) DEBUG_MSG("externalNotificationPlugin - Notification Bell\n"); for (int i = 0; i < p.payload.size; i++) { if (p.payload.bytes[i] == ASCII_BELL) { - externalNotificationPlugin->setExternalOn(); + setExternalOn(); } } } if (radioConfig.preferences.ext_notification_plugin_alert_message) { DEBUG_MSG("externalNotificationPlugin - Notification Plugin\n"); - externalNotificationPlugin->setExternalOn(); + setExternalOn(); } } diff --git a/src/plugins/ExternalNotificationPlugin.h b/src/plugins/ExternalNotificationPlugin.h index cf4a4abb2..cb430b1b7 100644 --- a/src/plugins/ExternalNotificationPlugin.h +++ b/src/plugins/ExternalNotificationPlugin.h @@ -6,11 +6,12 @@ #include #include - -class ExternalNotificationPlugin : private concurrency::OSThread +/* + * Radio interface for ExternalNotificationPlugin + * + */ +class ExternalNotificationPlugin : public SinglePortPlugin, private concurrency::OSThread { - bool firstTime = 1; - public: ExternalNotificationPlugin(); @@ -19,29 +20,13 @@ class ExternalNotificationPlugin : private concurrency::OSThread void getExternal(); protected: - virtual int32_t runOnce(); -}; - -extern ExternalNotificationPlugin *externalNotificationPlugin; - -/* - * Radio interface for ExternalNotificationPlugin - * - */ -class ExternalNotificationPluginRadio : public SinglePortPlugin -{ - - public: - ExternalNotificationPluginRadio(); - - protected: - //virtual MeshPacket *allocReply(); + // virtual MeshPacket *allocReply(); /** Called to handle a particular incoming message @return true if you've guaranteed you've handled this message and no other handlers should be considered for it */ virtual bool handleReceived(const MeshPacket &mp); -}; -extern ExternalNotificationPluginRadio *externalNotificationPluginRadio; \ No newline at end of file + virtual int32_t runOnce(); +}; From efebb8bb0b25000010d06624e0c98bafe69012a7 Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Sun, 14 Mar 2021 10:13:28 +0800 Subject: [PATCH 05/16] remove country from rom support --- bin/build-all.sh | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/bin/build-all.sh b/bin/build-all.sh index fae51feee..1e2f159bb 100755 --- a/bin/build-all.sh +++ b/bin/build-all.sh @@ -4,12 +4,6 @@ set -e VERSION=`bin/buildinfo.py` -# We now only do regionless builds -COUNTRIES="" -#COUNTRIES="US EU433 EU865 CN JP ANZ KR" -#COUNTRIES=US -#COUNTRIES=CN - BOARDS_ESP32="tlora-v2 tlora-v1 tlora-v2-1-1.6 tbeam heltec tbeam0.7" #BOARDS_ESP32=tbeam @@ -30,26 +24,17 @@ mkdir -p $OUTDIR/bins/universal $OUTDIR/elfs/universal # build the named environment and copy the bins to the release directory function do_build() { BOARD=$1 - COUNTRY=$2 isNrf=$3 - echo "Building $COUNTRY for $BOARD with $PLATFORMIO_BUILD_FLAGS" + echo "Building for $BOARD with $PLATFORMIO_BUILD_FLAGS" rm -f .pio/build/$BOARD/firmware.* # The shell vars the build tool expects to find export APP_VERSION=$VERSION # Are we building a universal/regionless rom? - if [ "x$COUNTRY" != "x" ] - then - export HW_VERSION="1.0-$COUNTRY" - export COUNTRY - basename=firmware-$BOARD-$COUNTRY-$VERSION - else - export HW_VERSION="1.0" - unset COUNTRY - basename=universal/firmware-$BOARD-$VERSION - fi + export HW_VERSION="1.0" + basename=universal/firmware-$BOARD-$VERSION pio run --environment $BOARD # -v SRCELF=.pio/build/$BOARD/firmware.elf @@ -71,10 +56,6 @@ function do_boards() { declare boards=$1 declare isNrf=$2 for board in $boards; do - for country in $COUNTRIES; do - do_build $board $country "$isNrf" - done - # Build universal do_build $board "" "$isNrf" done From 9a03536e3d82c690d5f735ae9a73d151287787d4 Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Sun, 14 Mar 2021 10:37:32 +0800 Subject: [PATCH 06/16] Use enums for hw_model per @sachaw idea. --- docs/software/TODO.md | 4 +++- proto | 2 +- src/configuration.h | 24 ++++++++++----------- src/main.cpp | 2 +- src/mesh/NodeDB.cpp | 6 +++++- src/mesh/generated/deviceonly.pb.h | 2 +- src/mesh/generated/mesh.pb.c | 1 + src/mesh/generated/mesh.pb.h | 34 ++++++++++++++++++++++++------ src/nrf52/NRF52Bluetooth.cpp | 3 ++- 9 files changed, 54 insertions(+), 24 deletions(-) diff --git a/docs/software/TODO.md b/docs/software/TODO.md index c6625e8ef..9633c021e 100644 --- a/docs/software/TODO.md +++ b/docs/software/TODO.md @@ -4,12 +4,14 @@ You probably don't care about this section - skip to the next one. ## 1.2 cleanup & multichannel support: -* cleanup the external notification and serial plugins +* DONE cleanup the external notification and serial plugins * non ack version of stress test fails sometimes! * timestamps on oled screen are wrong - don't seem to be updating based on message rx * luxon bug report - seeing rx acks for nodes that are not on the network * channel hash suffixes are wrong on android * tx fault test has a bug #734 +* DONE move device types into an enum in nodeinfo +* fix android to use new device types for firmware update * cdcacm bug on nrf52: emittx thinks it emitted but client sees nothing. works again later * nrf52: segger logs have errors in formatting that should be impossible (because not going through serial, try stalling on segger) diff --git a/proto b/proto index bf8ac6718..b6fdb78c0 160000 --- a/proto +++ b/proto @@ -1 +1 @@ -Subproject commit bf8ac6718c08fe7c94a9896d91ef85572694f7b0 +Subproject commit b6fdb78c0738d0f348ae45f76de4e6360c7e479e diff --git a/src/configuration.h b/src/configuration.h index cb68a2e39..fb84203d2 100644 --- a/src/configuration.h +++ b/src/configuration.h @@ -163,7 +163,7 @@ along with this program. If not, see . #if defined(TBEAM_V10) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR "tbeam" +#define HW_VENDOR NodeInfo_HardwareModel_TBEAM // #define BUTTON_NEED_PULLUP // if set we need to turn on the internal CPU pullup during sleep @@ -204,7 +204,7 @@ along with this program. If not, see . #elif defined(TBEAM_V07) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR "tbeam0.7" +#define HW_VENDOR NodeInfo_HardwareModel_TBEAM0p7 // #define BUTTON_NEED_PULLUP // if set we need to turn on the internal CPU pullup during sleep @@ -228,7 +228,7 @@ along with this program. If not, see . #elif defined(ARDUINO_HELTEC_WIFI_LORA_32_V2) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR "heltec" +#define HW_VENDOR NodeInfo_HardwareModel_HELTEC // the default ESP32 Pin of 15 is the Oled SCL, set to 36 and 37 and works fine. // Tested on Neo6m module. @@ -258,7 +258,7 @@ along with this program. If not, see . #elif defined(TLORA_V1) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR "tlora-v1" +#define HW_VENDOR NodeInfo_HardwareModel_TLORA_V1 #undef GPS_RX_PIN #undef GPS_TX_PIN #define GPS_RX_PIN 36 @@ -282,7 +282,7 @@ along with this program. If not, see . #elif defined(TLORA_V2) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR "tlora-v2" +#define HW_VENDOR NodeInfo_HardwareModel_TLORA_V2 #undef GPS_RX_PIN #undef GPS_TX_PIN @@ -311,7 +311,7 @@ along with this program. If not, see . #elif defined(TLORA_V1_3) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR "tlora-v1-3" +#define HW_VENDOR NodeInfo_HardwareModel_TLORA_V1p3 #undef GPS_RX_PIN #undef GPS_TX_PIN @@ -338,7 +338,7 @@ along with this program. If not, see . #elif defined(TLORA_V2_1_16) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR "tlora-v2-1-1.6" +#define HW_VENDOR NodeInfo_HardwareModel_TLORA_V2_1p6_ #undef GPS_RX_PIN #undef GPS_TX_PIN @@ -366,7 +366,7 @@ along with this program. If not, see . #elif defined(GENIEBLOCKS) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR "genieblocks" +#define HW_VENDOR NodeInfo_HardwareModel_GENIEBLOCKS #undef GPS_RX_PIN #undef GPS_TX_PIN #define GPS_RX_PIN 5 @@ -399,7 +399,7 @@ along with this program. If not, see . #ifdef ARDUINO_NRF52840_PCA10056 // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR "nrf52dk" +#define HW_VENDOR NodeInfo_HardwareModel_NRF52840DK // This board uses 0 to be mean LED on #undef LED_INVERTED @@ -407,15 +407,15 @@ along with this program. If not, see . #elif defined(ARDUINO_NRF52840_PPR) -#define HW_VENDOR "ppr" +#define HW_VENDOR NodeInfo_HardwareModel_PPR #elif NRF52_SERIES -#define HW_VENDOR "nrf52unknown" // FIXME - unknown nrf52 board +#define HW_VENDOR NodeInfo_HardwareModel_NRF52_UNKNOWN #elif PORTDUINO -#define HW_VENDOR "portduino" +#define HW_VENDOR NodeInfo_HardwareModel_PORTDUINO #define USE_SIM_RADIO diff --git a/src/main.cpp b/src/main.cpp index d4eaafae2..d0c024004 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -365,7 +365,7 @@ void setup() #endif // Hello - DEBUG_MSG("Meshtastic hwvendor=%s, swver=%s, hwver=%s\n", HW_VENDOR, optstr(APP_VERSION), optstr(HW_VERSION)); + DEBUG_MSG("Meshtastic hwvendor=%d, swver=%s, hwver=%s\n", HW_VENDOR, optstr(APP_VERSION), optstr(HW_VERSION)); #ifndef NO_ESP32 // Don't init display if we don't have one or we are waking headless due to a timer event diff --git a/src/mesh/NodeDB.cpp b/src/mesh/NodeDB.cpp index 1840aa360..363f84320 100644 --- a/src/mesh/NodeDB.cpp +++ b/src/mesh/NodeDB.cpp @@ -199,6 +199,7 @@ void NodeDB::init() NodeInfo *info = getOrCreateNode(getNodeNum()); info->user = owner; info->has_user = true; + info->hw_model = HW_VENDOR; // removed from 1.2 (though we do use old values if found) // We set these _after_ loading from disk - because they come from the build and are more trusted than @@ -223,7 +224,10 @@ void NodeDB::init() } strncpy(myNodeInfo.firmware_version, optstr(APP_VERSION), sizeof(myNodeInfo.firmware_version)); - strncpy(myNodeInfo.hw_model, HW_VENDOR, sizeof(myNodeInfo.hw_model)); + + // hw_model is no longer stored in myNodeInfo (as of 1.2.11) - we now store it as an enum in nodeinfo + myNodeInfo.hw_model[0] = '\0'; + // strncpy(myNodeInfo.hw_model, HW_VENDOR, sizeof(myNodeInfo.hw_model)); resetRadioConfig(); // If bogus settings got saved, then fix them diff --git a/src/mesh/generated/deviceonly.pb.h b/src/mesh/generated/deviceonly.pb.h index 9c40e2110..dec0eb35f 100644 --- a/src/mesh/generated/deviceonly.pb.h +++ b/src/mesh/generated/deviceonly.pb.h @@ -125,7 +125,7 @@ extern const pb_msgdesc_t ChannelFile_msg; /* Maximum encoded size of messages (where known) */ #define LegacyRadioConfig_size 4 #define LegacyRadioConfig_LegacyPreferences_size 2 -#define DeviceState_size 5056 +#define DeviceState_size 4896 #define ChannelFile_size 832 #ifdef __cplusplus diff --git a/src/mesh/generated/mesh.pb.c b/src/mesh/generated/mesh.pb.c index ab27832f8..b2cc65f06 100644 --- a/src/mesh/generated/mesh.pb.c +++ b/src/mesh/generated/mesh.pb.c @@ -45,3 +45,4 @@ PB_BIND(ToRadio, ToRadio, 2) + diff --git a/src/mesh/generated/mesh.pb.h b/src/mesh/generated/mesh.pb.h index 10487e40d..72880434e 100644 --- a/src/mesh/generated/mesh.pb.h +++ b/src/mesh/generated/mesh.pb.h @@ -51,6 +51,24 @@ typedef enum _MeshPacket_Priority { MeshPacket_Priority_MAX = 127 } MeshPacket_Priority; +typedef enum _NodeInfo_HardwareModel { + NodeInfo_HardwareModel_UNSET = 0, + NodeInfo_HardwareModel_TLORA_V2 = 1, + NodeInfo_HardwareModel_TLORA_V1 = 2, + NodeInfo_HardwareModel_TLORA_V2_1_1p6 = 3, + NodeInfo_HardwareModel_TBEAM = 4, + NodeInfo_HardwareModel_HELTEC = 5, + NodeInfo_HardwareModel_TBEAM0p7 = 6, + NodeInfo_HardwareModel_T_ECHO = 7, + NodeInfo_HardwareModel_TLORA_V1_1p3 = 8, + NodeInfo_HardwareModel_LORA_RELAY_V1 = 32, + NodeInfo_HardwareModel_NRF52840DK = 33, + NodeInfo_HardwareModel_PPR = 34, + NodeInfo_HardwareModel_GENIEBLOCKS = 35, + NodeInfo_HardwareModel_NRF52_UNKNOWN = 36, + NodeInfo_HardwareModel_PORTDUINO = 37 +} NodeInfo_HardwareModel; + typedef enum _LogRecord_Level { LogRecord_Level_UNSET = 0, LogRecord_Level_CRITICAL = 50, @@ -138,7 +156,7 @@ typedef struct _NodeInfo { User user; bool has_position; Position position; - uint32_t next_hop; + NodeInfo_HardwareModel hw_model; float snr; } NodeInfo; @@ -190,6 +208,10 @@ typedef struct _ToRadio { #define _MeshPacket_Priority_MAX MeshPacket_Priority_MAX #define _MeshPacket_Priority_ARRAYSIZE ((MeshPacket_Priority)(MeshPacket_Priority_MAX+1)) +#define _NodeInfo_HardwareModel_MIN NodeInfo_HardwareModel_UNSET +#define _NodeInfo_HardwareModel_MAX NodeInfo_HardwareModel_PORTDUINO +#define _NodeInfo_HardwareModel_ARRAYSIZE ((NodeInfo_HardwareModel)(NodeInfo_HardwareModel_PORTDUINO+1)) + #define _LogRecord_Level_MIN LogRecord_Level_UNSET #define _LogRecord_Level_MAX LogRecord_Level_CRITICAL #define _LogRecord_Level_ARRAYSIZE ((LogRecord_Level)(LogRecord_Level_CRITICAL+1)) @@ -206,7 +228,7 @@ extern "C" { #define Routing_init_default {0, {RouteDiscovery_init_default}} #define Data_init_default {_PortNum_MIN, {0, {0}}, 0, 0, 0, 0} #define MeshPacket_init_default {0, 0, 0, 0, {Data_init_default}, 0, 0, 0, 0, 0, _MeshPacket_Priority_MIN} -#define NodeInfo_init_default {0, false, User_init_default, false, Position_init_default, 0, 0} +#define NodeInfo_init_default {0, false, User_init_default, false, Position_init_default, _NodeInfo_HardwareModel_MIN, 0} #define MyNodeInfo_init_default {0, 0, 0, "", "", "", _CriticalErrorCode_MIN, 0, 0, 0, 0, 0} #define LogRecord_init_default {"", 0, "", _LogRecord_Level_MIN} #define FromRadio_init_default {0, 0, {MyNodeInfo_init_default}} @@ -217,7 +239,7 @@ extern "C" { #define Routing_init_zero {0, {RouteDiscovery_init_zero}} #define Data_init_zero {_PortNum_MIN, {0, {0}}, 0, 0, 0, 0} #define MeshPacket_init_zero {0, 0, 0, 0, {Data_init_zero}, 0, 0, 0, 0, 0, _MeshPacket_Priority_MIN} -#define NodeInfo_init_zero {0, false, User_init_zero, false, Position_init_zero, 0, 0} +#define NodeInfo_init_zero {0, false, User_init_zero, false, Position_init_zero, _NodeInfo_HardwareModel_MIN, 0} #define MyNodeInfo_init_zero {0, 0, 0, "", "", "", _CriticalErrorCode_MIN, 0, 0, 0, 0, 0} #define LogRecord_init_zero {"", 0, "", _LogRecord_Level_MIN} #define FromRadio_init_zero {0, 0, {MyNodeInfo_init_zero}} @@ -270,7 +292,7 @@ extern "C" { #define NodeInfo_num_tag 1 #define NodeInfo_user_tag 2 #define NodeInfo_position_tag 3 -#define NodeInfo_next_hop_tag 5 +#define NodeInfo_hw_model_tag 6 #define NodeInfo_snr_tag 7 #define Routing_route_request_tag 1 #define Routing_route_reply_tag 2 @@ -347,7 +369,7 @@ X(a, STATIC, SINGULAR, UENUM, priority, 12) X(a, STATIC, SINGULAR, UINT32, num, 1) \ X(a, STATIC, OPTIONAL, MESSAGE, user, 2) \ X(a, STATIC, OPTIONAL, MESSAGE, position, 3) \ -X(a, STATIC, SINGULAR, UINT32, next_hop, 5) \ +X(a, STATIC, SINGULAR, UENUM, hw_model, 6) \ X(a, STATIC, SINGULAR, FLOAT, snr, 7) #define NodeInfo_CALLBACK NULL #define NodeInfo_DEFAULT NULL @@ -432,7 +454,7 @@ extern const pb_msgdesc_t ToRadio_msg; #define Routing_size 42 #define Data_size 260 #define MeshPacket_size 298 -#define NodeInfo_size 130 +#define NodeInfo_size 126 #define MyNodeInfo_size 89 #define LogRecord_size 81 #define FromRadio_size 307 diff --git a/src/nrf52/NRF52Bluetooth.cpp b/src/nrf52/NRF52Bluetooth.cpp index 35093ff17..244918e93 100644 --- a/src/nrf52/NRF52Bluetooth.cpp +++ b/src/nrf52/NRF52Bluetooth.cpp @@ -224,7 +224,8 @@ void NRF52Bluetooth::setup() // Configure and Start the Device Information Service DEBUG_MSG("Configuring the Device Information Service\n"); - bledis.setManufacturer(HW_VENDOR); + // FIXME, we should set a mfg string based on our HW_VENDOR enum + // bledis.setManufacturer(HW_VENDOR); bledis.setModel(optstr(HW_VERSION)); bledis.setFirmwareRev(optstr(APP_VERSION)); bledis.begin(); From d9fc7b32c37b247f8858ab45c6ae74ae2c12802f Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Sun, 14 Mar 2021 10:48:20 +0800 Subject: [PATCH 07/16] move hw_model into User --- proto | 2 +- src/configuration.h | 24 ++++++------ src/mesh/NodeDB.cpp | 4 +- src/mesh/generated/deviceonly.pb.h | 2 +- src/mesh/generated/mesh.pb.h | 62 +++++++++++++++--------------- 5 files changed, 48 insertions(+), 46 deletions(-) diff --git a/proto b/proto index b6fdb78c0..943c3c24e 160000 --- a/proto +++ b/proto @@ -1 +1 @@ -Subproject commit b6fdb78c0738d0f348ae45f76de4e6360c7e479e +Subproject commit 943c3c24ec1e5116536cdabe31f496cb5b58a18e diff --git a/src/configuration.h b/src/configuration.h index fb84203d2..e389e46cf 100644 --- a/src/configuration.h +++ b/src/configuration.h @@ -163,7 +163,7 @@ along with this program. If not, see . #if defined(TBEAM_V10) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR NodeInfo_HardwareModel_TBEAM +#define HW_VENDOR HardwareModel_TBEAM // #define BUTTON_NEED_PULLUP // if set we need to turn on the internal CPU pullup during sleep @@ -204,7 +204,7 @@ along with this program. If not, see . #elif defined(TBEAM_V07) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR NodeInfo_HardwareModel_TBEAM0p7 +#define HW_VENDOR HardwareModel_TBEAM0p7 // #define BUTTON_NEED_PULLUP // if set we need to turn on the internal CPU pullup during sleep @@ -228,7 +228,7 @@ along with this program. If not, see . #elif defined(ARDUINO_HELTEC_WIFI_LORA_32_V2) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR NodeInfo_HardwareModel_HELTEC +#define HW_VENDOR HardwareModel_HELTEC // the default ESP32 Pin of 15 is the Oled SCL, set to 36 and 37 and works fine. // Tested on Neo6m module. @@ -258,7 +258,7 @@ along with this program. If not, see . #elif defined(TLORA_V1) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR NodeInfo_HardwareModel_TLORA_V1 +#define HW_VENDOR HardwareModel_TLORA_V1 #undef GPS_RX_PIN #undef GPS_TX_PIN #define GPS_RX_PIN 36 @@ -282,7 +282,7 @@ along with this program. If not, see . #elif defined(TLORA_V2) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR NodeInfo_HardwareModel_TLORA_V2 +#define HW_VENDOR HardwareModel_TLORA_V2 #undef GPS_RX_PIN #undef GPS_TX_PIN @@ -311,7 +311,7 @@ along with this program. If not, see . #elif defined(TLORA_V1_3) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR NodeInfo_HardwareModel_TLORA_V1p3 +#define HW_VENDOR HardwareModel_TLORA_V1p3 #undef GPS_RX_PIN #undef GPS_TX_PIN @@ -338,7 +338,7 @@ along with this program. If not, see . #elif defined(TLORA_V2_1_16) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR NodeInfo_HardwareModel_TLORA_V2_1p6_ +#define HW_VENDOR HardwareModel_TLORA_V2_1p6_ #undef GPS_RX_PIN #undef GPS_TX_PIN @@ -366,7 +366,7 @@ along with this program. If not, see . #elif defined(GENIEBLOCKS) // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR NodeInfo_HardwareModel_GENIEBLOCKS +#define HW_VENDOR HardwareModel_GENIEBLOCKS #undef GPS_RX_PIN #undef GPS_TX_PIN #define GPS_RX_PIN 5 @@ -399,7 +399,7 @@ along with this program. If not, see . #ifdef ARDUINO_NRF52840_PCA10056 // This string must exactly match the case used in release file names or the android updater won't work -#define HW_VENDOR NodeInfo_HardwareModel_NRF52840DK +#define HW_VENDOR HardwareModel_NRF52840DK // This board uses 0 to be mean LED on #undef LED_INVERTED @@ -407,15 +407,15 @@ along with this program. If not, see . #elif defined(ARDUINO_NRF52840_PPR) -#define HW_VENDOR NodeInfo_HardwareModel_PPR +#define HW_VENDOR HardwareModel_PPR #elif NRF52_SERIES -#define HW_VENDOR NodeInfo_HardwareModel_NRF52_UNKNOWN +#define HW_VENDOR HardwareModel_NRF52_UNKNOWN #elif PORTDUINO -#define HW_VENDOR NodeInfo_HardwareModel_PORTDUINO +#define HW_VENDOR HardwareModel_PORTDUINO #define USE_SIM_RADIO diff --git a/src/mesh/NodeDB.cpp b/src/mesh/NodeDB.cpp index 363f84320..96d7cc307 100644 --- a/src/mesh/NodeDB.cpp +++ b/src/mesh/NodeDB.cpp @@ -195,11 +195,13 @@ void NodeDB::init() // keep using that nodenum forever. Crummy guess at our nodenum (but we will check against the nodedb to avoid conflicts) pickNewNodeNum(); + // Set our board type so we can share it with others + owner.hw_model = HW_VENDOR; + // Include our owner in the node db under our nodenum NodeInfo *info = getOrCreateNode(getNodeNum()); info->user = owner; info->has_user = true; - info->hw_model = HW_VENDOR; // removed from 1.2 (though we do use old values if found) // We set these _after_ loading from disk - because they come from the build and are more trusted than diff --git a/src/mesh/generated/deviceonly.pb.h b/src/mesh/generated/deviceonly.pb.h index dec0eb35f..a325dfc50 100644 --- a/src/mesh/generated/deviceonly.pb.h +++ b/src/mesh/generated/deviceonly.pb.h @@ -125,7 +125,7 @@ extern const pb_msgdesc_t ChannelFile_msg; /* Maximum encoded size of messages (where known) */ #define LegacyRadioConfig_size 4 #define LegacyRadioConfig_LegacyPreferences_size 2 -#define DeviceState_size 4896 +#define DeviceState_size 4898 #define ChannelFile_size 832 #ifdef __cplusplus diff --git a/src/mesh/generated/mesh.pb.h b/src/mesh/generated/mesh.pb.h index 72880434e..3c923ad6c 100644 --- a/src/mesh/generated/mesh.pb.h +++ b/src/mesh/generated/mesh.pb.h @@ -11,6 +11,24 @@ #endif /* Enum definitions */ +typedef enum _HardwareModel { + HardwareModel_UNSET = 0, + HardwareModel_TLORA_V2 = 1, + HardwareModel_TLORA_V1 = 2, + HardwareModel_TLORA_V2_1_1p6 = 3, + HardwareModel_TBEAM = 4, + HardwareModel_HELTEC = 5, + HardwareModel_TBEAM0p7 = 6, + HardwareModel_T_ECHO = 7, + HardwareModel_TLORA_V1_1p3 = 8, + HardwareModel_LORA_RELAY_V1 = 32, + HardwareModel_NRF52840DK = 33, + HardwareModel_PPR = 34, + HardwareModel_GENIEBLOCKS = 35, + HardwareModel_NRF52_UNKNOWN = 36, + HardwareModel_PORTDUINO = 37 +} HardwareModel; + typedef enum _Constants { Constants_Unused = 0, Constants_DATA_PAYLOAD_LEN = 240 @@ -51,24 +69,6 @@ typedef enum _MeshPacket_Priority { MeshPacket_Priority_MAX = 127 } MeshPacket_Priority; -typedef enum _NodeInfo_HardwareModel { - NodeInfo_HardwareModel_UNSET = 0, - NodeInfo_HardwareModel_TLORA_V2 = 1, - NodeInfo_HardwareModel_TLORA_V1 = 2, - NodeInfo_HardwareModel_TLORA_V2_1_1p6 = 3, - NodeInfo_HardwareModel_TBEAM = 4, - NodeInfo_HardwareModel_HELTEC = 5, - NodeInfo_HardwareModel_TBEAM0p7 = 6, - NodeInfo_HardwareModel_T_ECHO = 7, - NodeInfo_HardwareModel_TLORA_V1_1p3 = 8, - NodeInfo_HardwareModel_LORA_RELAY_V1 = 32, - NodeInfo_HardwareModel_NRF52840DK = 33, - NodeInfo_HardwareModel_PPR = 34, - NodeInfo_HardwareModel_GENIEBLOCKS = 35, - NodeInfo_HardwareModel_NRF52_UNKNOWN = 36, - NodeInfo_HardwareModel_PORTDUINO = 37 -} NodeInfo_HardwareModel; - typedef enum _LogRecord_Level { LogRecord_Level_UNSET = 0, LogRecord_Level_CRITICAL = 50, @@ -130,6 +130,7 @@ typedef struct _User { char long_name[40]; char short_name[5]; pb_byte_t macaddr[6]; + HardwareModel hw_model; } User; typedef PB_BYTES_ARRAY_T(256) MeshPacket_encrypted_t; @@ -156,7 +157,6 @@ typedef struct _NodeInfo { User user; bool has_position; Position position; - NodeInfo_HardwareModel hw_model; float snr; } NodeInfo; @@ -192,6 +192,10 @@ typedef struct _ToRadio { /* Helper constants for enums */ +#define _HardwareModel_MIN HardwareModel_UNSET +#define _HardwareModel_MAX HardwareModel_PORTDUINO +#define _HardwareModel_ARRAYSIZE ((HardwareModel)(HardwareModel_PORTDUINO+1)) + #define _Constants_MIN Constants_Unused #define _Constants_MAX Constants_DATA_PAYLOAD_LEN #define _Constants_ARRAYSIZE ((Constants)(Constants_DATA_PAYLOAD_LEN+1)) @@ -208,10 +212,6 @@ typedef struct _ToRadio { #define _MeshPacket_Priority_MAX MeshPacket_Priority_MAX #define _MeshPacket_Priority_ARRAYSIZE ((MeshPacket_Priority)(MeshPacket_Priority_MAX+1)) -#define _NodeInfo_HardwareModel_MIN NodeInfo_HardwareModel_UNSET -#define _NodeInfo_HardwareModel_MAX NodeInfo_HardwareModel_PORTDUINO -#define _NodeInfo_HardwareModel_ARRAYSIZE ((NodeInfo_HardwareModel)(NodeInfo_HardwareModel_PORTDUINO+1)) - #define _LogRecord_Level_MIN LogRecord_Level_UNSET #define _LogRecord_Level_MAX LogRecord_Level_CRITICAL #define _LogRecord_Level_ARRAYSIZE ((LogRecord_Level)(LogRecord_Level_CRITICAL+1)) @@ -223,23 +223,23 @@ extern "C" { /* Initializer values for message structs */ #define Position_init_default {0, 0, 0, 0, 0} -#define User_init_default {"", "", "", {0}} +#define User_init_default {"", "", "", {0}, _HardwareModel_MIN} #define RouteDiscovery_init_default {0, {0, 0, 0, 0, 0, 0, 0, 0}} #define Routing_init_default {0, {RouteDiscovery_init_default}} #define Data_init_default {_PortNum_MIN, {0, {0}}, 0, 0, 0, 0} #define MeshPacket_init_default {0, 0, 0, 0, {Data_init_default}, 0, 0, 0, 0, 0, _MeshPacket_Priority_MIN} -#define NodeInfo_init_default {0, false, User_init_default, false, Position_init_default, _NodeInfo_HardwareModel_MIN, 0} +#define NodeInfo_init_default {0, false, User_init_default, false, Position_init_default, 0} #define MyNodeInfo_init_default {0, 0, 0, "", "", "", _CriticalErrorCode_MIN, 0, 0, 0, 0, 0} #define LogRecord_init_default {"", 0, "", _LogRecord_Level_MIN} #define FromRadio_init_default {0, 0, {MyNodeInfo_init_default}} #define ToRadio_init_default {0, {MeshPacket_init_default}} #define Position_init_zero {0, 0, 0, 0, 0} -#define User_init_zero {"", "", "", {0}} +#define User_init_zero {"", "", "", {0}, _HardwareModel_MIN} #define RouteDiscovery_init_zero {0, {0, 0, 0, 0, 0, 0, 0, 0}} #define Routing_init_zero {0, {RouteDiscovery_init_zero}} #define Data_init_zero {_PortNum_MIN, {0, {0}}, 0, 0, 0, 0} #define MeshPacket_init_zero {0, 0, 0, 0, {Data_init_zero}, 0, 0, 0, 0, 0, _MeshPacket_Priority_MIN} -#define NodeInfo_init_zero {0, false, User_init_zero, false, Position_init_zero, _NodeInfo_HardwareModel_MIN, 0} +#define NodeInfo_init_zero {0, false, User_init_zero, false, Position_init_zero, 0} #define MyNodeInfo_init_zero {0, 0, 0, "", "", "", _CriticalErrorCode_MIN, 0, 0, 0, 0, 0} #define LogRecord_init_zero {"", 0, "", _LogRecord_Level_MIN} #define FromRadio_init_zero {0, 0, {MyNodeInfo_init_zero}} @@ -278,6 +278,7 @@ extern "C" { #define User_long_name_tag 2 #define User_short_name_tag 3 #define User_macaddr_tag 4 +#define User_hw_model_tag 6 #define MeshPacket_from_tag 1 #define MeshPacket_to_tag 2 #define MeshPacket_channel_tag 3 @@ -292,7 +293,6 @@ extern "C" { #define NodeInfo_num_tag 1 #define NodeInfo_user_tag 2 #define NodeInfo_position_tag 3 -#define NodeInfo_hw_model_tag 6 #define NodeInfo_snr_tag 7 #define Routing_route_request_tag 1 #define Routing_route_reply_tag 2 @@ -321,7 +321,8 @@ X(a, STATIC, SINGULAR, FIXED32, time, 9) X(a, STATIC, SINGULAR, STRING, id, 1) \ X(a, STATIC, SINGULAR, STRING, long_name, 2) \ X(a, STATIC, SINGULAR, STRING, short_name, 3) \ -X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, macaddr, 4) +X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, macaddr, 4) \ +X(a, STATIC, SINGULAR, UENUM, hw_model, 6) #define User_CALLBACK NULL #define User_DEFAULT NULL @@ -369,7 +370,6 @@ X(a, STATIC, SINGULAR, UENUM, priority, 12) X(a, STATIC, SINGULAR, UINT32, num, 1) \ X(a, STATIC, OPTIONAL, MESSAGE, user, 2) \ X(a, STATIC, OPTIONAL, MESSAGE, position, 3) \ -X(a, STATIC, SINGULAR, UENUM, hw_model, 6) \ X(a, STATIC, SINGULAR, FLOAT, snr, 7) #define NodeInfo_CALLBACK NULL #define NodeInfo_DEFAULT NULL @@ -449,7 +449,7 @@ extern const pb_msgdesc_t ToRadio_msg; /* Maximum encoded size of messages (where known) */ #define Position_size 37 -#define User_size 72 +#define User_size 74 #define RouteDiscovery_size 40 #define Routing_size 42 #define Data_size 260 From 53671283ae4d78556600f4817d9f9135d526eb68 Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Sun, 14 Mar 2021 10:57:26 +0800 Subject: [PATCH 08/16] change hw_model_deprecated to intentionally break old apps --- proto | 2 +- src/mesh/NodeDB.cpp | 2 +- src/mesh/generated/mesh.pb.h | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/proto b/proto index 943c3c24e..e68763737 160000 --- a/proto +++ b/proto @@ -1 +1 @@ -Subproject commit 943c3c24ec1e5116536cdabe31f496cb5b58a18e +Subproject commit e68763737e3345ebf12c4776c84d27d83e1e9e1a diff --git a/src/mesh/NodeDB.cpp b/src/mesh/NodeDB.cpp index 96d7cc307..35f54fa72 100644 --- a/src/mesh/NodeDB.cpp +++ b/src/mesh/NodeDB.cpp @@ -228,7 +228,7 @@ void NodeDB::init() strncpy(myNodeInfo.firmware_version, optstr(APP_VERSION), sizeof(myNodeInfo.firmware_version)); // hw_model is no longer stored in myNodeInfo (as of 1.2.11) - we now store it as an enum in nodeinfo - myNodeInfo.hw_model[0] = '\0'; + myNodeInfo.hw_model_deprecated[0] = '\0'; // strncpy(myNodeInfo.hw_model, HW_VENDOR, sizeof(myNodeInfo.hw_model)); resetRadioConfig(); // If bogus settings got saved, then fix them diff --git a/src/mesh/generated/mesh.pb.h b/src/mesh/generated/mesh.pb.h index 3c923ad6c..5f4f9bf35 100644 --- a/src/mesh/generated/mesh.pb.h +++ b/src/mesh/generated/mesh.pb.h @@ -102,7 +102,7 @@ typedef struct _MyNodeInfo { bool has_gps; uint32_t num_bands; char region[12]; - char hw_model[16]; + char hw_model_deprecated[16]; char firmware_version[12]; CriticalErrorCode error_code; uint32_t error_address; @@ -260,7 +260,7 @@ extern "C" { #define MyNodeInfo_has_gps_tag 2 #define MyNodeInfo_num_bands_tag 3 #define MyNodeInfo_region_tag 4 -#define MyNodeInfo_hw_model_tag 5 +#define MyNodeInfo_hw_model_deprecated_tag 5 #define MyNodeInfo_firmware_version_tag 6 #define MyNodeInfo_error_code_tag 7 #define MyNodeInfo_error_address_tag 8 @@ -381,7 +381,7 @@ X(a, STATIC, SINGULAR, UINT32, my_node_num, 1) \ X(a, STATIC, SINGULAR, BOOL, has_gps, 2) \ X(a, STATIC, SINGULAR, UINT32, num_bands, 3) \ X(a, STATIC, SINGULAR, STRING, region, 4) \ -X(a, STATIC, SINGULAR, STRING, hw_model, 5) \ +X(a, STATIC, SINGULAR, STRING, hw_model_deprecated, 5) \ X(a, STATIC, SINGULAR, STRING, firmware_version, 6) \ X(a, STATIC, SINGULAR, UENUM, error_code, 7) \ X(a, STATIC, SINGULAR, UINT32, error_address, 8) \ From 27c35f69aac5fdc4a95e684064762cf5e723603d Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Sun, 14 Mar 2021 12:41:31 +0800 Subject: [PATCH 09/16] Fix flash flippy-flop error after commandline update (thanks @Stephen304) --- bin/device-update.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bin/device-update.sh b/bin/device-update.sh index 4125ade6a..894230364 100755 --- a/bin/device-update.sh +++ b/bin/device-update.sh @@ -35,6 +35,8 @@ shift "$((OPTIND-1))" if [ -f "${FILENAME}" ]; then echo "Trying to flash update ${FILENAME}." esptool.py --baud 921600 write_flash 0x10000 ${FILENAME} + echo "Erasing the otadata partition, which will turn off flash flippy-flop and force the first image to be used" + esptool.py --baud 921600 erase_region 0xe000 0x2000 else echo "Invalid file: ${FILENAME}" show_help From 351be2f327ee052414eadf0f0c97e61afeee7f09 Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Mon, 15 Mar 2021 13:09:52 +0800 Subject: [PATCH 10/16] change portduino so it has a higher chance of building on OS-X and windows --- .github/workflows/main.yml | 4 ++-- platformio.ini | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 49a2bf3c6..585775e48 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -32,5 +32,5 @@ jobs: - name: Build for lora-relay-v1 run: platformio run -e lora-relay-v1 # Turn off linux for now - #- name: Build for linux - # run: platformio run -e linux + name: Build for native + run: platformio run -e native diff --git a/platformio.ini b/platformio.ini index 286976311..5ae4d2ddd 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,7 +9,7 @@ ; https://docs.platformio.org/page/projectconf.html [platformio] -default_envs = tbeam +;default_envs = tbeam ;default_envs = tbeam0.7 ;default_envs = heltec ;default_envs = tlora-v1 @@ -17,7 +17,7 @@ default_envs = tbeam ;default_envs = lora-relay-v1 # nrf board ;default_envs = eink ;default_envs = nrf52840dk-geeksville -;default_envs = linux # lora-relay-v1 # nrf52840dk-geeksville # linux # or if you'd like to change the default to something like lora-relay-v1 put that here +default_envs = native # lora-relay-v1 # nrf52840dk-geeksville # linux # or if you'd like to change the default to something like lora-relay-v1 put that here [common] ; common is not currently used @@ -355,12 +355,12 @@ lib_deps = TFT_eSPI ; The Portduino based sim environment on top of linux -[env:linux] -platform = https://github.com/geeksville/platform-portduino.git +[env:native] +platform = https://github.com/geeksville/platform-native.git src_filter = ${env.src_filter} - - - - - build_flags = ${arduino_base.build_flags} -O0 framework = arduino -board = linux_x86_64 +board = native lib_deps = ${arduino_base.lib_deps} rweather/Crypto From 1f33b03c30a37e9b8e3a5ddc4239eb4615898fb2 Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Mon, 15 Mar 2021 13:43:22 +0800 Subject: [PATCH 11/16] turn off broken genieblocks_lora build --- CMakeLists.txt | 33 +++++++++++++++++++++++++++++++++ platformio.ini | 11 ++++++----- 2 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 000000000..bf3e7ca23 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,33 @@ +# !!! WARNING !!! AUTO-GENERATED FILE, PLEASE DO NOT MODIFY IT AND USE +# https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags +# +# If you need to override existing CMake configuration or add extra, +# please create `CMakeListsUser.txt` in the root of project. +# The `CMakeListsUser.txt` will not be overwritten by PlatformIO. + +cmake_minimum_required(VERSION 3.13) +set(CMAKE_SYSTEM_NAME Generic) +set(CMAKE_C_COMPILER_WORKS 1) +set(CMAKE_CXX_COMPILER_WORKS 1) + +project("meshtastic-esp32" C CXX) + +include(CMakeListsPrivate.txt) + +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/CMakeListsUser.txt) +include(CMakeListsUser.txt) +endif() + +add_custom_target( + Production ALL + COMMAND platformio -c clion run "$<$>:-e${CMAKE_BUILD_TYPE}>" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +) + +add_custom_target( + Debug ALL + COMMAND platformio -c clion run --target debug "$<$>:-e${CMAKE_BUILD_TYPE}>" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +) + +add_executable(Z_DUMMY_TARGET ${SRC_LIST}) diff --git a/platformio.ini b/platformio.ini index 5ae4d2ddd..3965c848b 100644 --- a/platformio.ini +++ b/platformio.ini @@ -366,8 +366,9 @@ lib_deps = rweather/Crypto ; The GenieBlocks LORA prototype board -[env:genieblocks_lora] -extends = esp32_base -board = genieblocks_lora -build_flags = - ${esp32_base.build_flags} -D GENIEBLOCKS \ No newline at end of file +; note: @geeksville disabled because genieblocks_lora is not checked into the boards directory, please send in a PR to add it ;-) +;[env:genieblocks_lora] +;extends = esp32_base +;board = genieblocks_lora +;build_flags = +; ${esp32_base.build_flags} -D GENIEBLOCKS \ No newline at end of file From 469d0ade727cf63b4b7ac17103ff8f98b26066e1 Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Mon, 15 Mar 2021 13:49:21 +0800 Subject: [PATCH 12/16] remove old intellij defs --- CMakeLists.txt | 33 --------------------------------- 1 file changed, 33 deletions(-) delete mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index bf3e7ca23..000000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,33 +0,0 @@ -# !!! WARNING !!! AUTO-GENERATED FILE, PLEASE DO NOT MODIFY IT AND USE -# https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags -# -# If you need to override existing CMake configuration or add extra, -# please create `CMakeListsUser.txt` in the root of project. -# The `CMakeListsUser.txt` will not be overwritten by PlatformIO. - -cmake_minimum_required(VERSION 3.13) -set(CMAKE_SYSTEM_NAME Generic) -set(CMAKE_C_COMPILER_WORKS 1) -set(CMAKE_CXX_COMPILER_WORKS 1) - -project("meshtastic-esp32" C CXX) - -include(CMakeListsPrivate.txt) - -if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/CMakeListsUser.txt) -include(CMakeListsUser.txt) -endif() - -add_custom_target( - Production ALL - COMMAND platformio -c clion run "$<$>:-e${CMAKE_BUILD_TYPE}>" - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -) - -add_custom_target( - Debug ALL - COMMAND platformio -c clion run --target debug "$<$>:-e${CMAKE_BUILD_TYPE}>" - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -) - -add_executable(Z_DUMMY_TARGET ${SRC_LIST}) From 60f7ec89982e346502b66d68436de35a6754a2d4 Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Mon, 15 Mar 2021 13:55:08 +0800 Subject: [PATCH 13/16] setup for intellij --- .gitignore | 3 +- .idea/.gitignore | 8 + .idea/codeStyles/Project.xml | 7 + .idea/codeStyles/codeStyleConfig.xml | 5 + .idea/meshtastic-esp32.iml | 2 + .idea/misc.xml | 4 + .idea/modules.xml | 8 + .idea/vcs.xml | 9 + CMakeLists.txt | 33 + CMakeListsPrivate.txt | 2041 ++++++++++++++++++++++++++ 10 files changed, 2119 insertions(+), 1 deletion(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/meshtastic-esp32.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 CMakeLists.txt create mode 100644 CMakeListsPrivate.txt diff --git a/.gitignore b/.gitignore index 5ab921d31..d250737cb 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,8 @@ Thumbs.db .built .context .cproject -.idea/* .vagrant nanopb* flash.uf2 +cmake-build* + diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 000000000..73f69e095 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 000000000..f60388162 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 000000000..79ee123c2 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/meshtastic-esp32.iml b/.idea/meshtastic-esp32.iml new file mode 100644 index 000000000..f08604bb6 --- /dev/null +++ b/.idea/meshtastic-esp32.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 000000000..79b3c9483 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 000000000..8bde5d372 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 000000000..1138593be --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 000000000..bf3e7ca23 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,33 @@ +# !!! WARNING !!! AUTO-GENERATED FILE, PLEASE DO NOT MODIFY IT AND USE +# https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags +# +# If you need to override existing CMake configuration or add extra, +# please create `CMakeListsUser.txt` in the root of project. +# The `CMakeListsUser.txt` will not be overwritten by PlatformIO. + +cmake_minimum_required(VERSION 3.13) +set(CMAKE_SYSTEM_NAME Generic) +set(CMAKE_C_COMPILER_WORKS 1) +set(CMAKE_CXX_COMPILER_WORKS 1) + +project("meshtastic-esp32" C CXX) + +include(CMakeListsPrivate.txt) + +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/CMakeListsUser.txt) +include(CMakeListsUser.txt) +endif() + +add_custom_target( + Production ALL + COMMAND platformio -c clion run "$<$>:-e${CMAKE_BUILD_TYPE}>" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +) + +add_custom_target( + Debug ALL + COMMAND platformio -c clion run --target debug "$<$>:-e${CMAKE_BUILD_TYPE}>" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +) + +add_executable(Z_DUMMY_TARGET ${SRC_LIST}) diff --git a/CMakeListsPrivate.txt b/CMakeListsPrivate.txt new file mode 100644 index 000000000..49aebfa15 --- /dev/null +++ b/CMakeListsPrivate.txt @@ -0,0 +1,2041 @@ +# !!! WARNING !!! AUTO-GENERATED FILE, PLEASE DO NOT MODIFY IT AND USE +# https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags +# +# If you need to override existing CMake configuration or add extra, +# please create `CMakeListsUser.txt` in the root of project. +# The `CMakeListsUser.txt` will not be overwritten by PlatformIO. + + + +set(CMAKE_CONFIGURATION_TYPES "tbeam;tbeam0.7;heltec;tlora-v1;tlora-v2;tlora-v2-1-1.6;cubecellplus;nrf52840dk;nrf52840dk-geeksville;feather_nrf52832;rak815;ppr;ppr1;eink;eink0.1;lora-relay-v1;lora-relay-v2;native;" CACHE STRING "Build Types reflect PlatformIO Environments" FORCE) + + +SET(CMAKE_C_COMPILER "/usr/bin/gcc") +SET(CMAKE_CXX_COMPILER "/usr/bin/g++") +SET(CMAKE_CXX_FLAGS "-Wno-missing-field-initializers -Wno-format -Os -O0 -w -Wall -ggdb -DAPP_VERSION=1.2.10") +SET(CMAKE_C_FLAGS "-Wno-missing-field-initializers -Wno-format -Os -O0 -w -Wall -ggdb -DAPP_VERSION=1.2.10") + + +if (CMAKE_BUILD_TYPE MATCHES "native") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'FIXMEFLAG') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'ARDUINO=4403') + add_definitions(-D'PORTDUINO') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-portduino/libraries/WiFi/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/native/Crypto") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/native/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/native/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/native/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/native/RadioLib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/native/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/native/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/native/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/native/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/native/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-portduino/libraries/SPI/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-portduino/libraries/Wire/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-portduino/cores/portduino") + include_directories("$ENV{HOME}/.platformio/packages/framework-portduino/cores/portduino/FS") + include_directories("$ENV{HOME}/.platformio/packages/framework-portduino/ArduinoCore-API/api") + include_directories("$ENV{HOME}/.platformio/packages/framework-portduino/variants/native") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/BluetoothOTA") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/native/*.* + ) +endif() + +if (CMAKE_BUILD_TYPE MATCHES "tbeam") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'ARDUINO_T_Beam') + add_definitions(-D'BOARD_HAS_PSRAM') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'LOG_LOCAL_LEVEL=ESP_LOG_DEBUG') + add_definitions(-D'CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG') + add_definitions(-D'AXP_DEBUG_PORT=Serial') + add_definitions(-D'TBEAM_V10') + add_definitions(-D'ESP32') + add_definitions(-D'ESP_PLATFORM') + add_definitions(-D'F_CPU=240000000L') + add_definitions(-D'HAVE_CONFIG_H') + add_definitions(-D'MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"') + add_definitions(-D'ARDUINO=10805') + add_definitions(-D'ARDUINO_ARCH_ESP32') + add_definitions(-D'ARDUINO_VARIANT=\"t-beam\"') + add_definitions(-D'ARDUINO_BOARD=\"TTGO T-Beam\"') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Update/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/FS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/DHT sensor library") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/Adafruit Unified Sensor") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/esp32_https_server/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/RadioLib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/SparkFun Ublox Arduino Library@src-58e4c8c3342495b31ae9596afafd3e00/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/OneButton@src-58e84a61e1135cf59834c5fb268069d2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/esp32") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/esp32-mfix-esp32-psram-cache-issue") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_trace") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_update") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/asio") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bootloader_support") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bt") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/coap") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/console") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/driver") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/efuse") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-tls") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_adc_cal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_event") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_client") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_server") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_ota") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_server") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_ringbuf") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/espcoredump") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ethernet") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/expat") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fatfs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freemodbus") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/heap") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/idf_test") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/jsmn") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/json") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/libsodium") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/log") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mbedtls") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mdns") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/micro-ecc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mqtt") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/newlib") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nghttp") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nimble") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nvs_flash") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/openssl") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protobuf-c") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protocomm") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/pthread") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/sdmmc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/smartconfig_ack") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spi_flash") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spiffs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcp_transport") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcpip_adapter") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ulp") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/unity") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/vfs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wear_levelling") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wifi_provisioning") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wpa_supplicant") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/xtensa-debug-module") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-face") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32-camera") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fb_gfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/cores/esp32") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/variants/t-beam") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/BluetoothOTA") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/TinyGPSPlus@src-2765db9a05cb947ced769bf56fedd1f5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/TinyGPSPlus@src-addcdb46757d61b29d61d7a3c8d2c6aa/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/arduino-fsm@src-4bf5152e2f279002470ccf60d567d9e6") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/AzureIoT/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SD/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0/xtensa-esp32-elf") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/lib/gcc/xtensa-esp32-elf/5.2.0/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/lib/gcc/xtensa-esp32-elf/5.2.0/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "tbeam0.7") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'ARDUINO_T_Beam') + add_definitions(-D'BOARD_HAS_PSRAM') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'LOG_LOCAL_LEVEL=ESP_LOG_DEBUG') + add_definitions(-D'CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG') + add_definitions(-D'AXP_DEBUG_PORT=Serial') + add_definitions(-D'TBEAM_V07') + add_definitions(-D'ESP32') + add_definitions(-D'ESP_PLATFORM') + add_definitions(-D'F_CPU=240000000L') + add_definitions(-D'HAVE_CONFIG_H') + add_definitions(-D'MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"') + add_definitions(-D'ARDUINO=10805') + add_definitions(-D'ARDUINO_ARCH_ESP32') + add_definitions(-D'ARDUINO_VARIANT=\"t-beam\"') + add_definitions(-D'ARDUINO_BOARD=\"TTGO T-Beam\"') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Update/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/FS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/DHT sensor library") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/Adafruit Unified Sensor") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/esp32_https_server/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/RadioLib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/esp32") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/esp32-mfix-esp32-psram-cache-issue") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_trace") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_update") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/asio") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bootloader_support") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bt") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/coap") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/console") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/driver") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/efuse") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-tls") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_adc_cal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_event") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_client") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_server") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_ota") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_server") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_ringbuf") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/espcoredump") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ethernet") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/expat") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fatfs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freemodbus") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/heap") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/idf_test") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/jsmn") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/json") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/libsodium") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/log") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mbedtls") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mdns") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/micro-ecc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mqtt") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/newlib") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nghttp") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nimble") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nvs_flash") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/openssl") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protobuf-c") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protocomm") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/pthread") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/sdmmc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/smartconfig_ack") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spi_flash") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spiffs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcp_transport") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcpip_adapter") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ulp") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/unity") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/vfs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wear_levelling") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wifi_provisioning") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wpa_supplicant") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/xtensa-debug-module") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-face") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32-camera") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fb_gfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/cores/esp32") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/variants/t-beam") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/BluetoothOTA") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/AXP202X_Library@src-445982841d155f061f37b636975a7965/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/AXP202X_Library@src-4c7639995fa9a549e4df71b1e6ec1726/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/OneButton@0.0.0-alpha+sha.eb583d713a/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/RadioLib@src-04c34ef49d4ad9f955bfeccb187cbfb4/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/RadioLib@src-73ec3f00ee50ec53c3e35f8f57cb805b/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/RadioLib@src-7defea5cd18ca13be529349922fbc9bd/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/SparkFun Ublox Arduino Library@src-8ce11c31a386d7fec113d205dac8fee5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/SparkFun Ublox Arduino Library@src-c2b16aac179b750f0dd483f91954d27c/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/TinyGPSPlus@src-2765db9a05cb947ced769bf56fedd1f5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/TinyGPSPlus@src-addcdb46757d61b29d61d7a3c8d2c6aa/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/arduino-fsm@src-4bf5152e2f279002470ccf60d567d9e6") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/AzureIoT/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SD/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0/xtensa-esp32-elf") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/lib/gcc/xtensa-esp32-elf/5.2.0/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/lib/gcc/xtensa-esp32-elf/5.2.0/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tbeam0.7/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "heltec") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'ARDUINO_HELTEC_WIFI_LORA_32_V2') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'LOG_LOCAL_LEVEL=ESP_LOG_DEBUG') + add_definitions(-D'CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG') + add_definitions(-D'AXP_DEBUG_PORT=Serial') + add_definitions(-D'ESP32') + add_definitions(-D'ESP_PLATFORM') + add_definitions(-D'F_CPU=240000000L') + add_definitions(-D'HAVE_CONFIG_H') + add_definitions(-D'MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"') + add_definitions(-D'ARDUINO=10805') + add_definitions(-D'ARDUINO_ARCH_ESP32') + add_definitions(-D'ARDUINO_VARIANT=\"heltec_wifi_lora_32_V2\"') + add_definitions(-D'ARDUINO_BOARD=\"Heltec WiFi LoRa 32 \(V2\)\"') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Update/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/FS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/DHT sensor library") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/Adafruit Unified Sensor") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/esp32_https_server/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/RadioLib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/esp32") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/esp32-mfix-esp32-psram-cache-issue") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_trace") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_update") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/asio") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bootloader_support") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bt") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/coap") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/console") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/driver") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/efuse") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-tls") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_adc_cal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_event") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_client") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_server") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_ota") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_server") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_ringbuf") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/espcoredump") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ethernet") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/expat") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fatfs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freemodbus") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/heap") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/idf_test") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/jsmn") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/json") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/libsodium") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/log") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mbedtls") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mdns") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/micro-ecc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mqtt") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/newlib") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nghttp") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nimble") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nvs_flash") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/openssl") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protobuf-c") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protocomm") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/pthread") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/sdmmc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/smartconfig_ack") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spi_flash") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spiffs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcp_transport") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcpip_adapter") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ulp") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/unity") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/vfs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wear_levelling") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wifi_provisioning") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wpa_supplicant") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/xtensa-debug-module") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-face") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32-camera") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fb_gfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/cores/esp32") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/variants/heltec_wifi_lora_32_V2") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/BluetoothOTA") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/OneButton@0.0.0-alpha+sha.eb583d713a/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/RadioLib@src-04c34ef49d4ad9f955bfeccb187cbfb4/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/RadioLib@src-73ec3f00ee50ec53c3e35f8f57cb805b/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/RadioLib@src-7defea5cd18ca13be529349922fbc9bd/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/SparkFun Ublox Arduino Library@src-8ce11c31a386d7fec113d205dac8fee5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/SparkFun Ublox Arduino Library@src-c2b16aac179b750f0dd483f91954d27c/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/TinyGPSPlus@src-2765db9a05cb947ced769bf56fedd1f5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/TinyGPSPlus@src-addcdb46757d61b29d61d7a3c8d2c6aa/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/arduino-fsm@src-4bf5152e2f279002470ccf60d567d9e6") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/AzureIoT/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SD/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0/xtensa-esp32-elf") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/lib/gcc/xtensa-esp32-elf/5.2.0/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/lib/gcc/xtensa-esp32-elf/5.2.0/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/heltec/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "tlora-v1") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'ARDUINO_TTGO_LoRa32_V1') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'LOG_LOCAL_LEVEL=ESP_LOG_DEBUG') + add_definitions(-D'CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG') + add_definitions(-D'AXP_DEBUG_PORT=Serial') + add_definitions(-D'TLORA_V1') + add_definitions(-D'ESP32') + add_definitions(-D'ESP_PLATFORM') + add_definitions(-D'F_CPU=240000000L') + add_definitions(-D'HAVE_CONFIG_H') + add_definitions(-D'MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"') + add_definitions(-D'ARDUINO=10805') + add_definitions(-D'ARDUINO_ARCH_ESP32') + add_definitions(-D'ARDUINO_VARIANT=\"ttgo-lora32-v1\"') + add_definitions(-D'ARDUINO_BOARD=\"TTGO LoRa32-OLED V1\"') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Update/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/FS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/DHT sensor library") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/Adafruit Unified Sensor") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/esp32_https_server/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/RadioLib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/esp32") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/esp32-mfix-esp32-psram-cache-issue") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_trace") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_update") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/asio") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bootloader_support") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bt") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/coap") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/console") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/driver") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/efuse") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-tls") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_adc_cal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_event") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_client") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_server") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_ota") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_server") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_ringbuf") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/espcoredump") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ethernet") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/expat") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fatfs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freemodbus") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/heap") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/idf_test") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/jsmn") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/json") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/libsodium") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/log") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mbedtls") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mdns") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/micro-ecc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mqtt") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/newlib") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nghttp") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nimble") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nvs_flash") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/openssl") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protobuf-c") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protocomm") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/pthread") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/sdmmc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/smartconfig_ack") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spi_flash") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spiffs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcp_transport") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcpip_adapter") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ulp") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/unity") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/vfs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wear_levelling") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wifi_provisioning") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wpa_supplicant") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/xtensa-debug-module") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-face") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32-camera") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fb_gfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/cores/esp32") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/variants/ttgo-lora32-v1") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/BluetoothOTA") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/OneButton@0.0.0-alpha+sha.eb583d713a/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/RadioLib@src-04c34ef49d4ad9f955bfeccb187cbfb4/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/RadioLib@src-73ec3f00ee50ec53c3e35f8f57cb805b/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/RadioLib@src-7defea5cd18ca13be529349922fbc9bd/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/SparkFun Ublox Arduino Library@src-8ce11c31a386d7fec113d205dac8fee5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/SparkFun Ublox Arduino Library@src-c2b16aac179b750f0dd483f91954d27c/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/TinyGPSPlus@src-2765db9a05cb947ced769bf56fedd1f5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/TinyGPSPlus@src-addcdb46757d61b29d61d7a3c8d2c6aa/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/arduino-fsm@src-4bf5152e2f279002470ccf60d567d9e6") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/AzureIoT/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SD/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0/xtensa-esp32-elf") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/lib/gcc/xtensa-esp32-elf/5.2.0/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/lib/gcc/xtensa-esp32-elf/5.2.0/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v1/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "tlora-v2") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'ARDUINO_TTGO_LoRa32_V1') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'LOG_LOCAL_LEVEL=ESP_LOG_DEBUG') + add_definitions(-D'CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG') + add_definitions(-D'AXP_DEBUG_PORT=Serial') + add_definitions(-D'TLORA_V2') + add_definitions(-D'ESP32') + add_definitions(-D'ESP_PLATFORM') + add_definitions(-D'F_CPU=240000000L') + add_definitions(-D'HAVE_CONFIG_H') + add_definitions(-D'MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"') + add_definitions(-D'ARDUINO=10805') + add_definitions(-D'ARDUINO_ARCH_ESP32') + add_definitions(-D'ARDUINO_VARIANT=\"ttgo-lora32-v1\"') + add_definitions(-D'ARDUINO_BOARD=\"TTGO LoRa32-OLED V1\"') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Update/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/FS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/DHT sensor library") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/Adafruit Unified Sensor") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/esp32_https_server/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/RadioLib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/esp32") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/esp32-mfix-esp32-psram-cache-issue") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_trace") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_update") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/asio") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bootloader_support") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bt") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/coap") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/console") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/driver") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/efuse") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-tls") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_adc_cal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_event") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_client") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_server") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_ota") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_server") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_ringbuf") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/espcoredump") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ethernet") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/expat") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fatfs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freemodbus") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/heap") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/idf_test") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/jsmn") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/json") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/libsodium") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/log") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mbedtls") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mdns") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/micro-ecc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mqtt") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/newlib") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nghttp") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nimble") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nvs_flash") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/openssl") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protobuf-c") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protocomm") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/pthread") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/sdmmc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/smartconfig_ack") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spi_flash") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spiffs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcp_transport") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcpip_adapter") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ulp") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/unity") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/vfs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wear_levelling") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wifi_provisioning") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wpa_supplicant") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/xtensa-debug-module") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-face") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32-camera") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fb_gfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/cores/esp32") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/variants/ttgo-lora32-v1") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/BluetoothOTA") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/OneButton@0.0.0-alpha+sha.eb583d713a/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/RadioLib@src-04c34ef49d4ad9f955bfeccb187cbfb4/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/RadioLib@src-73ec3f00ee50ec53c3e35f8f57cb805b/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/RadioLib@src-7defea5cd18ca13be529349922fbc9bd/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/SparkFun Ublox Arduino Library@src-8ce11c31a386d7fec113d205dac8fee5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/SparkFun Ublox Arduino Library@src-c2b16aac179b750f0dd483f91954d27c/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/TinyGPSPlus@src-2765db9a05cb947ced769bf56fedd1f5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/TinyGPSPlus@src-addcdb46757d61b29d61d7a3c8d2c6aa/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/arduino-fsm@src-4bf5152e2f279002470ccf60d567d9e6") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/AzureIoT/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SD/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0/xtensa-esp32-elf") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/lib/gcc/xtensa-esp32-elf/5.2.0/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/lib/gcc/xtensa-esp32-elf/5.2.0/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "tlora-v2-1-1.6") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'ARDUINO_TTGO_LoRa32_V1') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'LOG_LOCAL_LEVEL=ESP_LOG_DEBUG') + add_definitions(-D'CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG') + add_definitions(-D'AXP_DEBUG_PORT=Serial') + add_definitions(-D'TLORA_V2_1_16') + add_definitions(-D'ESP32') + add_definitions(-D'ESP_PLATFORM') + add_definitions(-D'F_CPU=240000000L') + add_definitions(-D'HAVE_CONFIG_H') + add_definitions(-D'MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"') + add_definitions(-D'ARDUINO=10805') + add_definitions(-D'ARDUINO_ARCH_ESP32') + add_definitions(-D'ARDUINO_VARIANT=\"ttgo-lora32-v1\"') + add_definitions(-D'ARDUINO_BOARD=\"TTGO LoRa32-OLED V1\"') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Update/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/FS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/DHT sensor library") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/Adafruit Unified Sensor") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/esp32_https_server/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/RadioLib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/esp32") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/esp32-mfix-esp32-psram-cache-issue") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_trace") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_update") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/asio") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bootloader_support") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bt") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/coap") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/console") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/driver") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/efuse") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-tls") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_adc_cal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_event") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_client") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_server") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_ota") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_server") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_ringbuf") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/espcoredump") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ethernet") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/expat") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fatfs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freemodbus") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/heap") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/idf_test") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/jsmn") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/json") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/libsodium") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/log") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mbedtls") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mdns") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/micro-ecc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mqtt") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/newlib") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nghttp") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nimble") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nvs_flash") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/openssl") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protobuf-c") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protocomm") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/pthread") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/sdmmc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/smartconfig_ack") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spi_flash") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spiffs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcp_transport") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcpip_adapter") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ulp") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/unity") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/vfs") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wear_levelling") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wifi_provisioning") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wpa_supplicant") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/xtensa-debug-module") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-face") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32-camera") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fb_gfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/cores/esp32") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/variants/ttgo-lora32-v1") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/BluetoothOTA") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/OneButton@0.0.0-alpha+sha.eb583d713a/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/RadioLib@src-04c34ef49d4ad9f955bfeccb187cbfb4/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/RadioLib@src-73ec3f00ee50ec53c3e35f8f57cb805b/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/RadioLib@src-7defea5cd18ca13be529349922fbc9bd/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/SparkFun Ublox Arduino Library@src-8ce11c31a386d7fec113d205dac8fee5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/SparkFun Ublox Arduino Library@src-c2b16aac179b750f0dd483f91954d27c/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/TinyGPSPlus@src-2765db9a05cb947ced769bf56fedd1f5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/TinyGPSPlus@src-addcdb46757d61b29d61d7a3c8d2c6aa/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/arduino-fsm@src-4bf5152e2f279002470ccf60d567d9e6") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/AzureIoT/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SD/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0/xtensa-esp32-elf") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/lib/gcc/xtensa-esp32-elf/5.2.0/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/lib/gcc/xtensa-esp32-elf/5.2.0/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/tlora-v2-1-1.6/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "cubecellplus") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'CubeCell_BoardPlus') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'ARDUINO=100') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/cubecell") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/c++/9.2.1") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/c++/9.2.1/arm-none-eabi") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi/lib/gcc/arm-none-eabi/9.2.1/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi/lib/gcc/arm-none-eabi/9.2.1/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/cubecellplus/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "nrf52840dk") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'ARDUINO_NRF52840_PCA10056') + add_definitions(-D'NRF52840_XXAA') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'F_CPU=64000000L') + add_definitions(-D'ARDUINO=10804') + add_definitions(-D'ARDUINO_ARCH_NRF52') + add_definitions(-D'ARDUINO_BSP_VERSION=\"0.21.0\"') + add_definitions(-D'ARDUINO_FEATHER52') + add_definitions(-D'ARDUINO_NRF52_ADAFRUIT') + add_definitions(-D'NRF52_SERIES') + add_definitions(-D'LFS_NAME_MAX=64') + add_definitions(-D'NRF52840') + add_definitions(-D'S140') + add_definitions(-D'NRF52_S140') + add_definitions(-D'SOFTDEVICE_PRESENT') + add_definitions(-D'USBCON') + add_definitions(-D'USE_TINYUSB') + add_definitions(-D'USB_VID=0x239A') + add_definitions(-D'USB_PID=0x4404') + add_definitions(-D'USB_PRODUCT=\"nrf52840dk\"') + add_definitions(-D'USB_MANUFACTURER=\"Nordic Semi\"') + add_definitions(-D'CFG_DEBUG=0') + add_definitions(-D'__PLATFORMIO_BUILD_DEBUG__') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Bluefruit52Lib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/InternalFileSytem/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Adafruit_LittleFS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/RadioLib/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SoftwareSerial") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SPI") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Wire") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/nrf52") + include_directories("${CMAKE_CURRENT_LIST_DIR}/sdk-nrfxlib/crypto/nrf_oberon/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/Core/Include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/hal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/mdk") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s140_nrf52_6.1.1_API/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s140_nrf52_6.1.1_API/include/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/Source/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/GCC/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/CMSIS/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/SEGGER") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/Config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/variants/pca10056") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/SparkFun Ublox Arduino Library@src-c2b16aac179b750f0dd483f91954d27c/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/TinyGPSPlus@src-addcdb46757d61b29d61d7a3c8d2c6aa/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/arduino-fsm@src-4bf5152e2f279002470ccf60d567d9e6") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEAdafruitService/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEHomekit/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/PDM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/RotaryEncoder") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Servo/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1/arm-none-eabi") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "nrf52840dk-geeksville") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'ARDUINO_NRF52840_PCA10056') + add_definitions(-D'NRF52840_XXAA') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'F_CPU=64000000L') + add_definitions(-D'ARDUINO=10804') + add_definitions(-D'ARDUINO_ARCH_NRF52') + add_definitions(-D'ARDUINO_BSP_VERSION=\"0.21.0\"') + add_definitions(-D'ARDUINO_FEATHER52') + add_definitions(-D'ARDUINO_NRF52_ADAFRUIT') + add_definitions(-D'NRF52_SERIES') + add_definitions(-D'LFS_NAME_MAX=64') + add_definitions(-D'NRF52840') + add_definitions(-D'S113') + add_definitions(-D'NRF52_S113') + add_definitions(-D'SOFTDEVICE_PRESENT') + add_definitions(-D'USBCON') + add_definitions(-D'USE_TINYUSB') + add_definitions(-D'USB_VID=0x239A') + add_definitions(-D'USB_PID=0x4404') + add_definitions(-D'USB_PRODUCT=\"nrf52840dk\"') + add_definitions(-D'USB_MANUFACTURER=\"Nordic Semi\"') + add_definitions(-D'CFG_DEBUG=0') + add_definitions(-D'__PLATFORMIO_BUILD_DEBUG__') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Bluefruit52Lib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/InternalFileSytem/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Adafruit_LittleFS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/RadioLib/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SoftwareSerial") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SPI") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Wire") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/nrf52") + include_directories("${CMAKE_CURRENT_LIST_DIR}/sdk-nrfxlib/crypto/nrf_oberon/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/variants/pca10056-rc-clock") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/Core/Include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/hal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/mdk") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s113_nrf52_7.2.0_API/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s113_nrf52_7.2.0_API/include/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/Source/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/GCC/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/CMSIS/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/SEGGER") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/Config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/variants/pca10056-rc-clock") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/OneButton@0.0.0-alpha+sha.eb583d713a/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/RadioLib@src-73ec3f00ee50ec53c3e35f8f57cb805b/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/RadioLib@src-7defea5cd18ca13be529349922fbc9bd/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/RadioLib@src-9f0ee4ef0997cdc8a439cbeb678d52cd/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/SparkFun Ublox Arduino Library@src-c2b16aac179b750f0dd483f91954d27c/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/TinyGPSPlus@src-2765db9a05cb947ced769bf56fedd1f5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/TinyGPSPlus@src-addcdb46757d61b29d61d7a3c8d2c6aa/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/arduino-fsm@src-4bf5152e2f279002470ccf60d567d9e6") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEAdafruitService/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEHomekit/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/PDM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/RotaryEncoder") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Servo/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1/arm-none-eabi") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/nrf52840dk-geeksville/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "feather_nrf52832") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'NRF52832_XXAA') + add_definitions(-D'NRF52') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'F_CPU=64000000L') + add_definitions(-D'ARDUINO=10804') + add_definitions(-D'ARDUINO_ARCH_NRF52') + add_definitions(-D'ARDUINO_BSP_VERSION=\"0.21.0\"') + add_definitions(-D'ARDUINO_FEATHER52') + add_definitions(-D'ARDUINO_NRF52_ADAFRUIT') + add_definitions(-D'NRF52_SERIES') + add_definitions(-D'LFS_NAME_MAX=64') + add_definitions(-D'NRF52832') + add_definitions(-D'S132') + add_definitions(-D'NRF52_S132') + add_definitions(-D'SOFTDEVICE_PRESENT') + add_definitions(-D'USB_VID=0x239A') + add_definitions(-D'USB_PID=0x8029') + add_definitions(-D'USB_PRODUCT=\"Feather nRF52832 Express\"') + add_definitions(-D'USB_MANUFACTURER=\"Adafruit\"') + add_definitions(-D'CFG_DEBUG=0') + add_definitions(-D'__PLATFORMIO_BUILD_DEBUG__') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Bluefruit52Lib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/InternalFileSytem/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Adafruit_LittleFS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/RadioLib/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SoftwareSerial") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SPI") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Wire") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/nrf52") + include_directories("${CMAKE_CURRENT_LIST_DIR}/sdk-nrfxlib/crypto/nrf_oberon/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/Core/Include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/hal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/mdk") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s132_nrf52_6.1.1_API/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s132_nrf52_6.1.1_API/include/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/Source/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/GCC/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/CMSIS/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/SEGGER") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/Config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/variants/feather_nrf52832") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/TinyGPSPlus@src-addcdb46757d61b29d61d7a3c8d2c6aa/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEAdafruitService/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEHomekit/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/PDM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/RotaryEncoder") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Servo/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1/arm-none-eabi") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/feather_nrf52832/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "rak815") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'NRF52832_XXAA') + add_definitions(-D'NRF52') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'F_CPU=64000000L') + add_definitions(-D'ARDUINO=10804') + add_definitions(-D'ARDUINO_ARCH_NRF52') + add_definitions(-D'ARDUINO_BSP_VERSION=\"0.21.0\"') + add_definitions(-D'ARDUINO_FEATHER52') + add_definitions(-D'ARDUINO_NRF52_ADAFRUIT') + add_definitions(-D'NRF52_SERIES') + add_definitions(-D'LFS_NAME_MAX=64') + add_definitions(-D'NRF52832') + add_definitions(-D'S132') + add_definitions(-D'NRF52_S132') + add_definitions(-D'SOFTDEVICE_PRESENT') + add_definitions(-D'USB_VID=0x10c4') + add_definitions(-D'USB_PID=0xea60') + add_definitions(-D'USB_PRODUCT=\"RAK815\"') + add_definitions(-D'USB_MANUFACTURER=\"RAK\"') + add_definitions(-D'CFG_DEBUG=0') + add_definitions(-D'__PLATFORMIO_BUILD_DEBUG__') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Bluefruit52Lib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/InternalFileSytem/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Adafruit_LittleFS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/RadioLib/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SoftwareSerial") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SPI") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Wire") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/nrf52") + include_directories("${CMAKE_CURRENT_LIST_DIR}/sdk-nrfxlib/crypto/nrf_oberon/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/Core/Include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/hal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/mdk") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s132_nrf52_6.1.1_API/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s132_nrf52_6.1.1_API/include/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/Source/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/GCC/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/CMSIS/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/SEGGER") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/Config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/variants/rak815") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/TinyGPSPlus@src-2765db9a05cb947ced769bf56fedd1f5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/TinyGPSPlus@src-addcdb46757d61b29d61d7a3c8d2c6aa/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEAdafruitService/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEHomekit/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/PDM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/RotaryEncoder") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Servo/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1/arm-none-eabi") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/rak815/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "ppr") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'ARDUINO_NRF52840_PPR') + add_definitions(-D'NRF52840_XXAA') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'F_CPU=64000000L') + add_definitions(-D'ARDUINO=10804') + add_definitions(-D'ARDUINO_ARCH_NRF52') + add_definitions(-D'ARDUINO_BSP_VERSION=\"0.21.0\"') + add_definitions(-D'ARDUINO_FEATHER52') + add_definitions(-D'ARDUINO_NRF52_ADAFRUIT') + add_definitions(-D'NRF52_SERIES') + add_definitions(-D'LFS_NAME_MAX=64') + add_definitions(-D'NRF52840') + add_definitions(-D'S140') + add_definitions(-D'NRF52_S140') + add_definitions(-D'SOFTDEVICE_PRESENT') + add_definitions(-D'USBCON') + add_definitions(-D'USE_TINYUSB') + add_definitions(-D'USB_VID=0x239A') + add_definitions(-D'USB_PID=0x4403') + add_definitions(-D'USB_PRODUCT=\"PPR\"') + add_definitions(-D'USB_MANUFACTURER=\"Othernet\"') + add_definitions(-D'CFG_DEBUG=0') + add_definitions(-D'__PLATFORMIO_BUILD_DEBUG__') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Bluefruit52Lib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/InternalFileSytem/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Adafruit_LittleFS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/UC1701/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/RadioLib/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SoftwareSerial") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SPI") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Wire") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/nrf52") + include_directories("${CMAKE_CURRENT_LIST_DIR}/sdk-nrfxlib/crypto/nrf_oberon/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/Core/Include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/hal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/mdk") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s140_nrf52_6.1.1_API/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s140_nrf52_6.1.1_API/include/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/Source/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/GCC/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/CMSIS/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/SEGGER") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/Config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/variants/ppr") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/SparkFun Ublox Arduino Library@src-c2b16aac179b750f0dd483f91954d27c/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/TinyGPSPlus@src-addcdb46757d61b29d61d7a3c8d2c6aa/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/arduino-fsm@src-4bf5152e2f279002470ccf60d567d9e6") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEAdafruitService/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEHomekit/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/PDM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/RotaryEncoder") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Servo/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1/arm-none-eabi") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "ppr1") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'ARDUINO_NRF52833_PPR') + add_definitions(-D'NRF52833_XXAA') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'F_CPU=64000000L') + add_definitions(-D'ARDUINO=10804') + add_definitions(-D'ARDUINO_ARCH_NRF52') + add_definitions(-D'ARDUINO_BSP_VERSION=\"0.21.0\"') + add_definitions(-D'ARDUINO_FEATHER52') + add_definitions(-D'ARDUINO_NRF52_ADAFRUIT') + add_definitions(-D'NRF52_SERIES') + add_definitions(-D'LFS_NAME_MAX=64') + add_definitions(-D'NRF52833') + add_definitions(-D'S113') + add_definitions(-D'NRF52_S113') + add_definitions(-D'SOFTDEVICE_PRESENT') + add_definitions(-D'USBCON') + add_definitions(-D'USE_TINYUSB') + add_definitions(-D'USB_VID=0x239A') + add_definitions(-D'USB_PID=0x4406') + add_definitions(-D'USB_PRODUCT=\"PPR\"') + add_definitions(-D'USB_MANUFACTURER=\"Othernet\"') + add_definitions(-D'CFG_DEBUG=0') + add_definitions(-D'__PLATFORMIO_BUILD_DEBUG__') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Bluefruit52Lib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/InternalFileSytem/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Adafruit_LittleFS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/RadioLib/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SoftwareSerial") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SPI") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Wire") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/nrf52") + include_directories("${CMAKE_CURRENT_LIST_DIR}/sdk-nrfxlib/crypto/nrf_oberon/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/variants/ppr1") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/Core/Include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/hal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/mdk") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s113_nrf52_7.2.0_API/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s113_nrf52_7.2.0_API/include/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/Source/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/GCC/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/CMSIS/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/SEGGER") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/Config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/variants/ppr") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/TinyGPSPlus@src-2765db9a05cb947ced769bf56fedd1f5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/TinyGPSPlus@src-addcdb46757d61b29d61d7a3c8d2c6aa/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/UC1701/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEAdafruitService/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEHomekit/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/PDM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/RotaryEncoder") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Servo/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1/arm-none-eabi") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/ppr1/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "eink") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'ARDUINO_NRF52840_TTGO_EINK') + add_definitions(-D'NRF52840_XXAA') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'BUSY_PIN=3') + add_definitions(-D'RST_PIN=2') + add_definitions(-D'DC_PIN=28') + add_definitions(-D'CS_PIN=30') + add_definitions(-D'F_CPU=64000000L') + add_definitions(-D'ARDUINO=10804') + add_definitions(-D'ARDUINO_ARCH_NRF52') + add_definitions(-D'ARDUINO_BSP_VERSION=\"0.21.0\"') + add_definitions(-D'ARDUINO_FEATHER52') + add_definitions(-D'ARDUINO_NRF52_ADAFRUIT') + add_definitions(-D'NRF52_SERIES') + add_definitions(-D'LFS_NAME_MAX=64') + add_definitions(-D'NRF52840') + add_definitions(-D'S140') + add_definitions(-D'NRF52_S140') + add_definitions(-D'SOFTDEVICE_PRESENT') + add_definitions(-D'USBCON') + add_definitions(-D'USE_TINYUSB') + add_definitions(-D'USB_VID=0x239A') + add_definitions(-D'USB_PID=0x4405') + add_definitions(-D'USB_PRODUCT=\"TTGO_eink\"') + add_definitions(-D'USB_MANUFACTURER=\"TTGO\"') + add_definitions(-D'CFG_DEBUG=0') + add_definitions(-D'__PLATFORMIO_BUILD_DEBUG__') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Bluefruit52Lib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/InternalFileSytem/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Adafruit_LittleFS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/TFT_eSPI") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/EPD_Libraries/epd1in54") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/RadioLib/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SoftwareSerial") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SPI") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Wire") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/nrf52") + include_directories("${CMAKE_CURRENT_LIST_DIR}/sdk-nrfxlib/crypto/nrf_oberon/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/variants/eink") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/Core/Include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/hal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/mdk") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s140_nrf52_6.1.1_API/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s140_nrf52_6.1.1_API/include/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/Source/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/GCC/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/CMSIS/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/SEGGER") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/Config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/variants/eink") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/OneButton@0.0.0-alpha+sha.eb583d713a/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/RadioLib@src-73ec3f00ee50ec53c3e35f8f57cb805b/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/RadioLib@src-9f0ee4ef0997cdc8a439cbeb678d52cd/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/SparkFun Ublox Arduino Library@src-c2b16aac179b750f0dd483f91954d27c/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEAdafruitService/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEHomekit/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/PDM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/RotaryEncoder") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Servo/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1/arm-none-eabi") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "eink0.1") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'ARDUINO_NRF52840_TTGO_EINK') + add_definitions(-D'NRF52840_XXAA') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'BUSY_PIN=3') + add_definitions(-D'RST_PIN=2') + add_definitions(-D'DC_PIN=28') + add_definitions(-D'CS_PIN=30') + add_definitions(-D'F_CPU=64000000L') + add_definitions(-D'ARDUINO=10804') + add_definitions(-D'ARDUINO_ARCH_NRF52') + add_definitions(-D'ARDUINO_BSP_VERSION=\"0.21.0\"') + add_definitions(-D'ARDUINO_FEATHER52') + add_definitions(-D'ARDUINO_NRF52_ADAFRUIT') + add_definitions(-D'NRF52_SERIES') + add_definitions(-D'LFS_NAME_MAX=64') + add_definitions(-D'NRF52840') + add_definitions(-D'S140') + add_definitions(-D'NRF52_S140') + add_definitions(-D'SOFTDEVICE_PRESENT') + add_definitions(-D'USBCON') + add_definitions(-D'USE_TINYUSB') + add_definitions(-D'USB_VID=0x239A') + add_definitions(-D'USB_PID=0x4405') + add_definitions(-D'USB_PRODUCT=\"TTGO_eink\"') + add_definitions(-D'USB_MANUFACTURER=\"TTGO\"') + add_definitions(-D'CFG_DEBUG=0') + add_definitions(-D'__PLATFORMIO_BUILD_DEBUG__') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Bluefruit52Lib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/InternalFileSytem/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Adafruit_LittleFS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/TFT_eSPI") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/EPD_Libraries/epd1in54") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/RadioLib/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SoftwareSerial") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SPI") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Wire") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/nrf52") + include_directories("${CMAKE_CURRENT_LIST_DIR}/sdk-nrfxlib/crypto/nrf_oberon/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/variants/eink0.1") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/Core/Include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/hal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/mdk") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s140_nrf52_6.1.1_API/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s140_nrf52_6.1.1_API/include/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/Source/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/GCC/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/CMSIS/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/SEGGER") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/Config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/variants/eink0.1") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/TinyGPSPlus@src-2765db9a05cb947ced769bf56fedd1f5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEAdafruitService/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEHomekit/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/PDM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/RotaryEncoder") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Servo/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1/arm-none-eabi") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/eink0.1/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "lora-relay-v1") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'ARDUINO_NRF52840_LORA_RELAY_V1') + add_definitions(-D'NRF52840_XXAA') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'USER_SETUP_LOADED') + add_definitions(-D'TFT_WIDTH=80') + add_definitions(-D'TFT_HEIGHT=160') + add_definitions(-D'ST7735_GREENTAB160x80') + add_definitions(-D'ST7735_DRIVER') + add_definitions(-D'TFT_CS=ST7735_CS') + add_definitions(-D'TFT_DC=ST7735_RS') + add_definitions(-D'TFT_RST=ST7735_RESET') + add_definitions(-D'SPI_FREQUENCY=27000000') + add_definitions(-D'F_CPU=64000000L') + add_definitions(-D'ARDUINO=10804') + add_definitions(-D'ARDUINO_ARCH_NRF52') + add_definitions(-D'ARDUINO_BSP_VERSION=\"0.21.0\"') + add_definitions(-D'ARDUINO_FEATHER52') + add_definitions(-D'ARDUINO_NRF52_ADAFRUIT') + add_definitions(-D'NRF52_SERIES') + add_definitions(-D'LFS_NAME_MAX=64') + add_definitions(-D'NRF52840') + add_definitions(-D'S140') + add_definitions(-D'NRF52_S140') + add_definitions(-D'SOFTDEVICE_PRESENT') + add_definitions(-D'USBCON') + add_definitions(-D'USE_TINYUSB') + add_definitions(-D'USB_VID=0x239A') + add_definitions(-D'USB_PID=0x4404') + add_definitions(-D'USB_PRODUCT=\"LORA_RELAY\"') + add_definitions(-D'USB_MANUFACTURER=\"BigCorvus\"') + add_definitions(-D'CFG_DEBUG=0') + add_definitions(-D'__PLATFORMIO_BUILD_DEBUG__') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Bluefruit52Lib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/InternalFileSytem/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Adafruit_LittleFS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/TFT_eSPI") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/SparkFun BQ27441 LiPo Fuel Gauge Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/RadioLib/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SoftwareSerial") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SPI") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Wire") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/nrf52") + include_directories("${CMAKE_CURRENT_LIST_DIR}/sdk-nrfxlib/crypto/nrf_oberon/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/variants/lora_relay_v1") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/Core/Include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/hal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/mdk") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s140_nrf52_6.1.1_API/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s140_nrf52_6.1.1_API/include/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/Source/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/GCC/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/CMSIS/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/SEGGER") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/Config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/variants/lora_relay_v1") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/Adafruit BusIO") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/Adafruit GFX Library") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/Adafruit ST7735 and ST7789 Library") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/Adafruit seesaw Library") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/OneButton@0.0.0-alpha+sha.eb583d713a/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/RadioLib@src-04c34ef49d4ad9f955bfeccb187cbfb4/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/RadioLib@src-73ec3f00ee50ec53c3e35f8f57cb805b/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/RadioLib@src-7defea5cd18ca13be529349922fbc9bd/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/RadioLib@src-9f0ee4ef0997cdc8a439cbeb678d52cd/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/SD") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/SparkFun Ublox Arduino Library@src-8ce11c31a386d7fec113d205dac8fee5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/SparkFun Ublox Arduino Library@src-c2b16aac179b750f0dd483f91954d27c/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/Thread@src-2d5aa05a470baa9e9e00a0bae2a87c62") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/TinyGPSPlus@src-2765db9a05cb947ced769bf56fedd1f5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/TinyGPSPlus@src-addcdb46757d61b29d61d7a3c8d2c6aa/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/arduino-fsm@src-4bf5152e2f279002470ccf60d567d9e6") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEAdafruitService/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEHomekit/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/PDM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/RotaryEncoder") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Servo/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1/arm-none-eabi") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v1/*.* + ) +endif() +if (CMAKE_BUILD_TYPE MATCHES "lora-relay-v2") + add_definitions(-D'PLATFORMIO=50100') + add_definitions(-D'ARDUINO_NRF52840_LORA_RELAY_V2') + add_definitions(-D'NRF52840_XXAA') + add_definitions(-D'HW_VERSION_') + add_definitions(-D'HW_VERSION=') + add_definitions(-D'USE_THREAD_NAMES') + add_definitions(-D'TINYGPS_OPTION_NO_CUSTOM_FIELDS') + add_definitions(-D'USER_SETUP_LOADED') + add_definitions(-D'TFT_WIDTH=80') + add_definitions(-D'TFT_HEIGHT=160') + add_definitions(-D'ST7735_GREENTAB160x80') + add_definitions(-D'ST7735_DRIVER') + add_definitions(-D'TFT_CS=ST7735_CS') + add_definitions(-D'TFT_DC=ST7735_RS') + add_definitions(-D'TFT_RST=ST7735_RESET') + add_definitions(-D'SPI_FREQUENCY=27000000') + add_definitions(-D'TFT_WR=ST7735_SDA') + add_definitions(-D'TFT_SCLK=ST7735_SCK') + add_definitions(-D'F_CPU=64000000L') + add_definitions(-D'ARDUINO=10804') + add_definitions(-D'ARDUINO_ARCH_NRF52') + add_definitions(-D'ARDUINO_BSP_VERSION=\"0.21.0\"') + add_definitions(-D'ARDUINO_FEATHER52') + add_definitions(-D'ARDUINO_NRF52_ADAFRUIT') + add_definitions(-D'NRF52_SERIES') + add_definitions(-D'LFS_NAME_MAX=64') + add_definitions(-D'NRF52840') + add_definitions(-D'S140') + add_definitions(-D'NRF52_S140') + add_definitions(-D'SOFTDEVICE_PRESENT') + add_definitions(-D'USBCON') + add_definitions(-D'USE_TINYUSB') + add_definitions(-D'USB_VID=0x239A') + add_definitions(-D'USB_PID=0x4406') + add_definitions(-D'USB_PRODUCT=\"LORA_RELAY\"') + add_definitions(-D'USB_MANUFACTURER=\"BigCorvus\"') + add_definitions(-D'CFG_DEBUG=0') + add_definitions(-D'__PLATFORMIO_BUILD_DEBUG__') + + include_directories("${CMAKE_CURRENT_LIST_DIR}/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Bluefruit52Lib/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/InternalFileSytem/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Adafruit_LittleFS/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/TFT_eSPI") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/SparkFun BQ27441 LiPo Fuel Gauge Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/Thread") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/AXP202X_Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/TinyGPSPlus/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/RadioLib/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SoftwareSerial") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/SparkFun Ublox Arduino Library/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/arduino-fsm") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/CRC32/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/OneButton/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/ESP8266_SSD1306/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/SPI") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Wire") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/mesh") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/gps") + include_directories("${CMAKE_CURRENT_LIST_DIR}/lib/nanopb/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/src/nrf52") + include_directories("${CMAKE_CURRENT_LIST_DIR}/sdk-nrfxlib/crypto/nrf_oberon/include") + include_directories("${CMAKE_CURRENT_LIST_DIR}/variants/lora_relay_v2") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/cmsis/Core/Include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/hal") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/mdk") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/soc") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/nrfx/drivers/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s140_nrf52_6.1.1_API/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/nordic/softdevice/s140_nrf52_6.1.1_API/include/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/Source/include") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/GCC/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/freertos/portable/CMSIS/nrf52") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/SEGGER") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/sysview/Config") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/variants/lora_relay_v2") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/ESP8266_SSD1306@src-4ab3ad976e5f12b4a61f839d23a3c46d/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/RadioLib@src-eaad48fc571e663359162082157944f2/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/Thread@src-a2b7660c81ffe1635912fa2f065bc3ce") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/TinyGPSPlus@src-2765db9a05cb947ced769bf56fedd1f5/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/TinyGPSPlus@src-addcdb46757d61b29d61d7a3c8d2c6aa/src") + include_directories("${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/arduino-fsm@src-47e2e1a833a6aba34dc6f0811d801e49") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEAdafruitService/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/BLEHomekit/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/PDM/src") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/RotaryEncoder") + include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoadafruitnrf52/libraries/Servo/src") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include/c++/7.2.1/arm-none-eabi") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/lib/gcc/arm-none-eabi/7.2.1/include-fixed") + include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi@1.70201.0/arm-none-eabi/include") + include_directories("$ENV{HOME}/.platformio/packages/tool-unity") + + FILE(GLOB_RECURSE EXTRA_LIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/.pio/libdeps/lora-relay-v2/*.* + ) +endif() + +FILE(GLOB_RECURSE SRC_LIST + ${CMAKE_CURRENT_LIST_DIR}/src/*.* + ${CMAKE_CURRENT_LIST_DIR}/lib/*.* +) + +list(APPEND SRC_LIST ${EXTRA_LIB_SOURCES}) From f492f6deb63df356086a6a3b03b5fda843ac0f03 Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Mon, 15 Mar 2021 19:59:09 +0800 Subject: [PATCH 14/16] progress on Wifi in portduino --- .idea/.gitignore | 8 -- .idea/workspace.xml | 135 ++++++++++++++++++++++++++++++++ CMakeLists.txt | 3 + bin/native-gdbserver.sh | 3 + bin/native-run.sh | 3 + src/mesh/wifi/WiFiServerAPI.cpp | 2 +- src/portduino/PortduinoGlue.cpp | 5 +- 7 files changed, 149 insertions(+), 10 deletions(-) delete mode 100644 .idea/.gitignore create mode 100644 .idea/workspace.xml create mode 100755 bin/native-gdbserver.sh create mode 100755 bin/native-run.sh diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 73f69e095..000000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml -# Editor-based HTTP Client requests -/httpRequests/ diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 000000000..6ba904e2e --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1615788661896 + + + + + + + + + + + + + file://$PROJECT_DIR$/src/main.cpp + 282 + + + + + + +