# Timer
**Repository Path**: sharpsoft/Timer
## Basic Information
- **Project Name**: Timer
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2024-01-15
- **Last Updated**: 2024-06-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Arduino Timer Library v1.1.2
The **Arduino Timer Library** allows you to measure the time between started and stop command. The time can measured in milli or micro seconds. Micro seconds have only a resolution of 4µs!
## Installation
Install directly from the library manager of the Arduino or PlatformIO IDE or do it manually:
1. Download from the Release site
2. Unzip
3. Move the folder to your Arduino Library folder
## How to use
First, include the Timer library to your project:
```
#include "Timer.h"
```
Now, you can create a new object(s):
```
Timer timer;
// for micro second resolution:
Timer timer(MICROS);
timer.start(); // start the timer
timer.pause(); // pause the timer
timer.resume(); // resume the timer
timer.stop(); // stops the timer
timer.read(); // gives back the elapsed time in milli or micro seconds
```
## Example
Complete example: Here we created one timer, you can run it and get the result in the Serial monitor.
```
#include "Timer.h"
Timer timer();
void setup() {
Serial.begin(9600);
timer.start();
if(timer.state() == RUNNING) Serial.println("timer running");
delay(1000);
timer.stop();
if(timer.state() == STOPPED) Serial.println("timer stopped");
Serial.print("time elapsed ms: ");
Serial.println(timer.read());
}
void loop() {
return;
}
```
## Documentation
### Constructors / Destructor
**Timer(resolution_t resolution = MILLIS)**
Creates a Timer object
- parameter resolution sets the internal resolution of the Timer, it can MICROS, or MILLIS
**~Ticker()**
Destructor for Ticker object
### Functions
**void start()**
Start the Timer. If it is paused, it will restarted the Timer.
**void pause()**
Pause the Timer.
**void resume()**
Resume the Timer after a pause.
**void stop()**
Stops the Timer.
**uint32_t read()**
Returns the time after start, you can read the elapsed time also while running.
**status_t state()**
Get the Timer state (RUNNING, PAUSED, STOPPED).