Sketch will not compile - NodeMCU-32s

This relatively simple sketch will not compile.
The error message is - error compiling for board NodeMCU-32s
Before I start looking into potential hardware issues, would SKS please cast an eye over my program ( I am very much a novice) to see if it has any significant errors which might prevent it from compiling.

//
 //Project to make 8 buttons inputs on GPIO Pins 16,17,18,19,21,22,23,25
 //Each button takes Pin from HIGH to LOW
 //Trigger 8 relays attached to GPIO Pins 2,4,5,13,26,27,32,33.
 // Relays are triggered by LOW signal on Pins 2,4,5,13,26,27,32,33
//



uint8_t gpios[] = {16,17,18,19,21,22,23,25};  // 8 NO button inputs 
  // Number of GPIOs in Button Array 
int gpioCount;
uint8_t relays[] = {2,4,5,13,26,27,32,33};  // 8 relay Outputs
int relayCount; //Number of Relays in Relay array


void setup() 
{
  Serial.begin(115200);

   
 gpioCount = sizeof(gpios)/sizeof(uint8_t);
 //for each pin in the gpio array
    for(int i=0; i<gpioCount; i++){
    //Set the GPIO mode as input pulled high
    pinMode(gpios[i], INPUT_PULLUP);
    }
   //for each pin in the relay array
    
    for(int n=0; n<relayCount; n++){
    
                        //Set the GPIO mode to output
    pinMode(relays[n], OUTPUT);  
    }
}
void loop(){
    uint8_t values[gpioCount];

                  //For each gpio
  for(int i=0; i<gpioCount; i++){
                  //Reads the value (HIGH or LOW) of the gpio
                          //and stores the value on the array

 values[i] = digitalRead(gpios[i]);
  
  
                 //For each relay pin
  for(int n=0; n<relayCount; n++){
              //Sets the relay pin outputs to match the gpio of each button pressed
    digitalWrite(relays[n], values[i]);
  
  

   Serial.print ("relays and values");
  Serial.println(relays[n], values[i]);
                 
                    //print gpios array values for reference
  Serial.print("gpioCount: ");
  Serial.println(values[i]);
  }
  }
}

It would save time if you posted the error message too.

Please post the full error message using the "Copy error messages" link in the IDE

It compiles for UNO so there's no basic problem.

Full error message as requested split into too posts because of size

Arduino: 1.8.13 (Windows 7), Board: "NodeMCU-32S, 80MHz, 921600"

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino:10:15: error: redefinition of 'uint8_t gpios []'

uint8_t gpios[] = {16,17,18,19,21,22,23,25}; // 8 NO button inputs

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:10:9: note: 'uint8_t gpios [8]' previously defined here

uint8_t gpios[] = {16,17,18,19,21,22,23,25}; // 8 NO button inputs

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino:11:5: error: redefinition of 'int gpioCount'

int gpioCount; // Number of GPIOs in Array 1

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:12:5: note: 'int gpioCount' previously declared here

int gpioCount;

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino:13:16: error: redefinition of 'uint8_t relays []'

uint8_t relays[] = {2,4,5,13,26,27,32,33}; // 8 relay Outputs

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:13:9: note: 'uint8_t relays [8]' previously defined here

uint8_t relays[] = {2,4,5,13,26,27,32,33}; // 8 relay Outputs

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino:14:5: error: redefinition of 'int relayCount'

int relayCount; //Number of Relays in relay array

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:14:5: note: 'int relayCount' previously declared here

int relayCount; //Number of Relays in Relay array

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino:16:27: error: array bound is not an integer constant before ']' token

uint8_t values[gpioCount];

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino: In function 'void setup()':

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino:18:6: error: redefinition of 'void setup()'

void setup()

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:17:6: note: 'void setup()' previously defined here

void setup()

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino: In function 'void loop()':

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino:22:7: error: redefinition of 'void loop()'

void loop()

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:36:6: note: 'void loop()' previously defined here

void loop(){

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino:51:5: error: 'values' was not declared in this scope

values = digitalRead(gpios*);*
* ^*
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino:56:18: error: 'values' was not declared in this scope
_ Serial.println(values*);
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino:56:25: error: 'i' was not declared in this scope
Serial.println(values);
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino:63:29: error: 'values' was not declared in this scope
digitalWrite(relays[n], values);
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino:63:36: error: 'i' was not declared in this scope
digitalWrite(relays[n], values);
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-19-46-350.ino: At global scope:
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-19-46-350.ino:10:15: error: redefinition of 'uint8_t gpios []'
uint8_t gpios[] = {16,17,18,19,21,22,23,25}; // 8 NO button inputs
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:10:9: note: 'uint8_t gpios [8]' previously defined here
uint8_t gpios[] = {16,17,18,19,21,22,23,25}; // 8 NO button inputs
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-19-46-350.ino:11:5: error: redefinition of 'int gpioCount'
int gpioCount; // Number of GPIOs in Button Array
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:12:5: note: 'int gpioCount' previously declared here
int gpioCount;
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-19-46-350.ino:13:16: error: redefinition of 'uint8_t relays []'
uint8_t relays[] = {2,4,5,13,26,27,32,33}; // 8 relay Outputs
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:13:9: note: 'uint8_t relays [8]' previously defined here
uint8_t relays[] = {2,4,5,13,26,27,32,33}; // 8 relay Outputs
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-19-46-350.ino:14:5: error: redefinition of 'int relayCount'
int relayCount; //Number of Relays in Relay array
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:14:5: note: 'int relayCount' previously declared here
int relayCount; //Number of Relays in Relay array
^*_

Have you got multiple tabs?

Error message part 2

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-19-46-350.ino: In function 'void setup()':

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-19-46-350.ino:17:6: error: redefinition of 'void setup()'

void setup()

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:17:6: note: 'void setup()' previously defined here

void setup()

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-19-46-350.ino: In function 'void loop()':

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-19-46-350.ino:37:7: error: redefinition of 'void loop()'

void loop(){

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:36:6: note: 'void loop()' previously defined here

void loop(){

^

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-19-46-350.ino:47:5: error: 'values' was not declared in this scope

values = digitalRead(gpios*);*
* ^*
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-19-46-350.ino:50:29: error: 'values' was not declared in this scope
_ digitalWrite(relays[n], values*);
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-19-46-350.ino:50:36: error: 'i' was not declared in this scope
digitalWrite(relays[n], values);
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-21-55-810.ino: At global scope:
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-21-55-810.ino:10:15: error: redefinition of 'uint8_t gpios []'
uint8_t gpios[] = {16,17,18,19,21,22,23,25}; // 8 NO button inputs
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:10:9: note: 'uint8_t gpios [8]' previously defined here
uint8_t gpios[] = {16,17,18,19,21,22,23,25}; // 8 NO button inputs
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-21-55-810.ino:11:5: error: redefinition of 'int gpioCount'
int gpioCount; // Number of GPIOs in Button Array
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:12:5: note: 'int gpioCount' previously declared here
int gpioCount;
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-21-55-810.ino:13:16: error: redefinition of 'uint8_t relays []'
uint8_t relays[] = {2,4,5,13,26,27,32,33}; // 8 relay Outputs
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:13:9: note: 'uint8_t relays [8]' previously defined here
uint8_t relays[] = {2,4,5,13,26,27,32,33}; // 8 relay Outputs
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-21-55-810.ino:14:5: error: redefinition of 'int relayCount'
int relayCount; //Number of Relays in Relay array
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:14:5: note: 'int relayCount' previously declared here
int relayCount; //Number of Relays in Relay array
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-21-55-810.ino: In function 'void setup()':
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-21-55-810.ino:17:6: error: redefinition of 'void setup()'
void setup()
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:17:6: note: 'void setup()' previously defined here
void setup()
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-21-55-810.ino: In function 'void loop()':
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-21-55-810.ino:37:7: error: redefinition of 'void loop()'
void loop(){
^
C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino:36:6: note: 'void loop()' previously defined here
void loop(){
^_

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-21-55-810.ino:47:5: error: 'values' was not declared in this scope
values _= digitalRead(gpios);
^*

exit status 1
Error compiling for board NodeMCU-32S._

TheMemberFormerlyKnownAsAWOL:
Have you got multiple tabs?

No just the one instance with one sketch open.
ive shut down and reopened the IDE but same problem.

No just the one instance with one sketch open.
ive shut down and reopened the IDE but same problem.

Yes, but have you got multiple tabs in that one instance ?

Not sure what you have done but, you have multiple .ino files in the same directory.
They get combined when doing an IDE build.

These .ino files

8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti.ino
8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_16-46-55-834.ino
8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-19-46-350.ino
8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti-2020-09-14_17-21-55-810.ino

appear to all be in this directory:

C:\Users\Graham\Documents\Arduino\8_channel_relay_control_with_ESP3214-09-2020_GB_TEST_8_connecti

I don't use the built in editor, but maybe this is some sort of auto save issue?
I would run meld to compare the files, and pick the one with your latest updates and remove the other ones.

--- bill

Thanks bill,
that seemed to do the trick. The sketch now compiles but does produce the output that I want,
Im going back to the drawing board with the code.