diff --git a/variants/xiao_s3_wio/platformio.ini b/variants/xiao_s3_wio/platformio.ini index 13d406792b..089675fcdf 100644 --- a/variants/xiao_s3_wio/platformio.ini +++ b/variants/xiao_s3_wio/platformio.ini @@ -6,7 +6,6 @@ board_build.mcu = esp32s3 build_flags = ${esp32_base.build_flags} ${sensor_base.build_flags} -I variants/xiao_s3_wio - -UENV_INCLUDE_GPS -D SEEED_XIAO_S3 -D P_LORA_DIO_1=39 -D P_LORA_NSS=41 @@ -29,6 +28,13 @@ build_flags = ${esp32_base.build_flags} -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 -D SX126X_RX_BOOSTED_GAIN=1 + -D ENV_INCLUDE_GPS=1 + -D PIN_GPS_RX=D6 + -D PIN_GPS_TX=D7 + -D PIN_GPS_RESET=D2 + -D PIN_GPS_RESET_ACTIVE=LOW + -D PIN_GPS_EN=D0 + -D PIN_GPS_EN_ACTIVE=HIGH build_src_filter = ${esp32_base.build_src_filter} +<../variants/xiao_s3_wio> + diff --git a/variants/xiao_s3_wio/target.cpp b/variants/xiao_s3_wio/target.cpp index 42356b0ee8..675ddd7596 100644 --- a/variants/xiao_s3_wio/target.cpp +++ b/variants/xiao_s3_wio/target.cpp @@ -14,7 +14,13 @@ WRAPPER_CLASS radio_driver(radio, board); ESP32RTCClock fallback_clock; AutoDiscoverRTCClock rtc_clock(fallback_clock); -EnvironmentSensorManager sensors; + +#ifdef ENV_INCLUDE_GPS + MicroNMEALocationProvider nmea = MicroNMEALocationProvider(Serial1, &rtc_clock); + EnvironmentSensorManager sensors = EnvironmentSensorManager(nmea); +#else + EnvironmentSensorManager sensors = EnvironmentSensorManager(); +#endif #ifdef DISPLAY_CLASS DISPLAY_CLASS display; diff --git a/variants/xiao_s3_wio/target.h b/variants/xiao_s3_wio/target.h index d85028632e..5966bad170 100644 --- a/variants/xiao_s3_wio/target.h +++ b/variants/xiao_s3_wio/target.h @@ -11,6 +11,9 @@ #include #include #endif +#ifdef ENV_INCLUDE_GPS + #include +#endif #include "XiaoS3WIOBoard.h" extern XiaoS3WIOBoard board;