hello,
i am making a Box/remote to control some leds
i get :
exit status 1
Error compiling for board LOLIN(WEMOS) D1 mini Lite.
i used as base this code from here:
my espnow.h is black ![]()
both my codes fail to upload
the REMOTE
#include <Keypad.h>
#include <Adafruit_NeoPixel.h>
#include <ESP8266WiFi.h>
#include <espnow.h>
#define PIN D4
#define NUMPIXELS 1
Adafruit_NeoPixel strip(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
const byte ROWS = 2; // Four rows
const byte COLS = 4; // Three columns
// Define the Keymap
char keys[ROWS][COLS] = {
{'A', 'B', 'C', 'D'},
{'E', 'F', 'G', 'H'}
};
byte rowPins[ROWS] = { D8, D7}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {D6, D5, D3, D2}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
// REPLACE WITH RECEIVER MAC Address
uint8_t broadcastAddress[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
// Structure example to send data
// Must match the receiver structure
typedef struct struct_message {
int x;
} struct_message;
// Create a struct_message called myData
struct_message myData;
// Callback when data is sent
void OnDataSent(uint8_t *mac_addr, uint8_t sendStatus) {
Serial.print("Last Packet Send Status: ");
if (sendStatus == 0) {
Serial.println("Delivery success");
}
else {
Serial.println("Delivery fail");
}
}
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
strip.begin();
keypad.addEventListener(keypadEvent);
// Init ESP-NOW
if (esp_now_init() != 0) {
Serial.println("Error initializing ESP-NOW");
return;
}
// Once ESPNow is successfully Init, we will register for Send CB to
// get the status of Trasnmitted packet
esp_now_set_self_role(ESP_NOW_ROLE_CONTROLLER);
esp_now_register_send_cb(OnDataSent);
// Register peer
esp_now_add_peer(broadcastAddress, ESP_NOW_ROLE_SLAVE, 1, NULL, 0);
}
void loop() {
char key = keypad.getKey();
}
void keypadEvent(KeypadEvent key) {
switch (keypad.getState()) {
case PRESSED:
if (key == 'A') {
Serial.println ("FADE ON ");
myData.x = 1;
esp_now_send(0, (uint8_t *) &myData, sizeof(myData));
}
if (key == 'B') {
Serial.println ("OFF ");
myData.x = 1;
esp_now_send(0, (uint8_t *) &myData, sizeof(myData));
}
if (key == 'C') {
Serial.println ("FLICKER");
myData.x = 2;
esp_now_send(0, (uint8_t *) &myData, sizeof(myData));
}
if (key == 'D') {
Serial.println ("RED");
myData.x = 3;
esp_now_send(0, (uint8_t *) &myData, sizeof(myData));
}
if (key == 'E') {
Serial.println ("GREEN");
myData.x = 4;
esp_now_send(0, (uint8_t *) &myData, sizeof(myData));
}
if (key == 'F') {
Serial.println ("COLORS");
myData.x = 5;
esp_now_send(0, (uint8_t *) &myData, sizeof(myData));
}
if (key == 'G') {
Serial.println ("ON");
myData.x = 6;
esp_now_send(0, (uint8_t *) &myData, sizeof(myData));
}
if (key == 'H') {
Serial.println (" ");
myData.x = 7;
esp_now_send(0, (uint8_t *) &myData, sizeof(myData));
}
}
}
LOG:
In file included from C:\Users\Laptop\AppData\Local\Temp\arduino_build_431083\sketch\WEMOS_BOX_DADES.ino.cpp:1:
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\cores\esp8266/Arduino.h:44:14: error: expected identifier before numeric constant
44 | #define HIGH 0x1
| ^~~
C:\Users\Laptop\Documents\Arduino\libraries\Keypad-master\src/Keypad.h:56:16: note: in expansion of macro 'HIGH'
56 | #define CLOSED HIGH
| ^~~~
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\cores\esp8266/wl_definitions.h:74:3: note: in expansion of macro 'CLOSED'
74 | CLOSED = 0,
| ^~~~~~
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\cores\esp8266/Arduino.h:44:14: error: expected '}' before numeric constant
44 | #define HIGH 0x1
| ^~~
C:\Users\Laptop\Documents\Arduino\libraries\Keypad-master\src/Keypad.h:56:16: note: in expansion of macro 'HIGH'
56 | #define CLOSED HIGH
| ^~~~
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\cores\esp8266/wl_definitions.h:74:3: note: in expansion of macro 'CLOSED'
74 | CLOSED = 0,
| ^~~~~~
In file included from C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\libraries\ESP8266WiFi\src/ESP8266WiFi.h:28,
from C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino:4:
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\cores\esp8266/wl_definitions.h:73:19: note: to match this '{'
73 | enum wl_tcp_state {
| ^
In file included from C:\Users\Laptop\AppData\Local\Temp\arduino_build_431083\sketch\WEMOS_BOX_DADES.ino.cpp:1:
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\cores\esp8266/Arduino.h:44:14: error: expected unqualified-id before numeric constant
44 | #define HIGH 0x1
| ^~~
C:\Users\Laptop\Documents\Arduino\libraries\Keypad-master\src/Keypad.h:56:16: note: in expansion of macro 'HIGH'
56 | #define CLOSED HIGH
| ^~~~
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\cores\esp8266/wl_definitions.h:74:3: note: in expansion of macro 'CLOSED'
74 | CLOSED = 0,
| ^~~~~~
In file included from C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino:4:
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\libraries\ESP8266WiFi\src/ESP8266WiFi.h:29:1: error: expected declaration before '}' token
29 | }
| ^
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino: In function 'void OnDataSent(uint8_t*, uint8_t)':
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino:33:26: warning: unused parameter 'mac_addr' [-Wunused-parameter]
33 | void OnDataSent(uint8_t *mac_addr, uint8_t sendStatus) {
| ~~~~~~~~~^~~~~~~~
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino: In function 'void loop()':
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino:63:8: warning: unused variable 'key' [-Wunused-variable]
63 | char key = keypad.getKey();
| ^~~
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino: In function 'void keypadEvent(KeypadEvent)':
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino:71:10: warning: enumeration value 'IDLE' not handled in switch [-Wswitch]
71 | switch (keypad.getState()) {
| ^
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino:71:10: warning: enumeration value 'HOLD' not handled in switch [-Wswitch]
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino:71:10: warning: enumeration value 'RELEASED' not handled in switch [-Wswitch]
Using library Keypad-master at version 3.1.1 in folder: C:\Users\Laptop\Documents\Arduino\libraries\Keypad-master
Using library Adafruit_NeoPixel at version 1.10.6 in folder: C:\Users\Laptop\Documents\Arduino\libraries\Adafruit_NeoPixel
Using library ESP8266WiFi at version 1.0 in folder: C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\libraries\ESP8266WiFi
exit status 1
Error compiling for board LOLIN(WEMOS) D1 mini Lite.
and the LIGHT code
#include <Adafruit_NeoPixel.h>
#include <ESP8266WiFi.h>
#include <espnow.h>
#define LED_PIN D4
#define LED_COUNT 1
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
int Mode = 0;
typedef struct struct_message {
int x;
} struct_message;
struct_message myData;
void OnDataRecv(uint8_t * mac, uint8_t *incomingData, uint8_t len) {
memcpy(&myData, incomingData, sizeof(myData));
Serial.print("Recived: ");
Serial.print(myData.x);
Serial.print(": ");
Mode = myData.x;
switch (Mode) {
uint16_t i, j;
case 1:
Serial.println ("FADE ON ");
//uint16_t i, j;
for (j = 0; j < 255; j++) {
for (i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, j, j, j);
}
strip.show();
delay(5);
}
break;
case 2:
Serial.println ("OFF ");
//uint16_t i, j;
for (j = 255; j > 0; j--) {
for (i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, j, j, j);
}
strip.show();
delay(5);
}
strip.setPixelColor(0, 0, 0, 0);
strip.show();
break;
case 3:
Serial.println ("FLICKER");
strip.setPixelColor(0, 0, 0, 0);
strip.show();
delay(random(200, 1000));
strip.setPixelColor(0, 255, 255, 255);
strip.show();
delay(random(5, 50));
strip.setPixelColor(0, 0, 0, 0);
strip.show();
delay(random(100, 1000));
strip.setPixelColor(0, 255, 255, 255);
strip.show();
delay(random(30, 150));
strip.setPixelColor(0, 0, 0, 0);
strip.show();
delay(random(100, 1000));
strip.setPixelColor(0, 255, 255, 255);
strip.show();
delay(random(5, 50));
strip.setPixelColor(0, 0, 0, 0);
strip.show();
delay(random(200, 1000));
strip.setPixelColor(0, 255, 255, 255);
strip.show();
delay(random(5, 50));
strip.setPixelColor(0, 0, 0, 0);
strip.show();
delay(random(100, 1000));
strip.setPixelColor(0, 255, 255, 255);
strip.show();
break;
case 4:
Serial.println ("RED");
//uint16_t i, j;
for (j = 255; j > 0; j--) {
for (i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, 255, j, j);
}
strip.show();
delay(1);
Serial.println(j);
}
delay(2000);
for (j = 0; j < 255; j++) {
for (i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, 255, j, j);
}
strip.show();
delay(3);
}
break;
case 5:
Serial.println ("GREEN");
//uint16_t i, j;
for (j = 255; j > 0; j--) {
for (i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, j, 255, j);
}
strip.show();
delay(1);
}
delay(2000);
for (j = 0; j < 255; j++) {
for (i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, j, 255, j);
}
strip.show();
delay(3);
}
break;
case 6:
Serial.println ("COLORS");
strip.setPixelColor(0, 255, 0, 0);
strip.show();
delay(60000);
break;
case 7:
Serial.println ("ON");
strip.setPixelColor(0, 255, 255, 255);
strip.show();
break;
case 8:
Serial.println ("LOL");
break;
}
}
void setup() {
// Initialize Serial Monitor
Serial.begin(115200);
Serial.println("ESP-NOW");
strip.setPixelColor(0, 0, 255, 0);
strip.show();
delay(1000);
strip.setPixelColor(0, 255, 255, 255);
strip.show();
// Set device as a Wi-Fi Station
WiFi.mode(WIFI_STA);
// Init ESP-NOW
if (esp_now_init() != 0) {
Serial.println("Error initializing ESP-NOW");
return;
}
// Once ESPNow is successfully Init, we will register for recv CB to
// get recv packer info
esp_now_set_self_role(ESP_NOW_ROLE_SLAVE);
esp_now_register_recv_cb(OnDataRecv);
strip.setPixelColor(0, 0, 255, 0);
strip.show();
delay(1000);
strip.setPixelColor(0, 255, 255, 255);
strip.show();
}
void loop() {
}
LOG
In file included from C:\Users\Laptop\AppData\Local\Temp\arduino_build_431083\sketch\WEMOS_BOX_DADES.ino.cpp:1:
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\cores\esp8266/Arduino.h:44:14: error: expected identifier before numeric constant
44 | #define HIGH 0x1
| ^~~
C:\Users\Laptop\Documents\Arduino\libraries\Keypad-master\src/Keypad.h:56:16: note: in expansion of macro 'HIGH'
56 | #define CLOSED HIGH
| ^~~~
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\cores\esp8266/wl_definitions.h:74:3: note: in expansion of macro 'CLOSED'
74 | CLOSED = 0,
| ^~~~~~
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\cores\esp8266/Arduino.h:44:14: error: expected '}' before numeric constant
44 | #define HIGH 0x1
| ^~~
C:\Users\Laptop\Documents\Arduino\libraries\Keypad-master\src/Keypad.h:56:16: note: in expansion of macro 'HIGH'
56 | #define CLOSED HIGH
| ^~~~
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\cores\esp8266/wl_definitions.h:74:3: note: in expansion of macro 'CLOSED'
74 | CLOSED = 0,
| ^~~~~~
In file included from C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\libraries\ESP8266WiFi\src/ESP8266WiFi.h:28,
from C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino:4:
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\cores\esp8266/wl_definitions.h:73:19: note: to match this '{'
73 | enum wl_tcp_state {
| ^
In file included from C:\Users\Laptop\AppData\Local\Temp\arduino_build_431083\sketch\WEMOS_BOX_DADES.ino.cpp:1:
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\cores\esp8266/Arduino.h:44:14: error: expected unqualified-id before numeric constant
44 | #define HIGH 0x1
| ^~~
C:\Users\Laptop\Documents\Arduino\libraries\Keypad-master\src/Keypad.h:56:16: note: in expansion of macro 'HIGH'
56 | #define CLOSED HIGH
| ^~~~
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\cores\esp8266/wl_definitions.h:74:3: note: in expansion of macro 'CLOSED'
74 | CLOSED = 0,
| ^~~~~~
In file included from C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino:4:
C:\Users\Laptop\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\libraries\ESP8266WiFi\src/ESP8266WiFi.h:29:1: error: expected declaration before '}' token
29 | }
| ^
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino: In function 'void OnDataSent(uint8_t*, uint8_t)':
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino:33:26: warning: unused parameter 'mac_addr' [-Wunused-parameter]
33 | void OnDataSent(uint8_t *mac_addr, uint8_t sendStatus) {
| ~~~~~~~~~^~~~~~~~
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino: In function 'void loop()':
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino:63:8: warning: unused variable 'key' [-Wunused-variable]
63 | char key = keypad.getKey();
| ^~~
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino: In function 'void keypadEvent(KeypadEvent)':
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino:71:10: warning: enumeration value 'IDLE' not handled in switch [-Wswitch]
71 | switch (keypad.getState()) {
| ^
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino:71:10: warning: enumeration value 'HOLD' not handled in switch [-Wswitch]
C:\Users\Laptop\Documents\Arduino\WEMOS_BOX_DADES\WEMOS_BOX_DADES.ino:71:10: warning: enumeration value 'RELEASED' not handled in switch [-Wswitch]