Repository navigation
muzi_base: fix GPS UART pins and re-enable ATGM336H NMEA output - #1
Merged
Merged
Conversation
The refactor no longer calls Serial1.setPins() on nRF52, so Serial1 uses PIN_SERIAL1_RX/TX directly. Those were swapped (the GPS transmits on P0.20), so no data was received. Fix them and define PIN_GPS_TX/RX by the gps module's side, as other variants do. The ATGM336H keeps its NMEA output config across power cycles, and other firmware may leave every sentence disabled. Re-enable GGA + RMC after each power-up. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
|
Thank you, that's nice to have some feedback for this device, as I saw there were some quirks here ;) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Muzi Base fixes on top of meshcore-dev#3753, tested on a Muzi Base Uno + SuperIO (
muzi_base_uno_superIO_companion_radio_ble).GPS UART pins
With meshcore-dev#3753 as-is, the GPS powers on but no bytes are received at all (
ub:0). The refactor droppedSerial1.setPins(PIN_GPS_TX, PIN_GPS_RX)on nRF52, soSerial1now usesPIN_SERIAL1_RX/TXfromvariant.h, and those were swapped: the GPS transmits on P0.20, which must bePIN_SERIAL1_RX(it matches the Meshtasticmuzi_basevariant). OnmainthesetPins()call happened to swap them back.This fixes
PIN_SERIAL1_RX/TXand definesPIN_GPS_TX/RXfrom the gps module's side (PIN_GPS_TX = PIN_SERIAL1_RX), likewio-tracker-l1.ATGM336H NMEA output
The SuperIO's GPS is an ATGM336H (CASIC AT6558). It keeps its NMEA output config across power cycles, and Meshtastic's probe sends
$PCAS03,0,…(all sentences off) before re-enabling GGA/RMC. A module in that state sends only its boot banner, then nothing (details in meshcore-dev#3760).MuziBaseSensorManager::loop()now sends$PCAS03enabling GGA + RMC 1 s after each power-up, detected fromisActive(), so it covers the switch, the UI/app toggle and periodic wakeups. It doesn't block.This could move into
NmeaGpsDriverif other CASIC boards need it; I kept it in the variant so it doesn't change the driver interface.Tested
en:0).gps off(sw)and power off, thengps onand data resumes.muzi_base_{uno,duo}_superIO_companion_radio_ble,muzi_base_uno_companion_radio_ble,muzi_base_uno_repeater.Note: on my unit the switch's top position is GPS on (P0.12 HIGH); middle and bottom are off.
🤖 Generated with Claude Code