vex::timer::system() returns the value of the system timer in milliseconds (1/1000 seconds).
vex::timer::systemHighResolution() returns the current value of the high-resolution timer (I guess that means system timer) in microseconds (1/1,000,000 seconds).
I don’t know if these timers start when the program starts or when the v5 starts. (You can figure that out by printing the value and seeing what it is.) Also you can just record the time something starts, like in your case the time the program starts.
yes, they are both referenced to when the program was run.
They are in fact different timer sources, the mS timer is incremented under firmware interrupt. The high resolution timer is a special timer that we read from the hardware and is divided down to make a uS timer. They should both track as everything is derived from the same master clock.
we also have a timer that gives time since power on, but I didn’t expose that in the C++ timer class. Timer class is pretty useful as it also has a simple event system, I posted this once before, but here’s a refresher.
It’s an alternate to using tasks, do something like start motors, start a timer, when timer fires perhaps stop the motors. You can rearm the timer in the event to make a periodic timer.