diff --git a/arch/esp32/esp32s2.ini b/arch/esp32/esp32s2.ini
index 5de0fa549..df66de2ed 100644
--- a/arch/esp32/esp32s2.ini
+++ b/arch/esp32/esp32s2.ini
@@ -2,14 +2,17 @@
extends = esp32_base
build_src_filter =
- ${esp32_base.build_src_filter} - -
+ ${esp32_base.build_src_filter} - - -
monitor_speed = 115200
build_flags =
${esp32_base.build_flags}
-DHAS_BLUETOOTH=0
+ -DMESHTASTIC_EXCLUDE_PAXCOUNTER
+ -DMESHTASTIC_EXCLUDE_BLUETOOTH
lib_ignore =
${esp32_base.lib_ignore}
- NimBLE-Arduino
\ No newline at end of file
+ NimBLE-Arduino
+ libpax
\ No newline at end of file
diff --git a/src/gps/GPS.cpp b/src/gps/GPS.cpp
index 0d0bfd9a2..17e35a4b3 100644
--- a/src/gps/GPS.cpp
+++ b/src/gps/GPS.cpp
@@ -452,7 +452,7 @@ bool GPS::setup()
// Set the NEMA output messages
// Ask for only RMC and GGA
uint8_t fields[] = {CAS_NEMA_RMC, CAS_NEMA_GGA};
- for (int i = 0; i < sizeof(fields); i++) {
+ for (uint i = 0; i < sizeof(fields); i++) {
// Construct a CAS-CFG-MSG packet
uint8_t cas_cfg_msg_packet[] = {0x4e, fields[i], 0x01, 0x00};
msglen = makeCASPacket(0x06, 0x01, sizeof(cas_cfg_msg_packet), cas_cfg_msg_packet);
@@ -1584,7 +1584,7 @@ bool GPS::hasFlow()
bool GPS::whileIdle()
{
- int charsInBuf = 0;
+ uint charsInBuf = 0;
bool isValid = false;
if (!isAwake) {
clearBuffer();
diff --git a/src/main.cpp b/src/main.cpp
index 19331f8c0..a43c21e70 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -194,6 +194,11 @@ const char *getDeviceName()
static int32_t ledBlinker()
{
+ // Still set up the blinking (heartbeat) interval but skip code path below, so LED will blink if
+ // config.device.led_heartbeat_disabled is changed
+ if (config.device.led_heartbeat_disabled)
+ return 1000;
+
static bool ledOn;
ledOn ^= 1;
diff --git a/src/mesh/RadioInterface.cpp b/src/mesh/RadioInterface.cpp
index 63912a03e..4fa0bef7a 100644
--- a/src/mesh/RadioInterface.cpp
+++ b/src/mesh/RadioInterface.cpp
@@ -492,7 +492,7 @@ void RadioInterface::applyModemConfig()
// If user has manually specified a channel num, then use that, otherwise generate one by hashing the name
const char *channelName = channels.getName(channels.getPrimaryIndex());
// channel_num is actually (channel_num - 1), since modulus (%) returns values from 0 to (numChannels - 1)
- int channel_num = (loraConfig.channel_num ? loraConfig.channel_num - 1 : hash(channelName)) % numChannels;
+ uint channel_num = (loraConfig.channel_num ? loraConfig.channel_num - 1 : hash(channelName)) % numChannels;
// Check if we use the default frequency slot
RadioInterface::uses_default_frequency_slot =
diff --git a/src/modules/RoutingModule.cpp b/src/modules/RoutingModule.cpp
index a52328ca4..fe1abab05 100644
--- a/src/modules/RoutingModule.cpp
+++ b/src/modules/RoutingModule.cpp
@@ -51,7 +51,7 @@ uint8_t RoutingModule::getHopLimitForResponse(uint8_t hopStart, uint8_t hopLimit
uint8_t hopsUsed = hopStart < hopLimit ? config.lora.hop_limit : hopStart - hopLimit;
if (hopsUsed > config.lora.hop_limit) {
return hopsUsed; // If the request used more hops than the limit, use the same amount of hops
- } else if (hopsUsed + 2 < config.lora.hop_limit) {
+ } else if ((uint8_t)(hopsUsed + 2) < config.lora.hop_limit) {
return hopsUsed + 2; // Use only the amount of hops needed with some margin as the way back may be different
}
}
diff --git a/src/modules/esp32/PaxcounterModule.cpp b/src/modules/esp32/PaxcounterModule.cpp
index aad7b5d63..b9fdfcb63 100644
--- a/src/modules/esp32/PaxcounterModule.cpp
+++ b/src/modules/esp32/PaxcounterModule.cpp
@@ -1,5 +1,5 @@
#include "configuration.h"
-#if defined(ARCH_ESP32)
+#if defined(ARCH_ESP32) && !MESHTASTIC_EXCLUDE_PAXCOUNTER
#include "Default.h"
#include "MeshService.h"
#include "PaxcounterModule.h"
diff --git a/src/sleep.cpp b/src/sleep.cpp
index e58c3872a..fe73a755c 100644
--- a/src/sleep.cpp
+++ b/src/sleep.cpp
@@ -211,7 +211,7 @@ void doDeepSleep(uint32_t msecToWake, bool skipPreflight = false)
// esp_wifi_stop();
waitEnterSleep(skipPreflight);
-#ifdef ARCH_ESP32
+#if defined(ARCH_ESP32) && !MESHTASTIC_EXCLUDE_BLUETOOTH
// Full shutdown of bluetooth hardware
if (nimbleBluetooth)
nimbleBluetooth->deinit();
diff --git a/variants/rak11310/variant.h b/variants/rak11310/variant.h
index ba3d4fed7..f9dcbd91a 100644
--- a/variants/rak11310/variant.h
+++ b/variants/rak11310/variant.h
@@ -14,7 +14,7 @@
#define BATTERY_PIN 26
#define BATTERY_SENSE_RESOLUTION_BITS ADC_RESOLUTION
// ratio of voltage divider = 3.0 (R17=200k, R18=100k)
-#define ADC_MULTIPLIER 3.1 // 3.0 + a bit for being optimistic
+#define ADC_MULTIPLIER 1.84
#define DETECTION_SENSOR_EN 28
@@ -47,4 +47,4 @@
// DIO2 controlls an antenna switch and the TCXO voltage is controlled by DIO3
#define SX126X_DIO2_AS_RF_SWITCH
#define SX126X_DIO3_TCXO_VOLTAGE 1.8
-#endif
\ No newline at end of file
+#endif