1

Topic: Static Ip Address

hello, there is a software as I mentioned below, I want to give it a static ip address, how can I do that?

/*
   Example to setup WiFi client settings using open access point mode 
   for ESP32 or ESP8266
   
   This source code of graphical user interface 
   has been generated automatically by RemoteXY editor.
   To compile this code using RemoteXY library 3.1.1 or later version 
   download by link http://remotexy.com/en/library/
   To connect using RemoteXY mobile app by link http://remotexy.com/en/download/                   
     - for ANDROID 4.10.1 or later version;
     - for iOS 1.8.1 or later version;
    
   This source code is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.    
*/
#define REMOTEXY__DEBUGLOG

#include <PT2258.h>
#include <Wire.h>
#include <EEPROM.h>
#if defined (ESP8266)
  #include <ESP8266WiFi.h>
#elif defined (ESP32)
  #include <WiFi.h>  
#endif

#include <RemoteXY.h>

#define PIN_BUTTON_WIFISETUP 3   // WIFI SETTINGS RESET
#define REMOTEXY_SERVER_PORT 6377
#define DEVICE_NAME "SOUNDPRO"

#define OUT1SOURCEPIN1 18
#define OUT1SOURCEPIN2 5
#define OUT2SOURCEPIN1 17
#define OUT2SOURCEPIN2 16
#define OUT3SOURCEPIN1 4
#define OUT3SOURCEPIN2 33
#define OUT4SOURCEPIN1 25
#define OUT4SOURCEPIN2 26
#define OUT5SOURCEPIN1 27
#define OUT5SOURCEPIN2 14
#define OUT6SOURCEPIN1 12
#define OUT6SOURCEPIN2 13

#define OUT1SOURCEBUTTON 22
#define OUT2SOURCEBUTTON 23
#define OUT3SOURCEBUTTON 
#define OUT4SOURCEBUTTON 
#define OUT5SOURCEBUTTON 21
#define OUT6SOURCEBUTTON 19

PT2258 pt2258;

int OUTPUT1VOL = 0;
int OUTPUT2VOL = 0;
int OUTPUT3VOL = 0;
int OUTPUT4VOL = 0;
int OUTPUT5VOL = 0;
int OUTPUT6VOL = 0;


int OUT1SOURCE = 0;
int OUT2SOURCE = 0;
int OUT3SOURCE = 0;
int OUT4SOURCE = 0;
int OUT5SOURCE = 0;
int OUT6SOURCE = 0;

#pragma pack(push, 1)
////////////////////////////////////////
// WiFi settings configuration
////////////////////////////////////////

#define ssidLength 21 // 20 KARAKTER SSID + ZERO
#define passLength 21  // 20 KARAKTER PASSWORD + ZERO
#define checkLength 1  // 1 BYTE DOSYA
#define EPPROMLength ssidLength+passLength+checkLength //EEPROM BOYUTU

#define ssid_EPPROM 0x0000 
#define pass_EPPROM  ssid_EPPROM+ssidLength 
#define check_EPPROM ssid_EPPROM+ssidLength+passLength 
#define checkValueForEPPROM 0x55

uint8_t const PROGMEM RemoteXY_CONF_WiFiSettings [] =
  { 255,237,0,0,0,81,1,16,31,1,7,36,6,4,50,5,2,26,2,21,
  7,36,6,14,50,5,2,26,2,21,1,1,17,93,26,6,2,31,83,65,
  86,69,0,129,0,6,0,17,4,17,87,73,70,73,32,73,83,77,73,0,
  129,0,6,10,11,4,17,83,73,70,82,69,0,7,36,6,24,50,5,2,
  26,2,16,129,0,6,20,3,4,17,73,80,0,129,0,6,30,16,4,17,
  83,85,66,78,69,84,0,7,36,6,34,50,5,2,26,2,16,7,36,6,
  44,50,5,2,26,2,16,129,0,6,40,19,4,17,71,65,84,69,87,65,
  89,0,7,36,1,55,20,5,2,26,2,11,7,36,1,61,20,5,2,26,
  2,11,7,36,1,67,20,5,2,26,2,11,7,36,1,73,20,5,2,26,
  2,11,129,0,1,50,16,4,17,73,78,32,78,65,77,69,0,7,36,22,
  55,20,5,2,26,2,11,7,36,22,61,20,5,2,26,2,11,7,36,22,
  67,20,5,2,26,2,11,7,36,22,73,20,5,2,26,2,11,129,0,21,
  50,21,4,17,79,85,84,32,78,65,77,69,0,7,36,22,79,20,5,2,
  26,2,11,7,36,43,73,20,5,2,26,2,6,7,36,43,67,20,5,2,
  26,2,6,7,36,43,61,20,5,2,26,2,6,7,36,43,55,20,5,2,
  26,2,6,129,0,48,50,8,4,17,79,85,84,0,7,36,22,85,20,5,
  2,26,2,11,7,36,43,79,20,5,2,26,2,6,7,36,43,85,20,5,
  2,26,2,6 };

struct {

  char ssid[21];  // string UTF8 end zero  
  char pass[21];  // string UTF8 end zero  
  uint8_t buttonReset; // =1 if button pressed, else =0 
  char IP[16];  // string UTF8 end zero  
  char SUBNET[16];  // string UTF8 end zero  
  char GATEWAY[16];  // string UTF8 end zero  
  char IN_1_NAME[11];  // string UTF8 end zero  
  char IN_2_NAME[11];  // string UTF8 end zero  
  char IN_3_NAME[11];  // string UTF8 end zero  
  char IN_4_NAME[11];  // string UTF8 end zero  
  char OUT_1_NAME[11];  // string UTF8 end zero  
  char OUT_2_NAME[11];  // string UTF8 end zero  
  char OUT_3_NAME[11];  // string UTF8 end zero  
  char OUT_4_NAME[11];  // string UTF8 end zero  
  char OUT_5_NAME[11];  // string UTF8 end zero  
  char OUT_4_NAME_SORT[6];  // string UTF8 end zero  
  char OUT_3_NAME_SORT[6];  // string UTF8 end zero  
  char OUT_2_NAME_SORT[6];  // string UTF8 end zero  
  char OUT_1_NAME_SORT[6];  // string UTF8 end zero  
  char OUT_6_NAME[11];  // string UTF8 end zero  
  char OUT_5_NAME_SORT[6];  // string UTF8 end zero  
  char OUT_6_NAME_SORT[6];  // string UTF8 end zero 

    // other variable
  uint8_t connect_flag;  // =1 if wire connected, else =0 


} RemoteXY_WiFiSettings;

////////////////////////////////////////
// Main configuration
////////////////////////////////////////
uint8_t RemoteXY_CONF[] =
  { 255,36,0,134,0,161,4,16,31,6,131,1,4,53,20,7,2,82,18,6,
  1,94,24,79,85,84,49,0,131,0,29,53,20,7,22,82,18,6,2,94,
  24,79,85,84,50,0,131,0,5,53,20,7,2,90,18,6,3,94,24,79,
  85,84,52,0,131,0,30,53,20,7,22,90,18,6,4,94,24,79,85,84,
  53,0,131,0,10,53,20,7,43,82,18,6,5,94,24,79,85,84,51,0,
  131,0,33,53,20,7,43,90,18,6,6,94,24,79,85,84,54,0,1,0,
  33,38,12,12,3,17,11,11,1,2,31,0,1,0,12,23,11,11,3,31,
  11,11,1,2,31,0,1,0,13,38,11,11,3,45,11,11,1,2,31,0,
  1,0,15,53,11,11,3,59,11,11,1,2,31,0,4,0,41,29,7,18,
  47,16,10,48,1,24,1,10,53,22,37,15,15,43,67,18,9,1,36,132,
  31,77,85,84,69,0,31,85,78,77,85,84,69,0,67,4,20,12,20,5,
  15,20,25,5,0,24,31,11,67,4,11,25,25,5,15,34,25,5,0,24,
  31,11,67,4,10,35,25,5,15,48,25,5,0,24,31,11,67,4,14,53,
  25,5,15,62,25,5,0,24,31,11,70,32,23,254,9,9,3,17,11,11,
  1,26,37,135,0,70,32,15,19,11,11,3,31,11,11,1,26,37,135,0,
  70,32,10,33,11,11,3,45,11,11,1,26,37,135,0,70,32,13,48,11,
  11,3,59,11,11,1,26,37,135,0,67,5,14,1,20,5,2,1,59,14,
  1,24,31,11,1,0,255,8,11,11,3,17,11,11,2,2,31,0,1,0,
  255,22,11,11,3,31,11,11,2,2,31,0,1,0,255,36,11,11,3,45,
  11,11,2,2,31,0,1,0,255,50,11,11,3,59,11,11,2,2,31,0,
  70,32,255,8,11,11,3,17,11,11,2,26,37,135,0,70,32,255,22,11,
  11,3,31,11,11,2,26,37,135,0,70,32,255,36,11,11,3,45,11,11,
  2,26,37,135,0,70,32,255,50,11,11,3,59,11,11,2,26,37,135,0,
  67,5,254,249,59,14,2,1,59,14,2,24,31,11,4,0,42,7,10,48,
  47,16,10,48,2,24,1,10,53,38,53,18,9,43,67,18,9,2,36,132,
  31,77,85,84,69,0,31,85,78,77,85,84,69,0,1,0,251,8,11,11,
  3,17,11,11,5,2,31,0,1,0,251,22,11,11,3,31,11,11,5,2,
  31,0,1,0,251,36,11,11,3,45,11,11,5,2,31,0,1,0,251,50,
  11,11,3,59,11,11,5,2,31,0,70,32,251,8,11,11,3,17,11,11,
  5,26,37,135,0,70,32,251,22,11,11,3,31,11,11,5,26,37,135,0,
  70,32,251,36,11,11,3,45,11,11,5,26,37,135,0,70,32,251,50,11,
  11,3,59,11,11,5,26,37,135,0,67,5,250,249,59,14,2,1,59,14,
  5,24,31,11,4,0,38,7,10,48,47,16,10,48,5,24,1,10,53,34,
  53,18,9,43,67,18,9,5,36,132,31,77,85,84,69,0,31,85,78,77,
  85,84,69,0,1,0,251,9,11,11,3,17,11,11,3,2,31,0,1,0,
  251,23,11,11,3,31,11,11,3,2,31,0,1,0,251,37,11,11,3,45,
  11,11,3,2,31,0,1,0,251,51,11,11,3,59,11,11,3,2,31,0,
  70,32,251,9,11,11,3,17,11,11,3,26,37,135,0,70,32,251,23,11,
  11,3,31,11,11,3,26,37,135,0,70,32,251,37,11,11,3,45,11,11,
  3,26,37,135,0,70,32,251,51,11,11,3,59,11,11,3,26,37,135,0,
  67,5,250,250,59,14,2,1,59,14,3,24,31,11,4,0,38,8,10,48,
  47,16,10,48,3,24,1,10,53,34,53,18,9,43,67,18,9,3,36,132,
  31,77,85,84,69,0,31,85,78,77,85,84,69,0,1,0,251,21,11,11,
  3,17,11,11,4,2,31,0,1,0,251,35,11,11,3,31,11,11,4,2,
  31,0,1,0,251,49,11,11,3,45,11,11,4,2,31,0,1,0,251,53,
  11,11,3,59,11,11,4,2,31,0,70,32,251,21,11,11,3,17,11,11,
  4,26,37,135,0,70,32,251,35,11,11,3,31,11,11,4,26,37,135,0,
  70,32,251,49,11,11,3,45,11,11,4,26,37,135,0,70,32,251,53,11,
  11,3,59,11,11,4,26,37,135,0,67,5,250,5,59,14,2,1,59,14,
  4,24,31,11,4,0,38,20,10,48,47,16,10,48,4,24,1,10,53,34,
  53,18,9,43,67,18,9,4,36,132,31,77,85,84,69,0,31,85,78,77,
  85,84,69,0,1,0,251,9,11,11,3,17,11,11,6,2,31,0,1,0,
  251,23,11,11,3,31,11,11,6,2,31,0,1,0,251,37,11,11,3,45,
  11,11,6,2,31,0,1,0,251,51,11,11,3,59,11,11,6,2,31,0,
  70,32,251,9,11,11,3,17,11,11,6,26,37,135,0,70,32,251,23,11,
  11,3,31,11,11,6,26,37,135,0,70,32,251,37,11,11,3,45,11,11,
  6,26,37,135,0,70,32,251,51,11,11,3,59,11,11,6,26,37,135,0,
  67,5,250,250,59,14,2,1,59,14,6,24,31,11,4,0,38,8,10,48,
  47,16,10,48,6,24,1,10,53,34,53,18,9,43,67,18,9,6,31,31,
  31,240,159,148,138,0,31,240,159,148,135,0 };
  
struct {

    // input variables
  uint8_t OUT1_SOURCE1_SEL; // =1 if button pressed, else =0 
  uint8_t OUT1_SOURCE2_SEL; // =1 if button pressed, else =0 
  uint8_t OUT1_SOURCE3_SEL; // =1 if button pressed, else =0 
  uint8_t OUT1_SOURCE4_SEL; // =1 if button pressed, else =0 
  int8_t OUT1_VOLUME; // =0..100 slider position 
  uint8_t OUT1_MUTE; // =1 if state is ON, else =0 
  uint8_t OUT2_SOURCE1_SEL; // =1 if button pressed, else =0 
  uint8_t OUT2_SOURCE2_SEL; // =1 if button pressed, else =0 
  uint8_t OUT2_SOURCE3_SEL; // =1 if button pressed, else =0 
  uint8_t OUT2_SOURCE4_SEL; // =1 if button pressed, else =0 
  int8_t OUT2_VOLUME; // =0..100 slider position 
  uint8_t OUT2_MUTE; // =1 if state is ON, else =0 
  uint8_t OUT3_SOURCE1_SEL; // =1 if button pressed, else =0 
  uint8_t OUT3_SOURCE2_SEL; // =1 if button pressed, else =0 
  uint8_t OUT3_SOURCE3_SEL; // =1 if button pressed, else =0 
  uint8_t OUT3_SOURCE4_SEL; // =1 if button pressed, else =0 
  int8_t OUT3_VOLUME; // =0..100 slider position 
  uint8_t OUT3_MUTE; // =1 if state is ON, else =0 
  uint8_t OUT4_SOURCE1_SEL; // =1 if button pressed, else =0 
  uint8_t OUT4_SOURCE2_SEL; // =1 if button pressed, else =0 
  uint8_t OUT4_SOURCE3_SEL; // =1 if button pressed, else =0 
  uint8_t OUT4_SOURCE4_SEL; // =1 if button pressed, else =0 
  int8_t OUT4_VOLUME; // =0..100 slider position 
  uint8_t OUT4_MUTE; // =1 if state is ON, else =0 
  uint8_t OUT5_SOURCE1_SEL; // =1 if button pressed, else =0 
  uint8_t OUT5_SOURCE2_SEL; // =1 if button pressed, else =0 
  uint8_t OUT5_SOURCE3_SEL; // =1 if button pressed, else =0 
  uint8_t OUT5_SOURCE4_SEL; // =1 if button pressed, else =0 
  int8_t OUT5_VOLUME; // =0..100 slider position 
  uint8_t OUT5_MUTE; // =1 if state is ON, else =0 
  uint8_t OUT6_SOURCE1_SEL; // =1 if button pressed, else =0 
  uint8_t OUT6_SOURCE2_SEL; // =1 if button pressed, else =0 
  uint8_t OUT6_SOURCE3_SEL; // =1 if button pressed, else =0 
  uint8_t OUT6_SOURCE4_SEL; // =1 if button pressed, else =0 
  int8_t OUT6_VOLUME; // =0..100 slider position 
  uint8_t OUT6_MUTE; // =1 if state is ON, else =0 

    // output variables
  char INPUT1_TEXT[11];  // string UTF8 end zero 
  char INPUT2_TEXT[11];  // string UTF8 end zero 
  char INPUT3_TEXT[11];  // string UTF8 end zero 
  char INPUT4_TEXT[11];  // string UTF8 end zero 
  uint8_t OUT1_SOURCE1_LED; // led state 0 .. 2 
  uint8_t OUT1_SOURCE2_LED; // led state 0 .. 2 
  uint8_t OUT1_SOURCE3_LED; // led state 0 .. 2 
  uint8_t OUT1_SOURCE4_LED; // led state 0 .. 2 
  char OUT1_NAME[11];  // string UTF8 end zero 
  uint8_t OUT2_SOURCE1_LED; // led state 0 .. 2 
  uint8_t OUT2_SOURCE2_LED; // led state 0 .. 2 
  uint8_t OUT2_SOURCE3_LED; // led state 0 .. 2 
  uint8_t OUT2_SOURCE4_LED; // led state 0 .. 2 
  char OUT2_NAME[11];  // string UTF8 end zero 
  uint8_t OUT3_SOURCE1_LED; // led state 0 .. 2 
  uint8_t OUT3_SOURCE2_LED; // led state 0 .. 2 
  uint8_t OUT3_SOURCE3_LED; // led state 0 .. 2 
  uint8_t OUT3_SOURCE4_LED; // led state 0 .. 2 
  char OUT3_NAME[11];  // string UTF8 end zero 
  uint8_t OUT4_SOURCE1_LED; // led state 0 .. 2 
  uint8_t OUT4_SOURCE2_LED; // led state 0 .. 2 
  uint8_t OUT4_SOURCE3_LED; // led state 0 .. 2 
  uint8_t OUT4_SOURCE4_LED; // led state 0 .. 2 
  char OUT4_NAME[11];  // string UTF8 end zero 
  uint8_t OUT5_SOURCE1_LED; // led state 0 .. 2 
  uint8_t OUT5_SOURCE2_LED; // led state 0 .. 2 
  uint8_t OUT5_SOURCE3_LED; // led state 0 .. 2 
  uint8_t OUT5_SOURCE4_LED; // led state 0 .. 2 
  char OUT5_NAME[11];  // string UTF8 end zero 
  uint8_t OUT6_SOURCE1_LED; // led state 0 .. 2 
  uint8_t OUT6_SOURCE2_LED; // led state 0 .. 2 
  uint8_t OUT6_SOURCE3_LED; // led state 0 .. 2 
  uint8_t OUT6_SOURCE4_LED; // led state 0 .. 2 
  char OUT6_NAME[11];  // string UTF8 end zero
    // other variable
  uint8_t connect_flag;  // =1 if wire connected, else =0 

} RemoteXY;

#pragma pack(pop)



/////////////////////////////////////////////
//           END RemoteXY include          //
/////////////////////////////////////////////


CRemoteXY *remotexy;
uint8_t wifiSettingMode = 0;

boolean readRemoteXYFromEEPROM () {
  if (EEPROM.read(check_EPPROM) == checkValueForEPPROM) {
    for (uint8_t i = 0; i<ssidLength; i++) RemoteXY_WiFiSettings.ssid[i] = EEPROM.read(ssid_EPPROM+i); 
    for (uint8_t i = 0; i<passLength; i++) RemoteXY_WiFiSettings.pass[i] = EEPROM.read(pass_EPPROM+i); 
    return true;
  }
  return false;  
}

void writeRemoteXYToEEPROM () {
  for (uint8_t i = 0; i<ssidLength; i++) EEPROM.write (ssid_EPPROM+i, RemoteXY_WiFiSettings.ssid[i]);  
  for (uint8_t i = 0; i<passLength; i++) EEPROM.write (pass_EPPROM+i, RemoteXY_WiFiSettings.pass[i]);
  EEPROM.write (check_EPPROM, checkValueForEPPROM);    
  EEPROM.commit ();
  EEPROM.put(85,RemoteXY_WiFiSettings.IN_1_NAME); 
  EEPROM.put(96,RemoteXY_WiFiSettings.IN_2_NAME);
  EEPROM.put(107,RemoteXY_WiFiSettings.IN_3_NAME);
  EEPROM.put(118,RemoteXY_WiFiSettings.IN_4_NAME);
  EEPROM.put(129,RemoteXY_WiFiSettings.OUT_1_NAME);
  EEPROM.put(140,RemoteXY_WiFiSettings.OUT_2_NAME);
  EEPROM.put(151,RemoteXY_WiFiSettings.OUT_3_NAME);
  EEPROM.put(162,RemoteXY_WiFiSettings.OUT_4_NAME);
  EEPROM.put(173,RemoteXY_WiFiSettings.OUT_5_NAME);
  EEPROM.put(184,RemoteXY_WiFiSettings.OUT_6_NAME);
  EEPROM.put(195,RemoteXY_WiFiSettings.OUT_1_NAME_SORT);
  EEPROM.put(201,RemoteXY_WiFiSettings.OUT_2_NAME_SORT);
  EEPROM.put(207,RemoteXY_WiFiSettings.OUT_3_NAME_SORT);
  EEPROM.put(213,RemoteXY_WiFiSettings.OUT_4_NAME_SORT);
  EEPROM.put(219,RemoteXY_WiFiSettings.OUT_5_NAME_SORT);
  EEPROM.put(225,RemoteXY_WiFiSettings.OUT_6_NAME_SORT);
  EEPROM.put(231,RemoteXY_WiFiSettings.IP);
  EEPROM.put(247,RemoteXY_WiFiSettings.SUBNET);
  EEPROM.put(263,RemoteXY_WiFiSettings.GATEWAY);
  EEPROM.commit();
}

void setup() 
{
  EEPROM.begin(512);
  pinMode (PIN_BUTTON_WIFISETUP, INPUT);
  
  boolean EEPROMisValid = readRemoteXYFromEEPROM ();
  if (!digitalRead(PIN_BUTTON_WIFISETUP) || (!EEPROMisValid)) {
    // wifi setup mode
    wifiSettingMode = 1;
    remotexy = new CRemoteXY (RemoteXY_CONF_WiFiSettings, &RemoteXY_WiFiSettings, "", new CRemoteXYConnectionServer (new CRemoteXYComm_WiFiPoint (DEVICE_NAME, ""), REMOTEXY_SERVER_PORT));
    EEPROM.get(0,RemoteXY_WiFiSettings.ssid);
    EEPROM.get(21,RemoteXY_WiFiSettings.pass);
    EEPROM.get(231,RemoteXY_WiFiSettings.IP);
    EEPROM.get(247,RemoteXY_WiFiSettings.SUBNET);
    EEPROM.get(263,RemoteXY_WiFiSettings.GATEWAY);
    EEPROM.get(85,RemoteXY_WiFiSettings.IN_1_NAME);
    EEPROM.get(96,RemoteXY_WiFiSettings.IN_2_NAME);
    EEPROM.get(107,RemoteXY_WiFiSettings.IN_3_NAME);
    EEPROM.get(118,RemoteXY_WiFiSettings.IN_4_NAME);
    EEPROM.get(129,RemoteXY_WiFiSettings.OUT_1_NAME);
    EEPROM.get(140,RemoteXY_WiFiSettings.OUT_2_NAME);
    EEPROM.get(151,RemoteXY_WiFiSettings.OUT_3_NAME);
    EEPROM.get(162,RemoteXY_WiFiSettings.OUT_4_NAME);
    EEPROM.get(173,RemoteXY_WiFiSettings.OUT_5_NAME);
    EEPROM.get(184,RemoteXY_WiFiSettings.OUT_6_NAME);
    EEPROM.get(195,RemoteXY_WiFiSettings.OUT_1_NAME_SORT);
    EEPROM.get(201,RemoteXY_WiFiSettings.OUT_2_NAME_SORT);
    EEPROM.get(207,RemoteXY_WiFiSettings.OUT_3_NAME_SORT);
    EEPROM.get(213,RemoteXY_WiFiSettings.OUT_4_NAME_SORT);
    EEPROM.get(219,RemoteXY_WiFiSettings.OUT_5_NAME_SORT);
    EEPROM.get(225,RemoteXY_WiFiSettings.OUT_6_NAME_SORT);
  }
  else {
    remotexy = new CRemoteXY (RemoteXY_CONF_PROGMEM, &RemoteXY, "", new CRemoteXYConnectionServer (new CRemoteXYComm_WiFi (RemoteXY_WiFiSettings.ssid, RemoteXY_WiFiSettings.pass), REMOTEXY_SERVER_PORT));
 
  } 
  Serial.begin(115200); 

  pt2258.init();
  pinMode(OUT1SOURCEPIN1,OUTPUT);
  pinMode(OUT1SOURCEPIN2,OUTPUT);
  pinMode(OUT2SOURCEPIN1,OUTPUT);
  pinMode(OUT2SOURCEPIN2,OUTPUT);
  pinMode(OUT3SOURCEPIN1,OUTPUT);
  pinMode(OUT3SOURCEPIN2,OUTPUT);
  pinMode(OUT4SOURCEPIN1,OUTPUT);
  pinMode(OUT4SOURCEPIN2,OUTPUT);
  pinMode(OUT5SOURCEPIN1,OUTPUT);
  pinMode(OUT5SOURCEPIN2,OUTPUT);
  pinMode(OUT6SOURCEPIN1,OUTPUT);
  pinMode(OUT6SOURCEPIN2,OUTPUT);
  EEPROMOKU();
}

int prevSwitch_1 = 0;

void loop() 
{ 
  remotexy->handler ();
  
  if (wifiSettingMode) {

    if (RemoteXY_WiFiSettings.buttonReset) {
      writeRemoteXYToEEPROM (); 
      ESP.restart (); 
    }
  }  
  else
  OUTPUT1SOURCE();
  OUTPUT2SOURCE();
  OUTPUT3SOURCE();
  OUTPUT4SOURCE();
  OUTPUT5SOURCE();
  OUTPUT6SOURCE();
}

void EEPROMOKU()
{
  OUT1SOURCE = EEPROM.read(60);
  OUT2SOURCE = EEPROM.read(61);
  OUT3SOURCE = EEPROM.read(62);
  OUT4SOURCE = EEPROM.read(63);
  OUT5SOURCE = EEPROM.read(64);
  OUT6SOURCE = EEPROM.read(65);
    EEPROM.get(85,RemoteXY.INPUT1_TEXT);
    EEPROM.get(96,RemoteXY.INPUT2_TEXT);
    EEPROM.get(107,RemoteXY.INPUT3_TEXT);
    EEPROM.get(118,RemoteXY.INPUT4_TEXT);
    EEPROM.get(129,RemoteXY.OUT1_NAME);
    EEPROM.get(140,RemoteXY.OUT2_NAME);
    EEPROM.get(151,RemoteXY.OUT3_NAME);
    EEPROM.get(162,RemoteXY.OUT4_NAME);
    EEPROM.get(173,RemoteXY.OUT5_NAME);
    EEPROM.get(184,RemoteXY.OUT6_NAME);
}

void OUTPUT1SOURCE()
{
  if (RemoteXY.OUT1_SOURCE1_SEL!=0)
  {
    OUT1SOURCE = 1;
  }
  if (RemoteXY.OUT1_SOURCE2_SEL!=0)
  {
    OUT1SOURCE = 2;
  }
  if (RemoteXY.OUT1_SOURCE3_SEL!=0)
  {
    OUT1SOURCE = 3;
  }
  if (RemoteXY.OUT1_SOURCE4_SEL!=0)
  {
    OUT1SOURCE = 4;
  }
  if (digitalRead(OUT1SOURCEBUTTON) == HIGH)
  {
    OUT1SOURCE++;
    if (OUT1SOURCE >= 5)
    {
      OUT1SOURCE = 1;
    }
  }
    switch (OUT1SOURCE)
  {
    case 1: 
      RemoteXY.OUT1_SOURCE1_LED = 2;
      RemoteXY.OUT1_SOURCE2_LED = 1;
      RemoteXY.OUT1_SOURCE3_LED = 1;
      RemoteXY.OUT1_SOURCE4_LED = 1;
      digitalWrite(OUT1SOURCEPIN1,LOW);
      digitalWrite(OUT1SOURCEPIN2,LOW);
      EEPROM.write(60,1);
      EEPROM.commit();
      break; 

    case 2: 
      RemoteXY.OUT1_SOURCE1_LED = 1;
      RemoteXY.OUT1_SOURCE2_LED = 2;
      RemoteXY.OUT1_SOURCE3_LED = 1;
      RemoteXY.OUT1_SOURCE4_LED = 1;
      digitalWrite(OUT1SOURCEPIN1,HIGH);
      digitalWrite(OUT1SOURCEPIN2,LOW);
      EEPROM.write(60,2);
      EEPROM.commit();
      break;

    case 3: 
      RemoteXY.OUT1_SOURCE1_LED = 1;
      RemoteXY.OUT1_SOURCE2_LED = 1;
      RemoteXY.OUT1_SOURCE3_LED = 2;
      RemoteXY.OUT1_SOURCE4_LED = 1;
      digitalWrite(OUT1SOURCEPIN1,LOW);
      digitalWrite(OUT1SOURCEPIN2,HIGH);
      EEPROM.write(60,3);
      EEPROM.commit();
      break;

    case 4: 
      RemoteXY.OUT1_SOURCE1_LED = 1;
      RemoteXY.OUT1_SOURCE2_LED = 1;
      RemoteXY.OUT1_SOURCE3_LED = 1;
      RemoteXY.OUT1_SOURCE4_LED = 2;
      digitalWrite(OUT1SOURCEPIN1,HIGH);
      digitalWrite(OUT1SOURCEPIN2,HIGH);
      EEPROM.write(60,4);
      EEPROM.commit();
      break;
  }
}

void OUTPUT2SOURCE()
{
  if (RemoteXY.OUT2_SOURCE1_SEL!=0)
  {
    OUT2SOURCE = 1;
  }
  if (RemoteXY.OUT2_SOURCE2_SEL!=0)
  {
    OUT2SOURCE = 2;
  }
  if (RemoteXY.OUT2_SOURCE3_SEL!=0)
  {
    OUT2SOURCE = 3;
  }
  if (RemoteXY.OUT2_SOURCE4_SEL!=0)
  {
    OUT2SOURCE = 4;
  }
  if (digitalRead(OUT2SOURCEBUTTON) == HIGH)
  {
    OUT2SOURCE++;
    if (OUT2SOURCE >= 5)
    {
      OUT2SOURCE = 1;
    }
  }
    switch (OUT2SOURCE)
  {
    case 1: 
      RemoteXY.OUT2_SOURCE1_LED = 2;
      RemoteXY.OUT2_SOURCE2_LED = 1;
      RemoteXY.OUT2_SOURCE3_LED = 1;
      RemoteXY.OUT2_SOURCE4_LED = 1;
      digitalWrite(OUT2SOURCEPIN1,LOW);
      digitalWrite(OUT2SOURCEPIN2,LOW);
      EEPROM.write(61,1);
      EEPROM.commit();
      break; 

    case 2: 
      RemoteXY.OUT2_SOURCE1_LED = 1;
      RemoteXY.OUT2_SOURCE2_LED = 2;
      RemoteXY.OUT2_SOURCE3_LED = 1;
      RemoteXY.OUT2_SOURCE4_LED = 1;
      digitalWrite(OUT2SOURCEPIN1,HIGH);
      digitalWrite(OUT2SOURCEPIN2,LOW);
      EEPROM.write(61,2);
      EEPROM.commit();
      break;

    case 3: 
      RemoteXY.OUT2_SOURCE1_LED = 1;
      RemoteXY.OUT2_SOURCE2_LED = 1;
      RemoteXY.OUT2_SOURCE3_LED = 2;
      RemoteXY.OUT2_SOURCE4_LED = 1;
      digitalWrite(OUT2SOURCEPIN1,LOW);
      digitalWrite(OUT2SOURCEPIN2,HIGH);
      EEPROM.write(61,3);
      EEPROM.commit();
      break;

    case 4: 
      RemoteXY.OUT2_SOURCE1_LED = 1;
      RemoteXY.OUT2_SOURCE2_LED = 1;
      RemoteXY.OUT2_SOURCE3_LED = 1;
      RemoteXY.OUT2_SOURCE4_LED = 2;
      digitalWrite(OUT2SOURCEPIN1,HIGH);
      digitalWrite(OUT2SOURCEPIN2,HIGH);
      EEPROM.write(61,4);
      EEPROM.commit();
      break;
  }
}

void OUTPUT3SOURCE()
{
  if (RemoteXY.OUT3_SOURCE1_SEL!=0)
  {
    OUT3SOURCE = 1;
  }
  if (RemoteXY.OUT3_SOURCE2_SEL!=0)
  {
    OUT3SOURCE = 2;
  }
  if (RemoteXY.OUT3_SOURCE3_SEL!=0)
  {
    OUT3SOURCE = 3;
  }
  if (RemoteXY.OUT3_SOURCE4_SEL!=0)
  {
    OUT3SOURCE = 4;
  }
  //if (digitalRead(OUT3SOURCEBUTTON) == HIGH)
  //{
    //OUT3SOURCE++;
    //if (OUT3SOURCE >= 5)
    //{
      //OUT3SOURCE = 1;
    //}
  //}
    switch (OUT3SOURCE)
  {
    case 1: 
      RemoteXY.OUT3_SOURCE1_LED = 2;
      RemoteXY.OUT3_SOURCE2_LED = 1;
      RemoteXY.OUT3_SOURCE3_LED = 1;
      RemoteXY.OUT3_SOURCE4_LED = 1;
      //OUT3SOURCEPIN1 = LOW;
      //OUT3SOURCEPIN2 = LOW;
      EEPROM.write(62,1);
      EEPROM.commit();
      break; 

    case 2: 
      RemoteXY.OUT3_SOURCE1_LED = 1;
      RemoteXY.OUT3_SOURCE2_LED = 2;
      RemoteXY.OUT3_SOURCE3_LED = 1;
      RemoteXY.OUT3_SOURCE4_LED = 1;
      //OUT3SOURCEPIN1 = HIGH;
      //OUT3SOURCEPIN2 = LOW;
      EEPROM.write(62,2);
      EEPROM.commit();
      break;

    case 3: 
      RemoteXY.OUT3_SOURCE1_LED = 1;
      RemoteXY.OUT3_SOURCE2_LED = 1;
      RemoteXY.OUT3_SOURCE3_LED = 2;
      RemoteXY.OUT3_SOURCE4_LED = 1;
      //OUT3SOURCEPIN1 = LOW;
      //OUT3SOURCEPIN2 = HIGH;
      EEPROM.write(62,3);
      EEPROM.commit();
      break;

    case 4: 
      RemoteXY.OUT3_SOURCE1_LED = 1;
      RemoteXY.OUT3_SOURCE2_LED = 1;
      RemoteXY.OUT3_SOURCE3_LED = 1;
      RemoteXY.OUT3_SOURCE4_LED = 2;
      //OUT3SOURCEPIN1 = HIGH;
      //OUT3SOURCEPIN2 = HIGH;
      EEPROM.write(62,4);
      EEPROM.commit();
      break;
  }
}

void OUTPUT4SOURCE()
{
  if (RemoteXY.OUT4_SOURCE1_SEL!=0)
  {
    OUT4SOURCE = 1;
  }
  if (RemoteXY.OUT4_SOURCE2_SEL!=0)
  {
    OUT4SOURCE = 2;
  }
  if (RemoteXY.OUT4_SOURCE3_SEL!=0)
  {
    OUT4SOURCE = 3;
  }
  if (RemoteXY.OUT4_SOURCE4_SEL!=0)
  {
    OUT4SOURCE = 4;
  }
  //if (digitalRead(OUT4SOURCEBUTTON) == HIGH)
  //{
    //OUT4SOURCE++;
    //if (OUT4SOURCE >= 5)
    //{
      //OUT4SOURCE = 1;
    //}
  //}
    switch (OUT4SOURCE)
  {
    case 1: 
      RemoteXY.OUT4_SOURCE1_LED = 2;
      RemoteXY.OUT4_SOURCE2_LED = 1;
      RemoteXY.OUT4_SOURCE3_LED = 1;
      RemoteXY.OUT4_SOURCE4_LED = 1;
      //OUT4SOURCEPIN1 = LOW;
      //OUT4SOURCEPIN2 = LOW;
      EEPROM.write(63,1);
      EEPROM.commit();
      break; 

    case 2: 
      RemoteXY.OUT4_SOURCE1_LED = 1;
      RemoteXY.OUT4_SOURCE2_LED = 2;
      RemoteXY.OUT4_SOURCE3_LED = 1;
      RemoteXY.OUT4_SOURCE4_LED = 1;
      //OUT4SOURCEPIN1 = HIGH;
      //OUT4SOURCEPIN2 = LOW;
      EEPROM.write(63,2);
      EEPROM.commit();
      break;

    case 3: 
      RemoteXY.OUT4_SOURCE1_LED = 1;
      RemoteXY.OUT4_SOURCE2_LED = 1;
      RemoteXY.OUT4_SOURCE3_LED = 2;
      RemoteXY.OUT4_SOURCE4_LED = 1;
      //OUT4SOURCEPIN1 = LOW;
      //OUT4SOURCEPIN2 = HIGH;
      EEPROM.write(63,3);
      EEPROM.commit();
      break;

    case 4: 
      RemoteXY.OUT4_SOURCE1_LED = 1;
      RemoteXY.OUT4_SOURCE2_LED = 1;
      RemoteXY.OUT4_SOURCE3_LED = 1;
      RemoteXY.OUT4_SOURCE4_LED = 2;
      //OUT4SOURCEPIN1 = HIGH;
      //OUT4SOURCEPIN2 = HIGH;
      EEPROM.write(63,4);
      EEPROM.commit();
      break;
  }
}

void OUTPUT5SOURCE()
{
  if (RemoteXY.OUT5_SOURCE1_SEL!=0)
  {
    OUT5SOURCE = 1;
  }
  if (RemoteXY.OUT5_SOURCE2_SEL!=0)
  {
    OUT5SOURCE = 2;
  }
  if (RemoteXY.OUT5_SOURCE3_SEL!=0)
  {
    OUT5SOURCE = 3;
  }
  if (RemoteXY.OUT5_SOURCE4_SEL!=0)
  {
    OUT5SOURCE = 4;
  }
  if (digitalRead(OUT5SOURCEBUTTON) == HIGH)
  {
    OUT5SOURCE++;
    if (OUT5SOURCE >= 5)
    {
      OUT5SOURCE = 1;
    }
  }
    switch (OUT5SOURCE)
  {
    case 1: 
      RemoteXY.OUT5_SOURCE1_LED = 2;
      RemoteXY.OUT5_SOURCE2_LED = 1;
      RemoteXY.OUT5_SOURCE3_LED = 1;
      RemoteXY.OUT5_SOURCE4_LED = 1;
      //OUT5SOURCEPIN1 = LOW;
      //OUT5SOURCEPIN2 = LOW;
      EEPROM.write(64,1);
      EEPROM.commit();
      break; 

    case 2: 
      RemoteXY.OUT5_SOURCE1_LED = 1;
      RemoteXY.OUT5_SOURCE2_LED = 2;
      RemoteXY.OUT5_SOURCE3_LED = 1;
      RemoteXY.OUT5_SOURCE4_LED = 1;
      //OUT5SOURCEPIN1 = HIGH;
      //OUT5SOURCEPIN2 = LOW;
      EEPROM.write(64,2);
      EEPROM.commit();
      break;

    case 3: 
      RemoteXY.OUT5_SOURCE1_LED = 1;
      RemoteXY.OUT5_SOURCE2_LED = 1;
      RemoteXY.OUT5_SOURCE3_LED = 2;
      RemoteXY.OUT5_SOURCE4_LED = 1;
      //OUT5SOURCEPIN1 = LOW;
      //OUT5SOURCEPIN2 = HIGH;
      EEPROM.write(64,3);
      EEPROM.commit();
      break;

    case 4: 
      RemoteXY.OUT5_SOURCE1_LED = 1;
      RemoteXY.OUT5_SOURCE2_LED = 1;
      RemoteXY.OUT5_SOURCE3_LED = 1;
      RemoteXY.OUT5_SOURCE4_LED = 2;
      //OUT5SOURCEPIN1 = HIGH;
      //OUT5SOURCEPIN2 = HIGH;
      EEPROM.write(64,4);
      EEPROM.commit();
      break;
  }
}

void OUTPUT6SOURCE()
{
  if (RemoteXY.OUT6_SOURCE1_SEL!=0)
  {
    OUT6SOURCE = 1;
  }
  if (RemoteXY.OUT6_SOURCE2_SEL!=0)
  {
    OUT6SOURCE = 2;
  }
  if (RemoteXY.OUT6_SOURCE3_SEL!=0)
  {
    OUT6SOURCE = 3;
  }
  if (RemoteXY.OUT6_SOURCE4_SEL!=0)
  {
    OUT6SOURCE = 4;
  }
  if (digitalRead(OUT6SOURCEBUTTON) == HIGH)
  {
    OUT6SOURCE++;
    if (OUT6SOURCE >= 5)
    {
      OUT6SOURCE = 1;
    }
  }
    switch (OUT6SOURCE)
  {
    case 1: 
      RemoteXY.OUT6_SOURCE1_LED = 2;
      RemoteXY.OUT6_SOURCE2_LED = 1;
      RemoteXY.OUT6_SOURCE3_LED = 1;
      RemoteXY.OUT6_SOURCE4_LED = 1;
      //OUT6SOURCEPIN1 = LOW;
      //OUT6SOURCEPIN2 = LOW;
      EEPROM.write(65,1);
      EEPROM.commit();
      break; 

    case 2: 
      RemoteXY.OUT6_SOURCE1_LED = 1;
      RemoteXY.OUT6_SOURCE2_LED = 2;
      RemoteXY.OUT6_SOURCE3_LED = 1;
      RemoteXY.OUT6_SOURCE4_LED = 1;
      //OUT6SOURCEPIN1 = HIGH;
      //OUT6SOURCEPIN2 = LOW;
      EEPROM.write(65,2);
      EEPROM.commit();
      break;

    case 3: 
      RemoteXY.OUT6_SOURCE1_LED = 1;
      RemoteXY.OUT6_SOURCE2_LED = 1;
      RemoteXY.OUT6_SOURCE3_LED = 2;
      RemoteXY.OUT6_SOURCE4_LED = 1;
      //OUT6SOURCEPIN1 = LOW;
      //OUT6SOURCEPIN2 = HIGH;
      EEPROM.write(65,3);
      EEPROM.commit();
      break;

    case 4: 
      RemoteXY.OUT6_SOURCE1_LED = 1;
      RemoteXY.OUT6_SOURCE2_LED = 1;
      RemoteXY.OUT6_SOURCE3_LED = 1;
      RemoteXY.OUT6_SOURCE4_LED = 2;
      //OUT6SOURCEPIN1 = HIGH;
      //OUT6SOURCEPIN2 = HIGH;
      EEPROM.write(65,4);
      EEPROM.commit();
      break;
  }
}

void OUTPUT1VOLUME ()
{
  OUTPUT1VOL = map(RemoteXY.OUT1_VOLUME,0,100,0,79);
  pt2258.setChannelVolume(OUTPUT1VOL,1);
  EEPROM.write(66,OUTPUT1VOL);
  EEPROM.write(72,OUTPUT1VOL);
  EEPROM.commit();
}

void OUTPUT2VOLUME ()
{
  OUTPUT2VOL = map(RemoteXY.OUT2_VOLUME,0,100,0,79);
  pt2258.setChannelVolume(OUTPUT2VOL,2);
  EEPROM.write(67,OUTPUT2VOL);
  EEPROM.write(73,OUTPUT2VOL);
  EEPROM.commit();
}

void OUTPUT3VOLUME ()
{
  OUTPUT3VOL = map(RemoteXY.OUT3_VOLUME,0,100,0,79);
  pt2258.setChannelVolume(OUTPUT3VOL,3);
  EEPROM.write(68,OUTPUT3VOL);
  EEPROM.write(74,OUTPUT3VOL);
  EEPROM.commit();
}

void OUTPUT4VOLUME ()
{
  OUTPUT4VOL = map(RemoteXY.OUT4_VOLUME,0,100,0,79);
  pt2258.setChannelVolume(OUTPUT4VOL,4);
  EEPROM.write(69,OUTPUT4VOL);
  EEPROM.write(75,OUTPUT4VOL);
  EEPROM.commit();
}

void OUTPUT5VOLUME ()
{
  OUTPUT5VOL = map(RemoteXY.OUT5_VOLUME,0,100,0,79);
  pt2258.setChannelVolume(OUTPUT5VOL,5);
  EEPROM.write(70,OUTPUT5VOL);
  EEPROM.write(76,OUTPUT5VOL);
  EEPROM.commit();
}

void OUTPUT6VOLUME ()
{
  OUTPUT6VOL = map(RemoteXY.OUT6_VOLUME,0,100,0,79);
  pt2258.setChannelVolume(OUTPUT6VOL,6);
  EEPROM.write(71,OUTPUT6VOL);
  EEPROM.write(77,OUTPUT6VOL);
  EEPROM.commit();
}

void OUTPUT1MUTE ()
{
 if (RemoteXY.OUT1_MUTE==1)
 {
   pt2258.setChannelVolume(0,1);
 }
  if (RemoteXY.OUT1_MUTE==0)
 {
  pt2258.setChannelVolume(OUTPUT6VOL,1);
 }
}

void OUTPUT2MUTE ()
{
 if (RemoteXY.OUT2_MUTE==1)
 {
  EEPROM.write(73,RemoteXY.OUT2_VOLUME);
  EEPROM.commit();
   pt2258.setChannelVolume(0,2);
 }
  if (RemoteXY.OUT2_MUTE==0)
 {
  RemoteXY.OUT2_VOLUME = EEPROM.read(73);
   pt2258.setChannelVolume(RemoteXY.OUT2_VOLUME,2);
 }
}

void OUTPUT3MUTE ()
{
 if (RemoteXY.OUT3_MUTE==1)
 {
  EEPROM.write(74,RemoteXY.OUT3_VOLUME);
  EEPROM.commit();
   pt2258.setChannelVolume(0,3);
 }
  if (RemoteXY.OUT3_MUTE==0)
 {
  RemoteXY.OUT3_VOLUME = EEPROM.read(74);
   pt2258.setChannelVolume(RemoteXY.OUT3_VOLUME,3);
 }
}

void OUTPUT4MUTE ()
{
 if (RemoteXY.OUT4_MUTE==1)
 {
  EEPROM.write(75,RemoteXY.OUT4_VOLUME);
  EEPROM.commit();
   pt2258.setChannelVolume(0,4);
 }
  if (RemoteXY.OUT4_MUTE==0)
 {
  RemoteXY.OUT4_VOLUME = EEPROM.read(75);
   pt2258.setChannelVolume(RemoteXY.OUT4_VOLUME,4);
 }
}

void OUTPUT5MUTE ()
{
 if (RemoteXY.OUT5_MUTE==1)
 {
  EEPROM.write(76,RemoteXY.OUT5_VOLUME);
  EEPROM.commit();
   pt2258.setChannelVolume(0,5);
 }
  if (RemoteXY.OUT5_MUTE==0)
 {
  RemoteXY.OUT5_VOLUME = EEPROM.read(76);
   pt2258.setChannelVolume(RemoteXY.OUT5_VOLUME,5);
 }
}

void OUTPUT6MUTE ()
{
 if (RemoteXY.OUT6_MUTE==1)
 {
  EEPROM.write(77,RemoteXY.OUT6_VOLUME);
  EEPROM.commit();
   pt2258.setChannelVolume(0,6);
 }
  if (RemoteXY.OUT6_MUTE==0)
 {
  RemoteXY.OUT6_VOLUME = EEPROM.read(77);
   pt2258.setChannelVolume(RemoteXY.OUT6_VOLUME,6);
 }
}

2

Re: Static Ip Address

Use WiFi.config () before RemoteXY init. See the ESP8266WiFi.h library description for details.

// Set your Static IP address
IPAddress local_IP(192, 168, 1, 184);
// Set your Gateway IP address
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 0, 0);
IPAddress primaryDNS(8, 8, 8, 8); // optional
IPAddress secondaryDNS(8, 8, 4, 4); // optional
if (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) {
  Serial.println("STA Failed to configure");
}

remotexy = new CRemoteXY (RemoteXY_CONF_PROGMEM, ...............

3

Re: Static Ip Address

i tried this but when i do this i have a problem connecting with the phone

4

Re: Static Ip Address

You cannot set absolutely any IP address. You must only enter an IP address from the subnet of the access point so that all packet delivery routes work correctly. Or you will need to manually add packet routing to the access point if possible