mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-10-21 21:12:03 +00:00
fix(wio-tracker-l2): stop the I2S clock between sounds; GPS and TCXO fixes
The speaker's I2S channel was only disabled when idle, which leaves MCLK running. Its fractional divider (160 MHz / 39 1/16 = 4.096 MHz) makes a comb of lines every 256 kHz: one at 869.632 MHz, in the EU narrow mesh channel, lifted the LoRa noise floor from ~-102 to ~-85 dBm, and others land near GPS L1 and BeiDou B1. The channel is now deleted and its pins held low after each sound, and made again for the next one. Measured: noise floor -102 dBm, outdoor first fix 87 s (was 620 s and more). Also: TCXO at 3.0 V (the L2's part, as Meshtastic has it); GLONASS enabled on the L76K after each power-up; begin() on a running receiver no longer resets it (a reset threw away the acquisition in progress). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -16,15 +16,21 @@
|
||||
|
||||
// The L76K's power and reset lines are on the IO expander, out of the NMEA
|
||||
// provider's reach: begin() / stop() / reset() drive them here, so GPS off
|
||||
// (Settings, duty cycling) really powers the receiver down.
|
||||
// (Settings, duty cycling) really powers the receiver down. begin() on a
|
||||
// running receiver does nothing: a reset there (the app setting "gps" again)
|
||||
// threw away the acquisition in progress.
|
||||
class L2GpsProvider : public MicroNMEALocationProvider {
|
||||
bool _uart_off = false;
|
||||
bool _started = false; // begin() ran (the boot one does the reset)
|
||||
bool _cfg_pending = false; // constellations to set once the module talks
|
||||
uint32_t _cfg_rx = 0;
|
||||
public:
|
||||
using MicroNMEALocationProvider::MicroNMEALocationProvider;
|
||||
void begin() override;
|
||||
void stop() override;
|
||||
void reset() override;
|
||||
bool isEnabled() override;
|
||||
void loop() override;
|
||||
};
|
||||
|
||||
extern WioTrackerL2Board board;
|
||||
|
||||
Reference in New Issue
Block a user