Hi,
In my code I am trying the following. Basically I set a process going in the background to get the wifi signal strength then I do all the other things I need to do then get the result. trouble is as soon as I start using the runshellcommandasync it stops doing some of the other things in the background. i.e it stops updating my output to thingspeak. the rest of the code works perfectly when i comment out the first couple of lines.
Just after a pointer as to where i am going wrong with using the runsasync process
thanks
void loop() // The main program loop
{
Process GetWifiStrength; // Create a new shell process
GetWifiStrength.runShellCommandAsynchronously("/usr/bin/pretty-wifi-info.lua | grep Signal"); // Run a process in the background to get the Wifi signal strength
if(config.ControllerMode==2) // If the value stored in EEPROM for ControllerMode = 2
{
LastWinterPumpTime = millis(); // Reset the timer before entering the loop
WinterModeLoop(); // Enter a persistant winter mode loop to prevent the pump bearings from seizing up.
}
TestPanelCritical(); // Test if the Panel is over its maximum temperature
TestFrostProtection(); // Test if the system is nearing freezing point
TestIfFrozen(); // If the system has frozen stop pumping
TestTropicalMode(); // Test if the system is above the user selected temperature and the Panel is lower thant the Pool temperature by 2 degrees
TestNormalOperation(); // The normal loop. i.e Panel hotter than pool by x
IfNoneApply(); // If none of the above apply then just sit collecting heat
// if (GetWifiStrength.available()) // Once the process is complete
// {
// WifiStrength = GetWifiStrength.parseInt(); // Parse the returned Wifi Strength to an integer
// Console.println(WifiStrength);
// }
}/code]