Skip to content

Instantly share code, notes, and snippets.

@mumblepins
Created August 13, 2014 23:31
Show Gist options
  • Save mumblepins/bd5f9f7a91539f71f0b5 to your computer and use it in GitHub Desktop.
Save mumblepins/bd5f9f7a91539f71f0b5 to your computer and use it in GitHub Desktop.
Timer test
#include "application.h"
unsigned long time0;
unsigned long time1;
unsigned long time2;
#define MILLIS 1
#define NUMBER 1200
void setup() {
Serial.begin(115200);
while (!Serial.available()) SPARK_WLAN_Loop();
double accum=0;
Serial.println("1 ms");
delay(3000);
time0=millis();
for (int i=0; i<1200 ; i++) {
time1=micros();
delay(1);
time2=micros();
if (time2-time1>1010) {
Serial.println();
Serial.print("Long one: ");
Serial.print(time2-time1);
Serial.print("at ");
Serial.print(millis()-time0);
Serial.println(" milliseconds");
} else {
Serial.print(time2-time1);
}
accum += time2-time1;
Serial.print('|');
}
Serial.println(' ');
Serial.println(accum/1200);
accum=0;
Serial.println("10 ms");
delay(3000);
time0=millis();
for (int i=0; i<120 ; i++) {
time1=micros();
delay(10);
time2=micros();
if (time2-time1>10010) {
Serial.println();
Serial.print("Long one: ");
Serial.print(time2-time1);
Serial.print("at ");
Serial.print(millis()-time0);
Serial.println(" milliseconds");
} else {
Serial.print(time2-time1);
}
accum += time2-time1;
Serial.print('|');
}
Serial.println(' ');
Serial.println(accum/120);
accum=0;
Serial.println("100 ms");
delay(3000);
time0=millis();
for (int i=0; i<15 ; i++) {
time1=micros();
delay(100);
time2=micros();
if (time2-time1>100010) {
Serial.println();
Serial.print("Long one: ");
Serial.print(time2-time1);
Serial.print("at ");
Serial.print(millis()-time0);
Serial.println(" milliseconds");
} else {
Serial.print(time2-time1);
}
accum += time2-time1;
Serial.print('|');
}
Serial.println(' ');
Serial.println(accum/15);
accum=0;
Serial.println("1000 ms");
delay(3000);
time0=millis();
for (int i=0; i<10 ; i++) {
time1=millis();
delay(1000);
time2=millis();
if (time2-time1>1000010) {
Serial.println();
Serial.print("Long one: ");
Serial.print(time2-time1);
Serial.print("at ");
Serial.print(millis()-time0);
Serial.println(" milliseconds");
} else {
Serial.print(time2-time1);
}
accum += time2-time1;
Serial.print('|');
}
Serial.println(' ');
Serial.println(accum/10);
accum=0;
Serial.println("2000 ms");
delay(3000);
time0=millis();
for (int i=0; i<10 ; i++) {
time1=millis();
delay(2000);
time2=millis();
if (time2-time1>2000010) {
Serial.println();
Serial.print("Long one: ");
Serial.print(time2-time1);
Serial.print("at ");
Serial.print(millis()-time0);
Serial.println(" milliseconds");
} else {
Serial.print(time2-time1);
}
accum += time2-time1;
Serial.print('|');
}
Serial.println(' ');
Serial.println(accum/10);
accum=0;
Serial.println("90000 ms (1.5 minutes)");
delay(3000);
time0=millis();
for (int i=0; i<5 ; i++) {
time1=millis();
delay(90000);
time2=millis();
if (time2-time1>90000*1000+10) {
Serial.println();
Serial.print("Long one: ");
Serial.print(time2-time1);
Serial.print("at ");
Serial.print(millis()-time0);
Serial.println(" milliseconds");
} else {
Serial.print(time2-time1);
}
accum += time2-time1;
Serial.print('|');
}
Serial.println(' ');
Serial.println(accum/5);
}
void loop() {
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment