Getting time

Adding high-resolution timer to imp API would be nice.

I second this request.

I know you can use imp.sleep(float) to insert microsecond precision delays.
But is there anything equivalent to the Arduino micros() API?

As one example, I want to read a single-bus protocol from an AM2303 sensor. I need to time the duration of pulses received to distinguish 0s from 1s.

I made a similar request here:

For now you can use the clock() function (see the squirrel reference manual). It’s only centisecond resolution but its available already.


Unfortunately for this sensor, a ‘0’ is a 26usec pulse and a ‘1’ is a 70usec pulse.

For now I will just use imp.sleep(20 usec) in combination with an event that triggers on any level change of the GPIO and share a global state between the two event handlers.

Unless they release a micros() API before I sit down with this again.