ePaper von EA - Auswahl Font

Gast #4765236
Lesenswert?

Hallo
Ein ePaper von EA vom Typ eLabel20 kann über SPI oder I2C programmiert 
werden. Bei der Auswahl des Font wird der Befehl DC1, ESC und Z und F 
übertragen. Danach erfolgt die Auswahl von 0-15. Es sind vom Hersteller 
7 Fonts bereits vorgesehen. Nach einem Reset wird immer der Font 0 
verwendet. Leider kann ich kann keinen andeen Font auswählen, es kommt 
immer nur der Font 0.
Warum?

mfg Kla
Angehängte Dateien:
Gast #4765671
Lesenswert?

Halo Rufus
Mache es so
1
int8_t bcc;
2
  bcc = 0x11 + 0x04 + 0x1b + 'Z' + 'F' + x;
3
  i2c_start(slave_adresse_1);
4
  i2c_write(0x11);    // DC1 0x11
5
  i2c_write(0x04);    // 04 len
6
  i2c_write(0x1b);    // ESC   
7
  i2c_write('Z');    // Z
8
  i2c_write('F');    // F
9
  i2c_write(x);
10
  i2c_write(bcc);
Der Aufruf erfolgt dabei durch:
1
eP_Font_Auswahl(2);    // Auswahl Schriftart Z + F 0-8
2
eP_Text_L( 35, 26, "Test L");  // Ausgabe Text links Z + L
Mit x gebe ich die Schriftart an. Habe so ziemlich jeden Befehl für das 
ePaper von EA so aufgebaut. Alles andere funktionieren, nur die Schrift 
bereitet mir Probleme. Bei anderen Display, z.B. edip128 oder edipTFT32 
geht das ohne Probleme
Kl
Gast #4765871
Lesenswert?

Hallo Rufus
ich werte es damit aus und lasse es zusätzlich auf einem zweiten Display 
anzeigen. Damit bekomme ich auch die Feheleranzeige zurück. Bei 6 alles 
ok. Bei 21 ist ein Fehler drin.
1
i2c_start(slave_adresse_2);
2
  e = i2c_readAck();
3
  i2c_stop();
4
  itoa( e, Buffer, 10 );    
5
  lcd_printlc(1,12,Buffer);
6
  _delay_us(100);
Gast #4765977
Lesenswert?

Das sind nicht die Fontnummern. Das Display überprüft die Werte die 
übergeben werden. Wenn die übergebene Summe mit der Summeder Werte 
stimmt, kommt eine 6 zurück. In dem Code wird es als len bzw. bcc 
geschrieben.
Gast #4843675
Lesenswert?

Sorry, habe mir das Problem noch mal vorgenommen. Das Datenblatt des 
Herstellers steht am Anfang.
Noch mal der ganze Aufruf:
1
void eP_Font_Auswahl(int8_t x)  // Auswahl Font Z + F
2
  {
3
  int8_t bcc;
4
  bcc = DC1 + 0x04 + ESC + 'Z' + 'F' + x ;
5
  i2c_start(slave_adresse_1);
6
  i2c_write(DC1);    // DC1
7
  i2c_write(0x04);  // 04 
8
  i2c_write(ESC);    // ESC
9
  i2c_write('Z');    // Z
10
  i2c_write('F');    // F
11
  i2c_write(x);
12
  i2c_write(bcc);
13
  i2c_stop();
14
  
15
  _delay_us(40);
16
  
17
  i2c_start(slave_adresse_2);
18
  e = i2c_readAck();
19
  i2c_stop();
20
  itoa( e, Buffer, 10 );    
21
  lcd_printlc(1,10,Buffer);
22
  _delay_us(200);
23
  }
Dabei ist:
1
#define DC1 0x11
2
#define ESC 0x1B
Angabe der Fonts:
1
eP_Font_Auswahl(0);            // Auswahl Schriftart Z + F 0-8
2
    eP_Text_L( 35, 6, "Test L0");      // Ausgabe Text links Z + L
3
    _delay_ms(5);
4
    
5
    eP_Font_Auswahl(1);            // Auswahl Schriftart Z + F 0-8
6
    eP_Text_R( 35, 26, "Test L1");      // Ausgabe Text links Z + L
7
    _delay_ms(5);
8
    
9
    eP_Font_Auswahl(4);            // Auswahl Schriftart Z + F 0-8
10
    eP_Text_C( 35, 46, "Test L2");      // Ausgabe Text links Z + L
Hat jemand eine Idee dazu?
LG Kl

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren