INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Stress mit der U8g Libary
01.08.2014, 07:30
Beitrag #1
Stress mit der U8g Libary
So ich habe mir zu testzwecken ein Oled Display besorgt gehabt und habe einigen Stress mit der U8G Libary.

Ist es möglich ohne die im Code enthaltene "draw" Prozedur irgeneinen text auzugeben?

der Code sieht immo so aus:
Code:
#include "U8glib.h"

U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);    // Display which does not send ACK
int T1 = 0;

void draw(void) {
  T1 = millis();
  u8g.setFont(u8g_font_unifont);
  u8g.setPrintPos(0, 10);
  u8g.print(T1/1000);
}

void setup(void) {
}

void loop(void) {
  u8g.firstPage();  
  do {
    draw();
  } while( u8g.nextPage() );

  delay(50);
}

Ich habe aber Probleme damit weiter zu arbeiten.
Besteht die Möglichkeit dass man das ganze runterkürzen kann?

bei einem " Serial.println(); " gibt er mit ja auch einfach nur das ganze dann halt auf dem Seriellen Monitor ohne das ganze gedöns aus. ,
oder bei dem keypad shield kann ich das ja auch so machen:

lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("text");

Aber mit der doofen u8g lib komm ich net klar
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.08.2014, 08:21
Beitrag #2
RE: Stress mit der U8g Libary
(01.08.2014 07:30)cb_baer schrieb:  So ich habe mir zu testzwecken ein Oled Display besorgt gehabt und habe einigen Stress mit der U8G Libary.

Ist es möglich ohne die im Code enthaltene "draw" Prozedur irgeneinen text auzugeben?

der Code sieht immo so aus:
Code:
#include "U8glib.h"

U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);    // Display which does not send ACK
int T1 = 0;

void draw(void) {
  T1 = millis();
  u8g.setFont(u8g_font_unifont);
  u8g.setPrintPos(0, 10);
  u8g.print(T1/1000);
}

void setup(void) {
}

void loop(void) {
  u8g.firstPage();  
  do {
    draw();
  } while( u8g.nextPage() );

  delay(50);
}

Ich habe aber Probleme damit weiter zu arbeiten.
Besteht die Möglichkeit dass man das ganze runterkürzen kann?

bei einem " Serial.println(); " gibt er mit ja auch einfach nur das ganze dann halt auf dem Seriellen Monitor ohne das ganze gedöns aus. ,
oder bei dem keypad shield kann ich das ja auch so machen:

lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("text");

Aber mit der doofen u8g lib komm ich net klar

Hallo cb,
also deinem Code entnehme ich das es sich um ein Grafikdisplay handelt. Und Grafikdisplays haben selten einen Zeichengenerator mit an Bord was bedeutet das die Ansteuerung den entweder selber bereistellen muß oder den Zeichensatz aufs Display laden muß weil ein Grafikdisplay eigentlich nur einzelne Pixel anzeigen kann.
Aber so wie ich das aus deinem Code lese wird das von der Lib ja schon bereitgestellt.....einfacher geht es nur noch wenn diese Routinen in eigene Routinen packst wo du die nötigen Befehle zusammensetzt und dann quasi per eigene Routine dann den gewünschten Textstring ausgibst....und um diesen String aufzubauen solltest dich mal mit so Funktionen wie sprintf(Ausgabestring,"%7d"(DasIstDieFormatangabe), ZahlenwertDerAusgegegebenWird) auseinandersetzen.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.09.2014, 19:43
Beitrag #3
RE: Stress mit der U8g Libary
(01.08.2014 08:21)Bitklopfer schrieb:  
(01.08.2014 07:30)cb_baer schrieb:  Aber mit der doofen u8g lib komm ich net klar

Hallo cb,
also deinem Code entnehme ich das es sich um ein Grafikdisplay handelt. Und Grafikdisplays haben selten einen Zeichengenerator mit an Bord was bedeutet das die Ansteuerung den entweder selber bereistellen muß oder den Zeichensatz aufs Display laden muß weil ein Grafikdisplay eigentlich nur einzelne Pixel anzeigen kann.

Naja, für Grafikdisplays ist die u8g ja da und dafür ist sie auch ziemlich gut.

Allerdings kann ich die Vorbehalte von cb verstehen. u8g ist schick und ziemlich mächtig, für meinen Geschmack ein bisschen zu sehr. Ich arbeite gern mit dem attiny85, selbst dafür geht sie, aber es bleibt kaum noch Platz fürs eigentliche Programm. Da greift man dann doch wieder mal zum klobigen LCD.

(01.08.2014 08:21)Bitklopfer schrieb:  Aber so wie ich das aus deinem Code lese wird das von der Lib ja schon bereitgestellt.....einfacher geht es nur noch wenn diese Routinen in eigene Routinen packst wo du die nötigen Befehle zusammensetzt und dann quasi per eigene Routine dann den gewünschten Textstring ausgibst....und um diesen String aufzubauen solltest dich mal mit so Funktionen wie sprintf(Ausgabestring,"%7d"(DasIstDieFormatangabe), ZahlenwertDerAusgegegebenWird) auseinandersetzen.
lg
bk

sprintf auf dem Arduino... naja. Für die meisten Formatausgaben hat die print-Klasse doch schon was, und für führende Nullen reicht oft ein if(val<10) x.print ("0").
Aber wie gesagt - so eine lightweight-Version der u8g wär schon was, grade für die netten kleinen I2C-1"Oled-Displays am Attiny ist die normale u8g echt der Overkill.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Problem mit KS0108 GLCD und Libary MKnet83 8 817 13.02.2016 09:43
Letzter Beitrag: amithlon
  Libary nicht erkannt?? :-( leto73 4 1.911 19.08.2014 20:53
Letzter Beitrag: leto73
  Libary Erstellen? kartal03 1 754 13.07.2014 18:55
Letzter Beitrag: Thorsten Pferdekämper

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste