Aiuto per funzione

Salve a tutti, ho trovato molto interessante il progetto sul funzionamento di led pilotati da un webserver, il tutto, ovviamente, effettuato con l'Arduino. La cosa che non mi risulta chiara è una piccola funzione all'interno del codice, in particolare quella chiamata "pmg_read_word" che ricorre più volte all'interno dello sketch e della quale non riesco a trovare la libreria di appartenenza. Ringrazio chiunque voglia darmi una mano, se vi potesse essere utile il codice in cui la funizone viene utilizzata ditemelo che lo posto volentieri. Grazie. Kappollo

Queste sono le include:

#include <LED.h>
#include <WString.h>
#include <Ethernet.h>
#include <avr/pgmspace.h>

Questo è il codice “sconosciuto”

for (int i = 1; i < 8; i++)
{
strcpy_P(buffer, (char*)pgm_read_word(&(string_table[i]))); // Necessary casts and dereferencing, just copy.
Serial.print(pgm_read_word(&(string_table[i]))); 
client.println( buffer );
switch(i){

case 1: strcpy_P(buffer, (char*)pgm_read_word(&(string_table[st1]))); client.println( buffer ); break;
case 2: strcpy_P(buffer, (char*)pgm_read_word(&(string_table[st2]))); client.println( buffer ); break;
case 3: strcpy_P(buffer, (char*)pgm_read_word(&(string_table[st3]))); client.println( buffer ); break;
case 4: strcpy_P(buffer, (char*)pgm_read_word(&(string_table[st4]))); client.println( buffer ); break;

}

Poi altra piccola richiesta: ho trovato su internet questo modo per postare le immagini sulla pagine web, solo che non funziona, sapreste dirmi perchè?

prog_char string_8[] PROGMEM = "<img src=data:image/gif;base64,R0lGODlhEAAQAKIAAAD/AACGAISGhMbHxv///wAAAAAAAAAAACwAAAAAEAAQAAADUEiq1b6QNEHFGC2W6srFyyY0QAk0V8GM5WJ6qlgA7ptuc20GME4TplKAJ/EBg4BhDIYUKosp5JAokWB2U6LKiilkM1XGpxPSeAYQcKRIhiQAADs= alt=Acceso ></td><td>";
prog_char string_9[] PROGMEM = "<img src=data:image/gif;base64,R0lGODlhEAAQAKIAAP////f398DAwICAgAAAAAAAAAAAAAAAACwAAAAAEAAQAAADTRiq1L4wtEGHEC2S6sjFyzY0H+aB0ngB7OcRqcoC5Tl5cymot9CWFAKgR9MFhy/dhYO8nD7MoQQDrYykU5O1wYIxXI6ZN3SaISPkTiQBADs= alt=Spento ></td><td>";

Grazie per la disponibilità :slight_smile:

questa e la parte di libreria che parla di quella funzione

/** \ingroup avr_pgmspace
    \def pgm_read_word(address_short)
    Read a word from the program space with a 16-bit (near) address. 

    \note The address is a byte address. 
    The address is in the program space. */

#define pgm_read_word(address_short)    pgm_read_word_near(address_short)