#include <Arduino.h>
#include <Adafruit_GFX.h>
//SPIFFS stuff
#include <FS.h>
#include <SPI.h>
// Wifi Libraries
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <DNSServer.h>
#include <ESP8266WebServer.h>
// Easy Wifi Setup
#include <WiFiManager.h>
// Go to settings to change important parameters
#include "settings.h"
// Project libraries
#include "WifiLocator.h"
#include "PlaneSpotter.h"
#include "ILI9341.h"
#include "artwork.h"
#include "AdsbExchangeClient.h"
#include "GeoMap.h"
// Initialize the TFT
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
WifiLocator locator;
AdsbExchangeClient adsbClient;
GeoMap geoMap(MapProvider::Google, GOOGLE_API_KEY, MAP_WIDTH, MAP_HEIGHT);
//GeoMap geoMap(MapProvider::MapQuest, MAP_QUEST_API_KEY, MAP_WIDTH, MAP_HEIGHT);
PlaneSpotter planeSpotter(&tft, &geoMap);
XPT2046_Touchscreen ts(TOUCH_CS); // Param 2 - NULL - No interrupts
//XPT2046_Touchscreen ts(TOUCH_CS, 255); // Param 2 - 255 - No interrupts
//XPT2046_Touchscreen ts(TOUCH_CS, TOUCH_IRQ); // Param 2 - Touch IRQ Pin - interrupt enabled polling