Function call failed: Function digitalWrite not found


#1

Hello I’m not able to do this command with Particle call, I reinstall particle cli but without result.

particle call CCCC digitalWrite "D7=HIGH"
Function call failed: Function digitalWrite not found

Thanks Valentino


#2

What code is running on your device?
Do you see the function for that device when you run particle list?
The function call is case sensitive, so when the function is listed as digitalwrite you can’t use digitalWrite


#3

First time one code blinked (led), after I’m flashing the below
but the error is the same:
particle call XXXX digitalWrite "D7=HIGH"
Function call failed: Function digitalWrite not found
I can use particle list and have a correct answer.

Second problem
Some time my Boron lost the connection with the cloud led continue breathing cyan
I found with the command ping from console my Boron lost the connection to the cloud but after a reset with the button ping say device is online and connected.

In console I tray to do the diagnostic this is the answer:

any idea from this problem?

Code:
void setup() {
Serial.print(9600);
Particle.variable(“Giorno”,Time.day());
}
void loop()
{
Time.zone(+2);
Serial.print(Time.hour());Serial.print (":");Serial.print(Time.minute());Serial.print (":");Serial.println(Time.second());
Serial.print(Time.day());Serial.print(".");Serial.print(Time.month());Serial.print(".");Serial.println(Time.year());
delay(10000);
}


#4

Can you post the answer and let us judge wheter it’s correct or not? (you can remove the device IDs if you want)

Your exposed variable can’t work since a Particle.variable() needs a global variable to expose, not a function call.

int day = -1;
void setup() {
  Serial.print(9600);
  Particle.variable("Giorno", day);
  Time.zone(+2);
}
void loop() {
  day = Time.day();
  Serial.println(Time.format("%H:%M:%S\r\n%d.%m.%Y\r\n"));
  delay(10000);
}

To understand the Time.format() you can read on here
http://www.cplusplus.com/reference/ctime/strftime/


#5

This is the result from the command particle list

Crichetto1 [xxx] (Core) is offline
Crichetto2 [xxx] (Core) is offline
Crichetto3 [xxx] (Core) is offline
Crichetto4 [xxx] (Photon) is offline

Crichetto10 [xxx] (Boron) is online -->this is the processor where i tray the command particle call…

Crichetto6 [xxx] (Photon) is online

variables:
PressV (double)
UmidV (double)
TempV (double)
mmPioggia (int32)
Gocce (int32)
Luce (double)

Thanks for your support Valentino


#6

There are no exposed functions listed for that device Crichetto10 so there is no wonder you can’t call that function.

Just as for your Crichetto6 where you got a list of variables you should see the functions when there are any exposed in the application, but obviously that Boron doesn’t expose any function at all.

Hence, that answer is not what we’d consider correct for a device that should have a callable function digitalWrite


BTW, just a small note since I’ve been reading it repeatedly. You try to call the command. Tray is what vassoio is in Italian.


#7

Thanks for the correction "try"
Only the last question: If Boron lost the connection to the cloud, should I implement the particle keepalive? Is enough one time in my code or ?
Grazie


#8

If you are using the Particle SIM then you never need to set the keepAlive as the default value is already set for that.


#9

+1 for everything @ScruffR pointed out. Also, is there any reason you call Time.zone(+2); every iteration of loop? Better to call that once in setup() I think.

Also delaying for 10 seconds could cause the Particle.process() to not get serviced enough which would cause a drop in the cloud connection. Try a non-blocking millis() timer.


#10

Hello I’m using a 3rd party sim card (Swiss Sunrise) for this reason like descript on documentation I should improve the keep alive,
Some time If I will flash a code the device not answer on flashing so I check with console ping and the answer is
nto connect to cloud.
Thanks Valentino


#11

No no reason I agree your suggestion this was only a test for other code.

Thanks valentino


#12

Depending on your Device OS version (0.7.0 to 0.8.0-rc.3) you may need to reload Particle.keepAlive() each time after the connection gets lost and reestablished.
In 0.6.4 it should be still OK and with 0.8.0-rc.4 it should be corrected, but for 0.8.0 there is no reason to go with anything before rc.12 now.


#13

I implement the keepalive in one simple code and now is ok.
Thanks Valentino