remove hardcoded max TX, set optional defaults instead

This commit is contained in:
liquidraver
2026-04-24 22:46:03 +02:00
parent 57aab5f522
commit 83fca69782
5 changed files with 74 additions and 80 deletions
@@ -20,6 +20,5 @@ CONFIG_ZEPHCORE_SX126X_HELTEC_REG_PATCH=y
# TX power — SX1262 input to GC1109 PA.
# 10 dBm → ~22 dBm radiated output (GC1109 ~12 dB gain).
# Do not exceed 10 dBm into the PA to avoid compression.
# Driving >10 dBm into the PA compresses it; set as default but not capped.
CONFIG_ZEPHCORE_DEFAULT_TX_POWER_DBM=10
CONFIG_ZEPHCORE_MAX_TX_POWER_DBM=10
@@ -21,6 +21,5 @@ CONFIG_ZEPHCORE_SX126X_HELTEC_REG_PATCH=y
# TX power — SX1262 input to KCT8103L PA.
# 10 dBm → ~22 dBm radiated output (KCT8103L similar gain to GC1109).
# Do not exceed 10 dBm into the PA to avoid compression.
# Driving >10 dBm into the PA compresses it; set as default but not capped.
CONFIG_ZEPHCORE_DEFAULT_TX_POWER_DBM=10
CONFIG_ZEPHCORE_MAX_TX_POWER_DBM=10
+22 -24
View File
@@ -1,24 +1,22 @@
# SPDX-License-Identifier: Apache-2.0
# BQ Station G2 — ZephCore board configuration
#
# Hardware:
# ESP32-S3 (16MB flash, 8MB PSRAM)
# SX1262 + PA on SPI2 (TX power 7 dBm → ~27 dBm with PA)
# SH1106 128x64 OLED on I2C0
# GPS on UART1
# User button on GPIO38
#
# Include order: prj.conf → zephcore_common.conf → esp32_common.conf → board.conf
# Board identification
CONFIG_ZEPHCORE_BOARD_NAME="Station G2"
CONFIG_BT_DIS_MODEL_NUMBER_STR="BQ Station G2"
# TX power limits — Station G2 has ~20dB external PA.
# Default 15 dBm → ~35 dBm output (P1dB point).
# Cap at 19 dBm → ~39 dBm absolute max (matches Arduino MAX_LORA_TX_POWER).
CONFIG_ZEPHCORE_DEFAULT_TX_POWER_DBM=15
CONFIG_ZEPHCORE_MAX_TX_POWER_DBM=19
# Flash size — 16MB (override Zephyr default)
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
# SPDX-License-Identifier: Apache-2.0
# BQ Station G2 — ZephCore board configuration
#
# Hardware:
# ESP32-S3 (16MB flash, 8MB PSRAM)
# SX1262 + PA on SPI2 (TX power 7 dBm → ~27 dBm with PA)
# SH1106 128x64 OLED on I2C0
# GPS on UART1
# User button on GPIO38
#
# Include order: prj.conf → zephcore_common.conf → esp32_common.conf → board.conf
# Board identification
CONFIG_ZEPHCORE_BOARD_NAME="Station G2"
CONFIG_BT_DIS_MODEL_NUMBER_STR="BQ Station G2"
# TX power — Station G2 has ~20dB external PA.
# Default 15 dBm → ~35 dBm output (P1dB point). Not capped — user can raise.
CONFIG_ZEPHCORE_DEFAULT_TX_POWER_DBM=15
# Flash size — 16MB (override Zephyr default)
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
+36 -37
View File
@@ -1,37 +1,36 @@
# TTGO LoRa32 — ESP32 + SX1276
#
# Hardware:
# ESP32 (4MB flash)
# SX1276 on SPI3
# SSD1306 128x64 OLED on I2C0
#
# Include order: prj.conf → zephcore_common.conf → esp32_common.conf → board.conf
# Board identification
CONFIG_ZEPHCORE_BOARD_NAME="TTGO LoRa32"
CONFIG_BT_DIS_MODEL_NUMBER_STR="TTGO LoRa32"
# Radio: SX1276 via Zephyr loramac-node driver (not the native SX126x driver)
# zephcore_common.conf sets CONFIG_LORA_MODULE_BACKEND_NATIVE=y for SX126x boards.
# Override here: SX127x uses the loramac-node backend (classic LoRaMac-node library).
CONFIG_LORA_MODULE_BACKEND_NATIVE=n
CONFIG_LORA_MODULE_BACKEND_LORAMAC_NODE=y
CONFIG_ZEPHCORE_RADIO_SX127X=y
# SX1276 PA_BOOST output: 17 dBm is the safe maximum without an external PA
CONFIG_ZEPHCORE_DEFAULT_TX_POWER_DBM=17
CONFIG_ZEPHCORE_MAX_TX_POWER_DBM=17
# RX duty cycle is not supported by the loramac-node SX127x driver
# (lora_recv_duty_cycle returns -ENOSYS and gracefully falls back to
# lora_recv_async, but disable it to avoid the spurious attempt)
CONFIG_ZEPHCORE_LORA_RX_DUTY_CYCLE=n
# Flash mode: ESP32-PICO-D4 (rev 1.0) — use DIO, not QIO.
# esp32_common.conf enables QIO for the ESP32-S3/C3/C6 boards in this repo.
# Classic ESP32 PICO-D4 rev 1.0 has an issue where bootloader_enable_qio_mode()
# polls the SPI flash WIP bit indefinitely; this hangs with no output after the
# chip-revision "Proceeding" message, the RTCWDT fires, and the board bootloops.
# DIO avoids the QIO-enable SPI sequence entirely and works reliably on PICO-D4.
CONFIG_ESPTOOLPY_FLASHMODE_QIO=n
CONFIG_ESPTOOLPY_FLASHMODE_DIO=y
# TTGO LoRa32 — ESP32 + SX1276
#
# Hardware:
# ESP32 (4MB flash)
# SX1276 on SPI3
# SSD1306 128x64 OLED on I2C0
#
# Include order: prj.conf → zephcore_common.conf → esp32_common.conf → board.conf
# Board identification
CONFIG_ZEPHCORE_BOARD_NAME="TTGO LoRa32"
CONFIG_BT_DIS_MODEL_NUMBER_STR="TTGO LoRa32"
# Radio: SX1276 via Zephyr loramac-node driver (not the native SX126x driver)
# zephcore_common.conf sets CONFIG_LORA_MODULE_BACKEND_NATIVE=y for SX126x boards.
# Override here: SX127x uses the loramac-node backend (classic LoRaMac-node library).
CONFIG_LORA_MODULE_BACKEND_NATIVE=n
CONFIG_LORA_MODULE_BACKEND_LORAMAC_NODE=y
CONFIG_ZEPHCORE_RADIO_SX127X=y
# SX1276 PA_BOOST output: 17 dBm is the safe maximum without an external PA
CONFIG_ZEPHCORE_DEFAULT_TX_POWER_DBM=17
# RX duty cycle is not supported by the loramac-node SX127x driver
# (lora_recv_duty_cycle returns -ENOSYS and gracefully falls back to
# lora_recv_async, but disable it to avoid the spurious attempt)
CONFIG_ZEPHCORE_LORA_RX_DUTY_CYCLE=n
# Flash mode: ESP32-PICO-D4 (rev 1.0) — use DIO, not QIO.
# esp32_common.conf enables QIO for the ESP32-S3/C3/C6 boards in this repo.
# Classic ESP32 PICO-D4 rev 1.0 has an issue where bootloader_enable_qio_mode()
# polls the SPI flash WIP bit indefinitely; this hangs with no output after the
# chip-revision "Proceeding" message, the RTCWDT fires, and the board bootloops.
# DIO avoids the QIO-enable SPI sequence entirely and works reliably on PICO-D4.
CONFIG_ESPTOOLPY_FLASHMODE_QIO=n
CONFIG_ESPTOOLPY_FLASHMODE_DIO=y
@@ -1,15 +1,14 @@
# ProMicro SX1262 — nRF52840 SuperMini + Ebyte E22-900M30S
# SoftDevice v6 (S140 v6) — NiceNano/SuperMini bootloader uses S140 6.1.1
# 0x00B6 = S140 v6 firmware ID; app partition starts at 0x26000
CONFIG_ZEPHCORE_BOARD_NAME="ProMicro SX1262"
CONFIG_BT_DIS_MODEL_NUMBER_STR="ProMicro SX1262 nRF52840-SX1262"
CONFIG_ZEPHCORE_SD_FWID=0x00B6
# Native Zephyr SX1262 driver (Ebyte E22-900M30S)
CONFIG_ZEPHCORE_RADIO_NATIVE=y
# E22-900M30S has 30dB external PA — cap SX1262 output to 10 dBm
# to avoid PA damage on TX
CONFIG_ZEPHCORE_MAX_TX_POWER_DBM=10
CONFIG_ZEPHCORE_DEFAULT_TX_POWER_DBM=10
# ProMicro SX1262 — nRF52840 SuperMini + Ebyte E22-900M30S
# SoftDevice v6 (S140 v6) — NiceNano/SuperMini bootloader uses S140 6.1.1
# 0x00B6 = S140 v6 firmware ID; app partition starts at 0x26000
CONFIG_ZEPHCORE_BOARD_NAME="ProMicro SX1262"
CONFIG_BT_DIS_MODEL_NUMBER_STR="ProMicro SX1262 nRF52840-SX1262"
CONFIG_ZEPHCORE_SD_FWID=0x00B6
# Native Zephyr SX1262 driver (Ebyte E22-900M30S)
CONFIG_ZEPHCORE_RADIO_NATIVE=y
# E22-900M30S has 30dB external PA — default SX1262 output at 10 dBm
# to avoid PA damage on TX. Not capped — user can raise at their own risk.
CONFIG_ZEPHCORE_DEFAULT_TX_POWER_DBM=10