Photon won't enter listening mode while connecting to wifi (works using setup button but not using external button)

No guarantees, but give this a try

//SYSTEM_THREAD(ENABLED)
SYSTEM_MODE(SEMI_AUTOMATIC)
STARTUP(prepare())

#define DEBOUNCE 250

volatile uint32_t msListening;

void ISR()
{
    if (millis() - msListening < DEBOUNCE) return;
    msListening = millis();
    // start/stop listening depending on current state
    
    if (!WiFi.listening())
    {
        Particle.disconnect();
        WiFi.listen();
    }
    else
    {
        WiFi.listen(false);
        Particle.connect();
    }
}

void prepare()
{
    pinMode(D7, OUTPUT);
    pinMode(D6, INPUT_PULLUP);
    attachInterrupt(D6, ISR, FALLING);
    Particle.connect();
}

void setup() { }

void loop() { }
1 Like