Good evening,
I am reaching out to this forum as I have code that works perfectly fine when using the Arduino app but once I upload it to the Arduino IOT editor I receive such an error - /mnt/create-efs/webide/35/eb/35eb276a2a05b3caef1783c1c6af0970:jduck3/libraries_v2/Adafruit NeoPixel/esp8266.c:20:11: error: expected '=', ',', ';', 'asm' or 'attribute' before 'void'
IRAM_ATTR void espShow(
^
Error during build: exit status 1
BTW here is such code:
#include <Adafruit_NeoPixel.h>
#define PIXELS_PER_SEGMENT 1 // Number of LEDs in each Segment
#define PIXELS_DIGITS 1 // Number of connected Digits
#define PIXELS_PIN 14 // GPIO Pin
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXELS_PER_SEGMENT * 7 * PIXELS_DIGITS, PIXELS_PIN, NEO_GRB + NEO_KHZ800);
//Digits array
byte digits[10] = {
//abcdefg
0b0000000, // 0
0b0000001, // 1
0b0000010, // 2
0b0000011, // 3
0b0000100, // 4
0b0000101, // 5
0b0000110, // 6
0b0000111, // 7
0b0001000, // 8
0b0001001 // 9
};
//Clear all the Pixels
void clearDisplay() {
for (int i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, strip.Color(0, 0, 0));
}
strip.show();
}
void setup() {
strip.begin();
Serial.begin(115200);
}
void loop() {
disp_Digits(1500); // Show digits from 0-9(DelayTime)
//disp_Digit();
}
void disp_Digits(int wait) {
clearDisplay();
for (int i = 0; i < 10; i++) {
for (int n = 0; n < PIXELS_DIGITS; n++) {
writeDigit(n, i);
Serial.println(n);
}
strip.show();
delay(wait);
}
}
/*
void disp_Digit() {
clearDisplay();
writeDigit(n, i);
}
*/
void writeDigit(int index, int val) {
byte digit = digits[val];
for (int i = 6; i >= 0; i--) {
int offset = index * (PIXELS_PER_SEGMENT * 7) + i * PIXELS_PER_SEGMENT;
uint32_t color;
if (digit & 0x01 != 0) {
if (val == 1) color = strip.Color(50, 0, 0);
if (val == 2) color = strip.Color(50, 0, 0);
if (val == 3) color = strip.Color(50, 0, 0);
if (val == 4) color = strip.Color(50, 0, 0);
if (val == 5) color = strip.Color(50, 0, 0);
if (val == 6) color = strip.Color(50, 0, 0);
if (val == 7) color = strip.Color(50, 0, 0);
if (val == 8) color = strip.Color(50, 0, 0);
if (val == 9) color = strip.Color(50, 0, 0);
if (val == 0) color = strip.Color(50, 0, 0);
}
else
color = strip.Color(0, 0, 0);
for (int j = offset; j < offset + PIXELS_PER_SEGMENT; j++) {
strip.setPixelColor(j, color);
}
digit = digit >> 1;
}
}
If anyone had any suggestions I would appreciate it!
Best,
Jared