#include <LiquidCrystal.h>
#define TAP 10
#define ROT_A 8
#define ROT_B 9
#define START_STOP 6
#define LED 11
#define ROT_BTN 7
#define RUN 0
#define TEN 1
#define ONE 2
#define NUM 3
#define DEN 4
int tempo;
int ptempo;
int tap_index = 0;
long tref1 = 0;
long tref2 = 0;
long tavg = 0;
long tperiod;
long period;
long ON_time;
long OFF_time;
int pmeter = 4;
int meter = 4;
int beat = 1;
long ref;
int dispO;
int dispT;
int dispH;
int disp;
int pmic = 0;
long btn_ref = 0;
long ptn_ref = 0;
long rdb = 0;
int denom = 4;
int pdenom = 4;
unsigned long rotdb = 0;
unsigned long tapdb = 0;
unsigned long ssdb = 0;
char MODE = RUN;
bool METRONOME_STATE = false;
bool SSS;
bool pclickON;
bool clickON;
bool PSSS = true;
bool METER_BTN_STATE;
bool PMETER_BTN_STATE = true;
bool ROT_B_STATE;
bool PROT_B_STATE = true;
bool ROT_A_STATE;
bool PROT_A_STATE = true;
bool ROT_BTN_STATE;
bool PROT_BTN_STATE = true;
bool PTAP_STATE = true;
bool TAP_STATE;
bool COARSE_FINE = false;
LiquidCrystal lcd(12,13,14,15,18,19);
byte eighth[8] = {
0b00100,
0b00110,
0b00101,
0b00101,
0b00100,
0b11100,
0b11100,
0b00000,
};