arjfca
1
I'm stating to use the latest version and I'm confused. I just don't understand how to debug or understand the problem using the compiler output. What should I look for?
Martin
here is my code:
//#include <neotimer.h>
//Neotimer timer = Neotimer(1000);
const unsigned long shortPress = 300;
const unsigned long longPress = 1000;
#define ANALOG_PIN A0
int SW = 0; //Switch value
int SW_Prev = 0; //Previous switch
const int SW1 = 1024; //Analog read values
const int SW2 = 280;
const int SW3 = 74;
const int SW4 = 22;
int T1 = 1;
int T2 = 2;
int T3 = 3;
int T4 = 4;
bool FirstClick = true;
bool WaitForUnclick = false;
int Debounce_Count = 0;
const int Debounce_Iteration = 5; //Same value read target
void loop(){
ReadKeyPress();
}
void ReadKeyPress(){
DecodeKey();
IF_Selection();
}
void DecodeKey(){
int value = analogRead(ANALOG_PIN);
if (value>20){
T1 = abs(value-SW1);
T2 = abs(value-SW2);
T3 = abs(value-SW3);
T4 = abs(value-SW4);
if (T1 < T2){ SW = 1;}
else if (T2 < T3){ SW = 2;}
else if (T3 <T4){ SW = 3;}
else if (T3 <T4){ SW = 0;}
else {SW=4;}
}
}
void IF_Selection(){
//First click
if((SW > 0) && (FirstClick == true)){
FirstClick = false; //Reset because the initial click is done
SW_Prev = SW; // Keep the decoded switxh number
//timer.start(); //Start the timer
Debounce_Count++; // Count will be incremented each time the read value will be the same
}
if ((FirstClick == false) && (SW == SW_Prev)){
Debounce_Count++;
if (Debounce_Count > Debounce_Iteration){
WaitForUnclick = true;
Debounce_Count = 0;
}
}
if((FirstClick == false) && (SW != SW_Prev)){ // Reset the counter because the key has rebounce
Debounce_Count = 0;
}
}
**The compiler error info**
c:/users/utilisateur/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\Utilisateur\AppData\Local\Temp\arduino\cores\07a5b931729c6a4044345c40bf56605f\core.a(core_esp8266_main.cpp.o): in function `__loop_end':
C:\Users\Utilisateur\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266/core_esp8266_main.cpp:245: undefined reference to `setup'
c:/users/utilisateur/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\Utilisateur\AppData\Local\Temp\arduino\cores\07a5b931729c6a4044345c40bf56605f\core.a(core_esp8266_main.cpp.o):(.text._ZL12loop_wrapperv+0x25): undefined reference to `setup'
collect2.exe: error: ld returned 1 exit status
exit status 1
Compilation error: exit status 1
Hutkikz 2
Arduino requires a setup() function even if not used.
simply add:
void setup() {
}
usually placed just above the loop() funtion.
arjfca 4
Hutkikx
An HA! HA! moment
It seem to have resolved the problem. I learn something new.
Martin
PaulRB 5
"exit status 1" means there is an error in your code and it could not be uploaded to the arduino.
In the error window, above the "exit status 1", are all the error messages that tell you what is wrong with the code. This is what you should be reading, because next time you get this error, it probably won't be because setup() is missing.
arjfca 6
Hello Paul
OK, I will take note. The problem was with the verify process. I did not try to upload yet because it is far to be complete.
Martin
b707 7
Hi, Martin
Next time try to read a diagnostic message, it can be quite useful:
pert Split this topic 8
system Closed 9
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.