SHOW:
|
|
- or go back to the newest paste.
| 1 | /* | |
| 2 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
| 3 | Version 2, December 2004 | |
| 4 | ||
| 5 | - | Copyright (C) 2004 me <vomitme @g mail> |
| 5 | + | Copyright (C) 2014 me <vomitme @g mail> |
| 6 | ||
| 7 | Everyone is permitted to copy and distribute verbatim or modified | |
| 8 | copies of this license document, and changing it is allowed as long | |
| 9 | as the name is changed. | |
| 10 | ||
| 11 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
| 12 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |
| 13 | ||
| 14 | 0. You just DO WHAT THE FUCK YOU WANT TO. | |
| 15 | */ | |
| 16 | ||
| 17 | #include <digitalIOPerformance.h> | |
| 18 | ||
| 19 | #define PIN_PDIODE A0 | |
| 20 | #define PIN_BUTTON 2 | |
| 21 | #define BUTTON_PRESSED LOW | |
| 22 | ||
| 23 | void setup() | |
| 24 | {
| |
| 25 | Mouse.begin(); | |
| 26 | Serial.begin(9600); //somehow it can act as a mouse and a serial thing simultaneously | |
| 27 | pinModeFast(PIN_PDIODE, INPUT); | |
| 28 | pinModeFast(PIN_BUTTON, INPUT); | |
| 29 | } | |
| 30 | ||
| 31 | void loop() | |
| 32 | {
| |
| 33 | while (digitalReadFast(PIN_BUTTON) == BUTTON_PRESSED) {
| |
| 34 | unsigned long i = 0, s, n; | |
| 35 | ||
| 36 | while (digitalReadFast(PIN_PDIODE) != LOW) {
| |
| 37 | Serial.print(analogRead(PIN_PDIODE)); | |
| 38 | Serial.println("starting position too bright :P");
| |
| 39 | } | |
| 40 | ||
| 41 | //shake mouse before the twitchnot necessary | |
| 42 | for (i = 0; i < 12; i++) {
| |
| 43 | Mouse.move(0,1,0); | |
| 44 | delayMicroseconds(2000); | |
| 45 | Mouse.move(0,-1,0); | |
| 46 | delayMicroseconds(2000); | |
| 47 | } | |
| 48 | ||
| 49 | //twitch | |
| 50 | i = 0; | |
| 51 | Mouse.move(0,-100,0); | |
| 52 | ||
| 53 | //measure time until screen change detected | |
| 54 | s = micros(); //~3us | |
| 55 | while (digitalReadFast(PIN_PDIODE) != HIGH) i++; //~0.6us per cycle when using digitalReadFast | |
| 56 | n = micros(); //~3us | |
| 57 | ||
| 58 | //print results | |
| 59 | //Serial.print("time (us):\t");
| |
| 60 | Serial.println(n - s); | |
| 61 | //Serial.print("\tcycles:\t");
| |
| 62 | //Serial.println(i); | |
| 63 | ||
| 64 | delay(10); | |
| 65 | Mouse.move(0,100,0); | |
| 66 | delay(random(14,62)); | |
| 67 | //delay(100); //uncomment this if vsync | |
| 68 | } | |
| 69 | } |