Program loop will not run when RGB blinking green

This is my first Particle Boron. I compiled the blink led and loaded it, the compiler (VSC with the Particle WB) compiled and flashed successfully. I have pretty poor cell service at home, barely 1/5 bar on my cell phone. Since it can not connect to the LTE network will it not run the loaded program ?

Thank you!

That is correct.
You can put SYSTEM_THREAD(ENABLED) at the top of your program.
This should decouple your program from the cloud connection.

Thank you! I must still have something else going on. I added that and SYSTEM_MODE(AUTOMATIC);

I could not get any combination to work. I am going to run down where I have cell service tomorrow and see if it goes there.



int led1 = D0; 
int led2 = D7; 

SYSTEM_MODE(AUTOMATIC); \\have tried with this line there and not there  
SYSTEM_THREAD(ENABLED);

void setup() {

  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);

}

void loop() {

  digitalWrite(led1, HIGH);
  digitalWrite(led2, HIGH);


  delay(1000);


  digitalWrite(led1, LOW);
  digitalWrite(led2, LOW);

  delay(1000);

}

This is the default mode. Even when this line is not present your device will still behave that way.

However, you could try SYSTEM_MODE(SEMI_AUTOMATIC) to prevent the system from trying to connect to the cloud.

When going that way your device should not even go into the blinking green.
If it still does, your latest changes probably didn’t even get flashed correctly.
A possible reason for that may be that your application firmware targets a higher Device OS version than is installed on your device. This would require a Device OS update which is typically obtained OTA and for that requires a cloud connection.

To test that hypothesis, put your device into Listening Mode (blinking blue) and run CLI
particle serial inspect

You can either update the Device OS via USB to your desired version or change the target version of your application.

If you upgraded the version of Device OS using Particle Workbench, the problem is missing dependencies. The device is attempting to connect to the cloud to get them, and won’t run your code until that is complete.

Open the section “More about changing the Device OS version” under Local Build and Flash in the Workbench docs for more information.

particle serial inspect returned

Radio stack module #0 - version 202, main location, 192512 bytes max size
Integrity: PASS
Address Range: PASS
Platform: PASS
Dependencies: PASS

I assumed that the above “version 202” would match with deviceOS 2.02. I tried that and its working! I see that having it in SEMI_AUTOMATIC turns the LTE off and had the status LED breathing white.

Thank you again for all the help! Now onto getting the I2C LCD up and running along with the couple digital and analog inputs.

1 Like