|
|
@ -16,7 +16,8 @@ WRAPPER_CLASS radio_driver(radio, board); |
|
|
|
|
|
|
|
|
ESP32RTCClock fallback_clock; |
|
|
ESP32RTCClock fallback_clock; |
|
|
AutoDiscoverRTCClock rtc_clock(fallback_clock); |
|
|
AutoDiscoverRTCClock rtc_clock(fallback_clock); |
|
|
MicroNMEALocationProvider nmea = MicroNMEALocationProvider(Serial1); |
|
|
// GPS_EN (GPIO35) drives N-ch MOSFET → P-ch high-side switch; GPS_RESET (GPIO36) active LOW
|
|
|
|
|
|
MicroNMEALocationProvider nmea = MicroNMEALocationProvider(Serial1, &rtc_clock, GPS_RESET, GPS_EN, &board.periph_power); |
|
|
HWTSensorManager sensors = HWTSensorManager(nmea); |
|
|
HWTSensorManager sensors = HWTSensorManager(nmea); |
|
|
|
|
|
|
|
|
#ifdef DISPLAY_CLASS |
|
|
#ifdef DISPLAY_CLASS |
|
|
@ -58,18 +59,16 @@ mesh::LocalIdentity radio_new_identity() { |
|
|
|
|
|
|
|
|
void HWTSensorManager::start_gps() { |
|
|
void HWTSensorManager::start_gps() { |
|
|
if (!gps_active) { |
|
|
if (!gps_active) { |
|
|
board.periph_power.claim(); |
|
|
_location->begin(); // Claims periph_power via RefCountedDigitalPin
|
|
|
|
|
|
|
|
|
gps_active = true; |
|
|
gps_active = true; |
|
|
Serial1.println("$CFGSYS,h35155*68"); |
|
|
Serial1.println("$CFGSYS,h35155*68"); // Configure GPS for all constellations
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void HWTSensorManager::stop_gps() { |
|
|
void HWTSensorManager::stop_gps() { |
|
|
if (gps_active) { |
|
|
if (gps_active) { |
|
|
gps_active = false; |
|
|
gps_active = false; |
|
|
|
|
|
_location->stop(); // Releases periph_power via RefCountedDigitalPin
|
|
|
board.periph_power.release(); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|