What is the function of the SX127x / RFM9x reset pin in LMIC?

@matthijskooijman

One of the popular ESP32+LoRa boards does not have the LoRa Reset connected to any ESP32 GPIO pin.
Instead LoRa Reset is connected to the ESP32 EN (Reset pin) so the LoRa module gets reset when the ESP32 is hardware reset.

In the LMIC configuration settings one has to specify which GPIO pin is used for LoRa reset.
In this case there is none and LMIC_UNUSED_PIN is used as ‘pin’.

Why/when does LMIC reset the LoRa module via GPIO?
What are the implications if LMIC cannot reset the LoRa module via GPIO?
Can this lead to problems?

IIRC LMIC uses it to get the transceiver in a clean state when the library starts up. Normally, it should already be clean from the previous powerup or reset, so I believe it will not lead to problems (but might prevent the library from re-initializing the transceiver if it runs into problems).

Thanks.

When could that possibly be / when would it try to do that?

I believe only when you call LMIC_init or LMIC_reset or something like that (or when your MCU resets, but not the transceiver).

Thanks. In this case a reset of the MCU also resets the tranceiver.

In my project I am using either FSK or LoRa (been selected at boot time).
I had to explicitly connect RFM’s RESET to a MCU’s GPIO pin in order to be sure that after “warm restart” with modulation switch - the RF module is in predictable state. Issues with shared FSK/LoRa SX127x’s control registers may happen otherwise.

Thanks. Interesting project.