firmware/src/mesh
Tom Fifield a3e6f16378
Some checks failed
CI / setup (check) (push) Has been cancelled
CI / setup (esp32) (push) Has been cancelled
CI / setup (esp32c3) (push) Has been cancelled
CI / setup (esp32c6) (push) Has been cancelled
CI / setup (esp32s3) (push) Has been cancelled
CI / setup (nrf52840) (push) Has been cancelled
CI / setup (rp2040) (push) Has been cancelled
CI / setup (rp2350) (push) Has been cancelled
CI / setup (stm32) (push) Has been cancelled
CI / version (push) Has been cancelled
CI / build-debian-src (push) Has been cancelled
CI / package-pio-deps-native-tft (push) Has been cancelled
CI / test-native (push) Has been cancelled
CI / docker-deb-amd64 (push) Has been cancelled
CI / docker-deb-amd64-tft (push) Has been cancelled
CI / docker-alp-amd64 (push) Has been cancelled
CI / docker-alp-amd64-tft (push) Has been cancelled
CI / docker-deb-arm64 (push) Has been cancelled
CI / docker-deb-armv7 (push) Has been cancelled
CI / check (push) Has been cancelled
CI / build-esp32 (push) Has been cancelled
CI / build-esp32s3 (push) Has been cancelled
CI / build-esp32c3 (push) Has been cancelled
CI / build-esp32c6 (push) Has been cancelled
CI / build-nrf52840 (push) Has been cancelled
CI / build-rp2040 (push) Has been cancelled
CI / build-rp2350 (push) Has been cancelled
CI / build-stm32 (push) Has been cancelled
CI / gather-artifacts (esp32) (push) Has been cancelled
CI / gather-artifacts (esp32c3) (push) Has been cancelled
CI / gather-artifacts (esp32c6) (push) Has been cancelled
CI / gather-artifacts (esp32s3) (push) Has been cancelled
CI / gather-artifacts (nrf52840) (push) Has been cancelled
CI / gather-artifacts (rp2040) (push) Has been cancelled
CI / gather-artifacts (rp2350) (push) Has been cancelled
CI / gather-artifacts (stm32) (push) Has been cancelled
CI / release-artifacts (push) Has been cancelled
CI / release-firmware (esp32) (push) Has been cancelled
CI / release-firmware (esp32c3) (push) Has been cancelled
CI / release-firmware (esp32c6) (push) Has been cancelled
CI / release-firmware (esp32s3) (push) Has been cancelled
CI / release-firmware (nrf52840) (push) Has been cancelled
CI / release-firmware (rp2040) (push) Has been cancelled
CI / release-firmware (rp2350) (push) Has been cancelled
CI / release-firmware (stm32) (push) Has been cancelled
CI / publish-firmware (push) Has been cancelled
Introduce non-linear TX_GAIN_LORA (#8107)
* Introduce non-linear TX_GAIN_LORA

Previously, our TX_GAIN_LORA setting was a single number, intended
to represent the signal gain going through a power amp (plus or minus
antenna, attenuator, and other parts of the RF chain).

It turns out the relationship between the input power (i.e. from an SX1262)
and total output power is often non-linear. While we fudged a 1dBm difference
here and there with existing chips, the Heltec v4 has a 5dBm difference in gain
depending on which end of the input power (and frequency) you are at.

To allow people to run their Heltec v4 at max power when legal, and future
proof our code, this patch introduced an optional array-based TX_GAIN_LORA.

Define NUM_PA_POINTS and set TX_GAIN_LORA to gain values for a given input
power in 1dBm increments, and all will work.

For linear systems, just continue to define TX_GAIN_LORA as a number.

Fixes https://github.com/meshtastic/firmware/issues/8070

* Remove temporary power limit on heltec v4

* Add function RadioLibInterface::checkOutputPower

* Ensure SX126x reaches minimum supported power.

* Keep it simple, instead.
2025-09-30 08:20:39 +10:00
..
api
compression
eth
generated Update protobufs (#8142) 2025-09-28 07:35:56 -05:00
http move HTTP contentTypes to Flash - saves 768 Bytes of RAM (#8055) 2025-09-20 12:16:42 -05:00
raspihttp Portduino config refactor (#7796) 2025-09-19 08:24:35 -05:00
udp Feature: Seamless Cross-Preset Communication via UDP Multicast Bridging (#7753) 2025-09-18 20:37:05 -05:00
wifi
aes-ccm.cpp
aes-ccm.h
Channels.cpp Use lora.use_preset config to get name (#8057) 2025-09-20 12:17:49 -05:00
Channels.h Feature: Seamless Cross-Preset Communication via UDP Multicast Bridging (#7753) 2025-09-18 20:37:05 -05:00
CryptoEngine.cpp
CryptoEngine.h
Default.cpp
Default.h
FloodingRouter.cpp Bug / Send upgraded (duplicate) packets to phone if the queue removal failed. (#8148) 2025-09-28 16:42:51 -05:00
FloodingRouter.h Merge pull request #7873 from compumike/compumike/client-base-role 2025-09-18 20:40:39 -05:00
InterfacesTemplates.cpp
LLCC68Interface.cpp
LLCC68Interface.h
LR11x0Interface.cpp Fix 2.4GHz reconfiguration on LR11xx (#8102) 2025-09-25 04:50:56 -05:00
LR11x0Interface.h
LR1110Interface.cpp
LR1110Interface.h
LR1120Interface.cpp
LR1120Interface.h
LR1121Interface.cpp
LR1121Interface.h
MemoryPool.h Static memory pool allocation (#7966) 2025-09-13 07:01:07 -05:00
mesh-pb-constants.cpp
mesh-pb-constants.h Fix DRAM overflow on old esp32 targets 2025-09-13 20:14:10 -05:00
MeshModule.cpp
MeshModule.h
MeshPacketQueue.cpp If a packet is heard multiple times, rebroadcast using the highest hop limit (#5534) 2025-09-25 05:44:49 -05:00
MeshPacketQueue.h If a packet is heard multiple times, rebroadcast using the highest hop limit (#5534) 2025-09-25 05:44:49 -05:00
MeshRadio.h
MeshService.cpp If a packet is heard multiple times, rebroadcast using the highest hop limit (#5534) 2025-09-25 05:44:49 -05:00
MeshService.h If a packet is heard multiple times, rebroadcast using the highest hop limit (#5534) 2025-09-25 05:44:49 -05:00
MeshTypes.h
NextHopRouter.cpp Bug / Send upgraded (duplicate) packets to phone if the queue removal failed. (#8148) 2025-09-28 16:42:51 -05:00
NextHopRouter.h Merge pull request #7873 from compumike/compumike/client-base-role 2025-09-18 20:40:39 -05:00
NodeDB.cpp Remove memcpy (#8079) 2025-09-27 08:33:07 -05:00
NodeDB.h Merge pull request #7873 from compumike/compumike/client-base-role 2025-09-18 20:40:39 -05:00
PacketHistory.cpp Merge branch 'develop' into assymRelay 2025-09-25 20:01:35 +02:00
PacketHistory.h Merge branch 'develop' into assymRelay 2025-09-25 20:01:35 +02:00
PhoneAPI.cpp Try-fix: Unstick that PhoneAPI state (#8091) 2025-09-22 21:46:35 -05:00
PhoneAPI.h Revert "Fix excluded modules configuration handling (#7838)" 2025-09-19 07:29:54 -05:00
PointerQueue.h
ProtobufModule.cpp
ProtobufModule.h
RadioInterface.cpp Introduce non-linear TX_GAIN_LORA (#8107) 2025-09-30 08:20:39 +10:00
RadioInterface.h If a packet is heard multiple times, rebroadcast using the highest hop limit (#5534) 2025-09-25 05:44:49 -05:00
RadioLibInterface.cpp If a packet is heard multiple times, rebroadcast using the highest hop limit (#5534) 2025-09-25 05:44:49 -05:00
RadioLibInterface.h If a packet is heard multiple times, rebroadcast using the highest hop limit (#5534) 2025-09-25 05:44:49 -05:00
RadioLibRF95.cpp
RadioLibRF95.h
ReliableRouter.cpp Make sure to ACK ACKs/replies if next-hop routing is used (#8052) 2025-09-20 06:37:40 -05:00
ReliableRouter.h
RF95Interface.cpp Portduino config refactor (#7796) 2025-09-19 08:24:35 -05:00
RF95Interface.h
Router.cpp Fix int comparison and client_base base should really not be on this list 2025-09-27 08:32:43 -05:00
Router.h If a packet is heard multiple times, rebroadcast using the highest hop limit (#5534) 2025-09-25 05:44:49 -05:00
SinglePortModule.h
StaticPointerQueue.h
STM32WLE5JCInterface.cpp
STM32WLE5JCInterface.h
StreamAPI.cpp
StreamAPI.h Fix formatting and trunk issues 2025-09-19 08:37:58 -05:00
SX126xInterface.cpp Introduce non-linear TX_GAIN_LORA (#8107) 2025-09-30 08:20:39 +10:00
SX126xInterface.h Add heltec_v4 board. (#7845) 2025-09-21 07:13:28 -05:00
SX128xInterface.cpp Portduino config refactor (#7796) 2025-09-19 08:24:35 -05:00
SX128xInterface.h
SX1262Interface.cpp
SX1262Interface.h
SX1268Interface.cpp
SX1268Interface.h
SX1280Interface.cpp
SX1280Interface.h
Throttle.cpp
Throttle.h
TypeConversions.cpp
TypeConversions.h
TypedQueue.h