//****************************************************************************************************
//****************************************************************************************************
//******************************               TESTSTEUERUNG             *****************************
//******************************                                         *****************************
//******************************           CONNECTED TO WIFI APP         *****************************
//******************************                                         *****************************
//******************************                    WITH                 *****************************
//******************************                                         *****************************
//******************************  OLED DISPLAY MENU AND ROTARY ENCODER   *****************************
//******************************                                         *****************************
//****************************************************************************************************
//******************************************** -START- ***********************************************

#include "Arduino.h"
#include "globals.h"
#include "setup.h"
#include "watchdog.h"
#include "menu.h"
#include "conveyor.h"
#include "loadcell.h"
#include "websocket.h"

//**************************************************************************************************************
//                                             Setup
//**************************************************************************************************************
void setup()
{
   Serial.begin(115200);
    delay(500); 

  // Start Pin Mode Setup
  setup_PinMode();
  // Start the WatchDog Setup
  setup_Watchdog();
  // Start the EEPROM Setup
  setup_EEPROM();
  // Start the Loadcell Setup
  setup_Loadcell();
  // Start the Encoder Setup
  setup_Encoder();
  // First Welcome Message
  setup_Welcome();

  // Start the  Wifi Connection
  WifiConnect();
  // Start the Default Menu
  MainWindow();
  // Start Conveyor from last State
  RebootState();
}

//****************************************************************************************************************
//                                                Loop
//****************************************************************************************************************
void loop()
{
  ArduinoOTA.handle();
  webSocket.loop();
  WebSocket_Send_Values();
  WatchDog();
  Read_Encoder_Button();
  Read_Back_Button();
  Read_Loadcell();
  MenuUpdate();
  Conveyor();

  // Serial.println(oledMenu.menuTitle);
  // Serial.println(flag_up_move);
}

// ***************************************************** END *****************************************************
// ***************************************************************************************************************