The SX1262 datasheet specifies that SetPaConfig resets OCP to 0x38
(140 mA) for SX1262 devices, vs 0x18/60 mA for SX1261. The Heltec V4
external PA draws from Vext, not the SX1262 supply rail, so the
brownout risk that prompted lowering OCP on other boards (see eab0284)
does not apply here. Hardware-validated: 500 packets at 22 dBm, 0
errors, 0 resets, stable at 72 C peak.
Errata 15.4: SetPacketParams resets register 0x0736 to an incorrect
default for IQ polarity. For standard IQ (no inversion), bit 2 must
be SET after every SetPacketParams call. Without this, LoRa RX
demodulation can fail silently while TX continues to work — the
symptom mimics a hardware failure.
Errata 15.1: Register 0x0889 bit 2 controls modulation quality at
different bandwidths. It must be cleared for 500 kHz BW and set for
all others. The previous implementation was a no-op stub.
Both fixes are from the SX1262 datasheet errata (DS_SX1261-2_V2.1)
and apply to all SX1262-based boards.
Fix for critical Issue: GPIO 36 on the ESP32 is an input-only pin (part of the ADC1 group along with GPIO 34, 35, and 39). This is a hardware limitation of the ESP32 microcontroller. These pins cannot be configured as outputs.
This means the current pin assignment in the firmware will not work correctly for the reset functionality, as pinMode(_reset, OUTPUT) and digitalWrite(_reset, LOW/HIGH) calls will fail to actually drive the pin. The reset pin for a generic ESP32 board should be reassigned to a GPIO that supports output mode (any GPIO that is not 34, 35, 36, or 39).
This appears to be a configuration error in the board definition that would prevent proper initialization of the SX1278 LoRa module on these board configurations.