UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica
UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica
UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
servono anch'esse ad aggiornare il contenuto dello schermo durante l'esecuzione<br />
dei programmi: vengono aggiornati lo stato del driver dei servo e il livello delle<br />
soglie per il puntatore laser e per il bersaglio.<br />
Sono fornite le procedure per gestire la barra di stato, alla quale è associato<br />
un task periodico con criticità SOFT e periodo opportuno, che realizza l'eventuale<br />
lampeggio del testo visualizzato nella barra di stato. Un task che desidera scrivere<br />
nella status bar deve indicare, al momento della creazione, di utilizzare la risorsa<br />
SRP_STATUSBAR. L'effettiva scrittura del testo avviene con la procedura<br />
set_statusbar(), la quale permette anche di indicare se il testo deve lampeggiare o<br />
rimanere fisso sul video. Il modulo esecutivo che utilizza la barra di stato deve<br />
eseguire la procedura go_statusbar_MOD(), il quale serve a creare e ad avviare il<br />
task che gestisce la barra.<br />
Infine, la libreria fornisce gli strumenti per effettuare l'hardcopy di una<br />
schermata e salvarla in un file in standard PGM. Il PGM è un formato grafico<br />
particolarmente semplice, che adatto ad immagini di qualsiasi dimensione ma<br />
soltanto monocromatiche a 256 livelli di grigio.<br />
Per abilitare l'hardcopy al termine dell'elaborazione, il programma<br />
principale deve richiamare la procedura enable_hard_copy(). Quando<br />
l'elaborazione del programma principale termina, chiamando la funzione<br />
shut_down_sys(), nel modulo elabor.h, viene effettuato l'hardcopy dello schermo e<br />
salvato in una variabile interna alla libreria. Questo avviene dopo la chiusura del<br />
sistema (ovvero dopo la sys_end()), in modo da non avere interferenze da parte<br />
dei task che scrivono sullo schermo. Solo dopo aver completato l'operazione viene<br />
chiusa anche la grafica. Rimane compito del programma principale richiamare la<br />
funzione save_pgm_screen() per la scrittura vera e propria nel file.<br />
138