The library that is linked here says it’s only made for the AVR architecutre (ATMega / Arduino Uno, e.g.), not an ESP32 or ESP8266, if that’s the board you’re using.
What’s the full platformio.ini and code that reproduces the error?
This seems weird. The repo you’re linking to, GitHub - pfeerick/ISS-Notifier: Neopixel notifier for when the ISS goes overhead, is a project with a platformio.ini, not a library. You shouldn’t use it as a library. If you do, the code in there (main.cpp) will overshadow any code you place in src/main.cpp and just not get executed.
If I just clone the repo and build that project, it gives
standalone is indeed ‘wrong’ because it does not use a
#include <Timezone.h>
before declaring thse time zone objects, so VSCode IntelliSense will complain, but actual compilation will go through, since the file is being included in such an order that it pulls in the needed header beforehand. An IntelliSense nitpick, but not a real compile error.
I really have no idea what you’re talking about. That pfeerick guy wrote this.
I only put my stuff in secrets.h, and it ran awesomely. It was running on the WeMos until I blasted it with 12V. So I’m trying to upload the same thing to the same thing, sitting in the same chair.
I have to add those #includes?
My line 32 starts the OLED.
Compiling .pio\build\esp12e\lib239\ESP8266WiFi\CertStoreBearSSL.cpp.o
Compiling .pio\build\esp12e\lib239\ESP8266WiFi\ESP8266WiFi.cpp.o
In file included from src\main.cpp:30:0:
.pio\libdeps\esp12e\ISS-Notifier\include/secrets.h:20:1: error: 'TimeChangeRule' does not name a type
TimeChangeRule aEST = {"AEST", First, Sun, Apr, 3, 600}; // UTC + 10 hours ^
.pio\libdeps\esp12e\ISS-Notifier\include/secrets.h:21:1: error: 'Timezone' does not name a type
Timezone myTz(aEST);
^
*** [.pio\build\esp12e\src\main.cpp.o] Error 1
========================= [FAILED]
The project you’ve linked to looks very much to me as if it’s its own PlatformIO root project, not a library supposed to be usable via lib_deps. But you’re using it like one, which I’m sure is wrong.
Oh. I see in the .ini. I deleted that, but I still have this:
.pio\libdeps\esp12e\ISS-Notifier\include/secrets.h:20:1: error: 'TimeChangeRule' does not name a type
TimeChangeRule aEST = {"AEST", First, Sun, Apr, 3, 600}; // UTC + 10 hours ^
.pio\libdeps\esp12e\ISS-Notifier\include/secrets.h:21:1: error: 'Timezone' does not name a type
Timezone myTz(aEST);
That’s in secrets.h:
/*** Your WiFi Credentials ***/
const char *ssid = "your ssid";
const char *password = "your password";
/*** Your coordinates ***/
const float latitude = 00.00;
const float longitude = 00.00;
const float altitude = 100.00;
/*** Your timezone ***/
// How to set: https://github.com/JChristensen/Timezone#coding-timechangerules
TimeChangeRule aEST = {"AEST", First, Sun, Apr, 3, 600}; // UTC + 10 hours
Timezone myTz(aEST);
Why delete the .ini? As said, the way to work with this project should be to download it (https://github.com/pfeerick/ISS-Notifier/archive/refs/heads/master.zip), unpack it, and use open that project in the PIO home screen, then switch to the project, and build and upload as normal. It works as I’ve shown above with my clone & compile. Using a PlatformIO as a library will yield really weird results if you do that.