Firmware for UT Robotex 2018 basketball robot

Dependencies:   mbed USBDevice

Committer:
Reiko
Date:
Fri Sep 28 10:46:57 2018 +0000
Revision:
0:ef6268629f0b
Firmware for UT Robotex 2018 basketball robot

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Reiko 0:ef6268629f0b 1 #ifndef QED_H
Reiko 0:ef6268629f0b 2 #define QED_H
Reiko 0:ef6268629f0b 3
Reiko 0:ef6268629f0b 4 #include "mbed.h"
Reiko 0:ef6268629f0b 5
Reiko 0:ef6268629f0b 6 #define PREV_MASK 0x1 //Mask for the previous state in determining direction of rotation.
Reiko 0:ef6268629f0b 7 #define CURR_MASK 0x2 //Mask for the current state in determining direction of rotation.
Reiko 0:ef6268629f0b 8 #define INVALID 0x3 //XORing two states where both bits have changed.
Reiko 0:ef6268629f0b 9
Reiko 0:ef6268629f0b 10 class QED {
Reiko 0:ef6268629f0b 11 public:
Reiko 0:ef6268629f0b 12 QED(PinName channelA, PinName channelB);
Reiko 0:ef6268629f0b 13
Reiko 0:ef6268629f0b 14 int read();
Reiko 0:ef6268629f0b 15
Reiko 0:ef6268629f0b 16 private:
Reiko 0:ef6268629f0b 17 void decode();
Reiko 0:ef6268629f0b 18
Reiko 0:ef6268629f0b 19 InterruptIn interruptA;
Reiko 0:ef6268629f0b 20 InterruptIn interruptB;
Reiko 0:ef6268629f0b 21
Reiko 0:ef6268629f0b 22 volatile int pulses;
Reiko 0:ef6268629f0b 23
Reiko 0:ef6268629f0b 24 int prevState;
Reiko 0:ef6268629f0b 25 int currState;
Reiko 0:ef6268629f0b 26 };
Reiko 0:ef6268629f0b 27
Reiko 0:ef6268629f0b 28 #endif