Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

esp8266/NodeMCU: 'E2END' was not declared in this scope #73

Open
drzraf opened this issue Jun 8, 2024 · 1 comment
Open

esp8266/NodeMCU: 'E2END' was not declared in this scope #73

drzraf opened this issue Jun 8, 2024 · 1 comment

Comments

@drzraf
Copy link

drzraf commented Jun 8, 2024

I'm trying to compile and upload the firmware from Arduino IDE to an IdeaSpark esp8266 (NodeMCU 1.0 (ESP-12E Module)) device (not sure if it's supported in the first place).

First problem encountered:

In file included from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.h:4,
                 from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingReader.h:4,
                 from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingReader.cpp:1:
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingReader.cpp: In member function 'int16 EEPROMWearLevelingReader::findPosition()':
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingReader.cpp:51:17: note: in expansion of macro 'EEPROM_SIZE'
   51 |  while (count < EEPROM_SIZE && reader.peek() == EEPROM_END_MARK)
      |                 ^~~~~~~~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingReader.cpp:60:18: note: in expansion of macro 'EEPROM_SIZE'
   60 |  while (count <= EEPROM_SIZE)
      |                  ^~~~~~~~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingReader.cpp:85:18: note: in expansion of macro 'EEPROM_SIZE'
   85 |  while (count <= EEPROM_SIZE)
      |                  ^~~~~~~~~~~
In file included from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.h:4,
                 from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.cpp:2:
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.cpp: In member function 'void EEPROMReader::incrementPosition()':
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.cpp:16:43: note: in expansion of macro 'EEPROM_SIZE'
   16 |  position = positive_modulo(position + 1, EEPROM_SIZE);
      |                                           ^~~~~~~~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.cpp: In member function 'void EEPROMReader::decrementPosition()':
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.cpp:21:43: note: in expansion of macro 'EEPROM_SIZE'
   21 |  position = positive_modulo(position - 1, EEPROM_SIZE);
      |                                           ^~~~~~~~~~~
In file included from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.h:4,
                 from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingWriter.h:3,
                 from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingWriter.cpp:1:
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingWriter.cpp: In member function 'int16 EEPROMWearLevelingWriter::findPosition()':
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingWriter.cpp:65:17: note: in expansion of macro 'EEPROM_SIZE'
   65 |  while (count < EEPROM_SIZE && reader.peek() == EEPROM_END_MARK)
      |                 ^~~~~~~~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingWriter.cpp:74:18: note: in expansion of macro 'EEPROM_SIZE'
   74 |  while (count <= EEPROM_SIZE)
      |                  ^~~~~~~~~~~
In file included from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWriter.h:3,
                 from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWriter.cpp:2:
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWriter.cpp: In member function 'void EEPROMWriter::incrementPosition()':
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWriter.cpp:16:43: note: in expansion of macro 'EEPROM_SIZE'
   16 |  position = positive_modulo(position + 1, EEPROM_SIZE);
      |                                           ^~~~~~~~~~~

exit status 1

Compilation error: 'E2END' was not declared in this scope

Is the reliance upon E2END correct and an expectation for every board or is to avr-centric? Is this attempt a dead-end or something that could realistically be overcome?

@RichoM
Copy link
Member

RichoM commented Jun 8, 2024

I haven't tried compiling for ESP8266 yet, only Arduino. I don't expect it to be very hard, but some libraries might need replacements.

Regarding E2END, I don't think we should rely too heavy on it. Maybe we should have some configuration file to define constants such as these for boards that don't have them.

I don't have a lot of time right now, but I think I have an ESP8266 lying around somewhere. It would be nice to support it. If I can take some time off work I'll try compiling for it in the following days. Let me know if you advance any further, though...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants