using System;
using Unosquare.RaspberryIO.Abstractions;
namespace Unosquare.WiringPi {
///
/// Provides access to timing and threading properties and methods.
///
public class Timing : ITiming {
///
///
/// This returns a number representing the number of milliseconds since your program
/// initialized the GPIO controller.
/// It returns an unsigned 32-bit number which wraps after 49 days.
///
public UInt32 Milliseconds => Native.WiringPi.Millis();
///
///
/// This returns a number representing the number of microseconds since your
/// program initialized the GPIO controller
/// It returns an unsigned 32-bit number which wraps after approximately 71 minutes.
///
public UInt32 Microseconds => Native.WiringPi.Micros();
///
public static void Sleep(UInt32 millis) => Native.WiringPi.Delay(millis);
///
public void SleepMilliseconds(UInt32 millis) => Sleep(millis);
///
public void SleepMicroseconds(UInt32 micros) => Native.WiringPi.DelayMicroseconds(micros);
}
}