Hi Gizmo
This code has no sense as it doesn't consume received status, but it reproduces the issue. By swaping device_id (from simple device to device with many components) you can recreate the problem.
Regards
T.
//const char* device_id = "device_40f478236c12"; //Good
const char* device_id = "device_9d9e5874f070"; //Derails ChipChop - too many components
void WifiStart(){
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
//Serial.println("Connecting...");
while (WiFi.status() != WL_CONNECTED){
delay(500);
Serial.print(".");
}
//Serial.println("WiFi Connected!");
}
Ticker recalculate_ticker;
void chipChopConnectedCallback (String &component, String &value, String &source, int command_age){
//Serial.println("chipChopConnectedCallback");
recalculate_ticker.attach_scheduled(10,[](){
ChipChop.getMyStatus();
});
}
/*
void ChipChop_onStatusReceived(String &component,String &value, String &source){
//Serial.println("ChipChop_onStatusReceived: component="+component+" value="+value+" source="+source);
}
*/
void setup(){
Serial.begin(115200);
delay(500);
WifiStart();
ChipChop.debug(false); //set to false for production
ChipChop.start(wifiClient, server_uri, uuid, device_id, auth_code);
//ChipChop.addListener(CC_COMMAND_RECEIVED, ChipChop_onCommandReceived);
//ChipChop.addListener(CC_STATUS_RECEIVED,ChipChop_onStatusReceived);
ChipChop.addListener(CC_CONNECTED,chipChopConnectedCallback);
ChipChopModules.start();
}
void loop(){
ChipChop.run();
ChipChopModules.run();
}