How to use sparkcorepulledtimer

hello am trying to avoid using delay() function
am trying to use this code to avoid it but plz i would appreciate some one to help me out with it .
so if i wanna blink three LEDS in this example how i can do it ?where should i place the digitalwrite
for example instead of doing
digitalwrite(led,high)
delay(1000)
digitalwrite(led,low)
delay(1000)
digtalwrite(led2,high)
delay(1000)
digitalwrhite(led2,low)
delay(1000)
.how i can use this code and blink two or three leds with out delay function?

#include "SparkCorePolledTimer/SparkCorePolledTimer.h"

SparkCorePolledTimer updateTimer(1000);  //Create a timer object and set it's timeout in milliseconds
void OnTimer(void);   //Prototype for timer callback method

void setup() {
  Serial1.begin(115200);  
  updateTimer.SetCallback(OnTimer);
}

void loop() {
   updateTimer.Update();
}

void OnTimer(void) {  //Handler for the timer, will be called automatically
  Serial1.println("Hello");
}

so its not good to use delay in the loop void.
what about in the void steup is it ok to use it still it will stop the code then run or just in the void loop?
i did a lot of search i got some ideas but still i would be appreciate for help thanks .

You can use digitalWrite(pin, !digitalRead(pin)) to toggle the pin on each visit to that line.

void OnTimer(void) {  //Handler for the timer, will be called automatically
  digitalWrite(led, !digitalRead(led));
  digitalWrite(led2, !digitalRead(led2));
}

depending on the intended blink pattern you may want to add a FSM or other ways to modify the pattern.

so in this case if i use digitalWrite(led, !digitalRead(led));
does it mean its HIGH or LOW ?
and how am gunna put seprate delay from one to another ?
thanks for ur respond

Since you’ve set the timer to trigger every 1000ms the toggle (once HIGH and next time LOW - each visit the invers state of the previously set one) will occure every second.

SparkCorePolledTimer updateTimer(1000);  

But if you don’t want to just toggle from an “unknown” state you could use a global variable preset the state for next timer call.

BTW, are you really using a Spark Core or are you using a Photon?
If the latter, you can use the inbuilt Software Timers even easier.

am using photon sir
what u mean by the inbuilt software timers?if u could give me and example thanks

See here in the docs
https://docs.particle.io/reference/firmware/photon/#software-timers