#include <Arduino.h>
#include "utils.h"
#include "network.h"
#include "display.h"
#include "gameoflife.h"
#include "settings.h"

int defaultBrightness;
int gameInterval;

unsigned long lastTick;

void showTitle() {
  char msg[13];
  String titleMsg = "Game of Life";
  titleMsg.toCharArray(msg, 13);
  showMessage(msg);
}


void setup()
{
  Serial.begin(115200);
  logLine("", true);
  loadSettings();
  setupDisplay();
  showTitle();
  setupNetwork();
  clearDisplay();
  setupGameOfLife();
}

void loop()
{
  networkLoop();
  if ((millis() - lastTick) >= gameInterval) {
    gameLoop();
    displayLoop();
    lastTick += gameInterval;
  }
}