Ouch, dämlicher Fehler. Du hast natürlich Recht, sizeof gibt mir die Größe in Bytes was erst Mal wenig bringt ...
Ich hatte allerdings bewusst darauf verzichtet, die Indexstruktur im PROGMEM abzulegen, um unnötige Lesezugriffe auf den Flash (die das ganze verlangsamen und komplexer machen) zu vermeiden. Es wäre natürlich auch möglich, einfach immer nur den aktuell benötigten Index zu laden, dann hätte man alles im Flash liegen und dennoch einen effizienten Zugriff.
Ach ja: GCC beschwert sich über Arrays deren Größe nicht bei der Definition angegeben wird ...

mfG
Markus

PS: Auch wenn es ähnlich aussieht, ich hatte meinen Code einmal komplett neugeschrieben um alles (gut, bis auf sizeof *hust*) zu durchdenken, daher die Unterschiede.
PPS: Wie kriegst du deinen Code eigentlich farbig? Geht das manuell oder macht das Forum das automagisch?