Skip to content

Conversation

@cod3doomy
Copy link
Contributor

There is a lot to this PR, so if there are any questions let me know.

The idea here is to merge T-Beam fw so that there is less redundant code. Most versions (except the 0.7) share PMU code, init sequence, and most IO pin definitions.

  • Merged all T-Beam board.h files into one TBeamBoard.
  • Added PMU code to identify different AXP chips.
  • Modified "lilygo tbeam SX1276" variant to cover all T-Beam SX1276 versions
  • Modified "lilygo tbeam SX1262" variant to cover all T-Beam SX1262 versions
  • Enabled GPS on all T-Beam versions/models
  • Enabled BME280 on the Supreme

I am also updating EnvironmentSensorManager to allow for boards that do or don't have GPS enable pins, as well as a PERSISTANT_GPS define check for boards that want GPS to stay active after boot.

There is a lot to this PR, so if there are any questions let me know.

The idea here is to merge T-Beam fw so that there is less redundant code. Most versions (except the 0.7) share PMU code, init sequence, and most IO pin definitions.

- Merged all T-Beam board.h files into one TBeamBoard.
- Added PMU code to identify different AXP chips.
- Modified "lilygo tbeam SX1276" variant to cover all T-Beam SX1276 versions
- Modified "lilygo tbeam SX1262" variant to cover all T-Beam SX1262 versions
- Enabled GPS on all T-Beam versions/models
- Enabled BME280 on the Supreme

I am also updating EnvironmentSensorManager to allow for boards that do or don't have GPS enable pins, as well as a PERSISTANT_GPS define check for boards that want GPS to stay active after boot.
void EnvironmentSensorManager::initBasicGPS() {
Serial1.setPins(PIN_GPS_TX, PIN_GPS_RX);

Serial1.setPins(PIN_GPS_RX, PIN_GPS_TX);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this RX/TX swap intended? If this is only for T-Beam, will need to put it in a #if conditional

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at the setPins arguments it shows rx first and then tx, so I followed that logic. If we want to stick with tx first and then rx second, I can swap mine without issues. Which way would you recommend we go with?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cod3doomy It's all about how you wire up the GPS. We are using PIN_GPS_TX to refer to the pin marked TX on the GPS module, so that pin should be connected to the RX pin for the serial port.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Figured as much. Just wanted to check. I can swap them back.

@ripplebiz ripplebiz merged commit 6ae6f89 into meshcore-dev:dev Jun 24, 2025
@ripplebiz
Copy link
Collaborator

BTW, there is still a /variants/lilygo_tbeam variant. Should that one be deleted now?

@cod3doomy
Copy link
Contributor Author

Yes, you can remove it. The lilygo_tbeam is now the t-beam sx1276 variant.
There should be three variants now:
Tbeam sx1262
Tbeam sx1276
Tbeam supreme sx1262

VirtualP1rate added a commit to VirtualP1rate/MeshCore that referenced this pull request Oct 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants