///////////////////
//// Encoders /////
///////////////////

int steps = 0;

void setupEncoders() {

}

void updateEncoders() {

}

/////////////////////
// Calculate Speed //
/////////////////////

int speed = 0;

void updateSpeed() {
  
}

///////////////////
// Average Speed //
///////////////////

// https://www.arduino.cc/reference/en/libraries/movingaverage/
int averageSpeed = 0;

void updateAverageSpeed() {

}


///////////////////
// Discharge Rate /
///////////////////

int dischargeRate = 0;

void updateDischargeRate() {

}

///////////////////
// Battery Level //
///////////////////

int batteryLevel = 0;

void updateBatteryLevel() {

}

///////////////////
//// Main Loop ////
///////////////////

void setup() {
  setupEncoders();
}

void loop() {
  updateEncoders();
  updateSpeed();
  updateAverageSpeed();
  updateDischargeRate();
  updateBatteryLevel();
}
74HC595
74HC595