LPC Schriftarten einbinden Problem mit PROGMEM

Gast #1919230
Lesenswert?

Hallo,
ich bin gerade dabei mich an der Darstellung von Schrift auf einem 
Display zu versuchen, ich arbeite hiermit mit einem bereits bestehenden 
und getesteten Program für einen ATMEGA168.
Um mein Problem deutlich zu machen zeige ich nun einige Dinge die ich 
verändert habe, da PROGMEM beim LPC nach meiner Recherche nicht mehr 
nötig ist.

vorher:
1
//load height of font in bytes
2
inline uint8_t font_get_height_bytes(FONT_P charset) 
3
{
4
  uint8_t t = pgm_read_byte(&charset->height);
5
   
6
  return ((t-1)/8+1);
7
}

nachher
1
//load height of font in bytes
2
inline uint8_t font_get_height_bytes(FONT_P charset) 
3
{
4
  uint8_t t = (&charset.height);
5
   
6
  return ((t-1)/8+1);
7
}

an dieser Stelle bekomme ich nun keine Fehler mehr.
Nun habe ich ein Look-up-table für eine Schriftart erstellt.
hierbei jedoch erhalte ich folgenden Fehler und kann ihn nicht ganz 
zuordnen bzw weiß nicht was falsch ist
1
#ifdef FONTS_INCLUDE_font_proportional_16px
2
  const char font_proportional_16px_data[] = {...
3
};
4
  const struct font_info font_proportional_16px PROGMEM = {0xF7+(0x06<<8),0x0B,0x10,0x21,0xFC,font_proportional_16px_data,(char*)font_proportional_16px_data+0xFC-0x21+1};
5
#endif

Fehler:Y:/Eigene Dateien/CrossWorks Projects/Neuer 
Ordner/mfa_display.c:414: error: initializer element is not computable 
at load time
Y:/Eigene Dateien/CrossWorks Projects/Neuer Ordner/mfa_display.c:414: 
error: (near initialization for 'font_prop_16px.widthtable')


Vielen Dank für alle Ideen =)

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