It never returns, it’s defined inside the same class (SX126x.cpp)
int16_t SX126x::reset(bool verify)
{
// run the reset sequence
RADIOLIB_DEBUG_BASIC_PRINTLN("RESET call");
this->mod->hal->pinMode(this->mod->getRst(), this->mod->hal->GpioModeOutput);
this->mod->hal->digitalWrite(this->mod->getRst(), this->mod->hal->GpioLevelLow);
this->mod->hal->delay(1);
this->mod->hal->digitalWrite(this->mod->getRst(), this->mod->hal->GpioLevelHigh);
RADIOLIB_DEBUG_BASIC_PRINTLN("RESET pins");
// return immediately when verification is disabled
if (!verify)
{
return (RADIOLIB_ERR_NONE);
}
RADIOLIB_DEBUG_BASIC_PRINTLN("RESET verify true");
// set mode to standby - SX126x often refuses first few commands after reset
RadioLibTime_t start = this->mod->hal->millis();
while (true)
{
RADIOLIB_DEBUG_BASIC_PRINTLN("RESET loop");
// try to set mode to standby
int16_t state = standby();
if (state == RADIOLIB_ERR_NONE)
{
// standby command successful
return (RADIOLIB_ERR_NONE);
}
RADIOLIB_DEBUG_BASIC_PRINTLN("RESET standby failed");
// standby command failed, check timeout and try again
if (this->mod->hal->millis() - start >= 1000)
{
RADIOLIB_DEBUG_BASIC_PRINTLN("RESET timeout");
// timed out, possibly incorrect wiring
return (state);
}
// wait a bit to not spam the module
this->mod->hal->delay(10);
RADIOLIB_DEBUG_BASIC_PRINTLN("RESET delay");
}
RADIOLIB_DEBUG_BASIC_PRINTLN("RESET end");
}