Adds MeshCore support for the NiceRF LoRa2021 module (Semtech LR2021
Gen 4) on ESP32-C3_Mini_V1 development board.
RadioLib LR2021 class (extends LRxxxx -> PhysicalLayer).
This is a separate class from LR1121 (extends LR11x0).
Key differences from SX1262:
- IRQ on DIO9 (not DIO1): irqDioNum=9 + setDioFunction(9)
- setRxBoostedGainMode(uint8_t 0-7) vs bool
- No DIO2-as-RF-switch (NiceRF handles internally)
- Crystal oscillator (XTAL): tcxoVoltage=0
- getPacketLength() override handles header errors
Uses ESP-IDF SPI HAL (EspIdfHal) because Arduino SPIClass returns
all-zero responses on the ESP32-C3_Mini_V1 with non-default SPI pins.
Direct spi_bus_initialize() works correctly. See EspIdfHal.h for
details.
Build targets: companion_usb/ble/wifi, repeater, room_server,
secure_chat, kiss_modem. All verified building.
Hardware tested: radio init OK, noise floor -102 dBm, companion
connects via meshcore-cli v1.5.7, advert TX verified.