olikraus:
Genau, wobei eigentlich der direkte Zugriff auf dieses Verzeichnis nicht notwendig sein sollte, da U8g2 aus der IDE heraus installiert werden kann (Library Manager). Hier nochmal (?) der link mit den Screenshots:
u8g2install · olikraus/u8g2 Wiki · GitHub
Diese Seite hatte ich gefunden, meine alte, sonst aber gut funktionierende IDE 1.6.5 zeigt ein leeres Fenster:

Erst nach der ZIP-Installation wird die Bibliothek angezeigt:

Die ZIP-Installation macht mir nichts, nur mußte ich halt die richtige Bibliothek im Netz finden.
olikraus:
Das Installieren aus der IDE heraus müsste (soweit ich mich erinnere) auch den Teensy gelten.
Für meine Uhr benutze ich einen Nano, probiert habe ich mit einem UNO. Mein Teensy animiert APA102-LEDs.
olikraus:
Natürlich. Tatsächlich ist es auch egal, ob man SPI.h includiert oder nicht. Die Arduino IDE sorgt dafür, dass der SPI code NICHT auf deinem uC landet, da er ja gar nicht verwendet wird. Anders gesagt, die Arduino IDE optimiert den SPI code wieder aus deinem Programm heraus obwohl der mittels include eingebunden wurde.
Mein Testsketch:
#include <Arduino.h>
#include <Wire.h>
#include <U8x8lib.h>
/* Constructor */
U8X8_SSD1306_128X64_NONAME_HW_I2C oled(/* reset=*/ U8X8_PIN_NONE);
void setup(void)
{
oled.begin();
oled.setFont(u8x8_font_artossans8_r);
oled.drawString(0, 0, "Hallo Welt!");
}
void loop(void) {}
Fehlermeldung:
F:\Arduino\libraries\U8g2\src\U8x8lib.cpp:42:17: fatal error: SPI.h: No such file or directory
#include <SPI.h>
^
compilation terminated.
Fehler beim Kompilieren.
Da bin ich dann schonmal verwundert, da ich SPI nicht verwenden möchte. Also die fehlende Zeile ergänzt. Meldung:
F:\Arduino\libraries\U8g2\src\clib\u8g2_polygon.c: In function 'pg_hline':
F:\Arduino\libraries\U8g2\src\clib\u8g2_polygon.c:219:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if ( y >= u8g2_GetDisplayHeight(u8g2) ) // does not work for 256x64 display???
^
F:\Arduino\libraries\U8g2\src\clib\u8g2_polygon.c:225:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if ( x1 >= u8g2_GetDisplayWidth(u8g2) )
^
F:\Arduino\libraries\U8g2\src\clib\u8g2_polygon.c:229:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if ( x2 >= u8g2_GetDisplayWidth(u8g2) )
^
F:\Arduino\libraries\U8g2\src\clib\u8g2_polygon.c:237:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if ( x2 >= u8g2_GetDisplayWidth(u8g2) )
^
F:\Arduino\libraries\U8g2\src\clib\u8g2_polygon.c:241:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if ( x1 >= u8g2_GetDisplayWidth(u8g2) )
^
F:\Arduino\libraries\U8g2\src\clib\u8x8_d_sbn1661.c:73:13: warning: 'u8x8_sbn1661_out' defined but not used [-Wunused-function]
static void u8x8_sbn1661_out(u8x8_t *u8x8, struct u8x8_sbn1661_vars *v, void *arg_ptr)
^
Der Sketch verwendet 5.908 Bytes (18%) des Programmspeicherplatzes. Das Maximum sind 32.256 Bytes.
Globale Variablen verwenden 394 Bytes (19%) des dynamischen Speichers, 1.654 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes.
Also ist das auch nicht richtig.
Was nun?
olikraus:
Genau, das sollte auch nicht notwendig sein, wenn du ein offizielles Board und die offizielle Arduino IDE verwendest.
Ich nutze die offizielle IDE und wähle "UNO". Die Hardware aus Fernost sollte m. E. keine Rolle spielen.
olikraus:
Insofern war ich (und bin immer noch) etwas verwirrt von diesem Thread. Eigentlich sollten U8g2 recht einfach nutzbar sein.
Konnte ich Dich "entwirren"?
Du hast eine tolle Bibliothek geschrieben, daher gebe ich mir auch alle Mühe, meinen dusseligen Ansatz zu erklären, damit möglichst viele Arduino-Nutzer Deine Bibliothek nutzen können 