Libreria Grafica emWin

Pubblicato il Pubblicato in Sistemi Operativi Real-Time

Libreria grafica Segger emWin, scritta in ANSI C per la massima compattezza e portabilità sotto qualsiasi architettura.

Caratteristiche Principali

Può supportare qualunque CPU 8/16/32 bit, scritto in ANSI C per garantire la massima portabilità su qualunque architettura.
Qualunque display LCD può essere supportato (monocromatico, a scale di grigio, a colori).
Può operare senza controller LCD tramite un driver apposito (per sistemi low-cost)
Opportuni settaggi in fase di compilazione consentono di selezionare differenti ottimizzazioni.
Supporto di un display virtuale di dimensione maggiore rispetto al display fisico (“virtual display”)

Libreria grafica

  • Sono visualizzabili bitmap con diverse profondità di colore.
  • E’ inclusa la utility “bitmap converter”, che consente di convertire istantaneamente un’ immagine bitmap in codice ANSI C.
  • Non viene impiegato calcolo in virgola mobile per la visualizzazione di linee e punti ed altri elementi grafici.
  • Routine molto efficienti per tracciare circonferenze e poligoni.
  • E’ inclusa serie completa di font ISO 8859-1.
  • Supporto per touch-screen e mouse.
  • Sono inclusi numerosi font di base: 4*6, 6*8, 6*9, 8*8, 8*9, 8*16, 8*17, 8*18, 24*32 e font proporzionali con pixel-heights pari a 8, 10, 13, 16 pixel.
  • Nuovi font possono essere definiti e inclusi senza limitazioni.
  • Solamente i font effettivamente utilizzati dall’applicazione sono veramente inseriti nel codice in modo da contenere la quantità di ROM necessaria.
  • I fonts sono scalabili (separatamente in X e Y).
  • E’ disponibile la utility “Font Converter” che consente di convertire istantaneamente qualunque font installato nel sistema operativo del PC in codice C.
  • Visualizzazione Stringhe
  • Sono presenti routine per la visualizzazione di variabili in formato decimale, binario, esadecimale, con qualunque font.

Windows Manager

Windows manager completo. Le finestre possono essere spostate e ridimensionate. Sono supportate routine call-back (l’uso è opzionale).
Uso limitatissimo di memoria RAM (circa 20 byte per ogni finestra).
Widget Opzionali (conferiscono alle finestre un aspetto simile a Windows)
Sono oggetti grafici predefiniti e configurabili che consentono un’interazione complessa con l’applicazione. Un esempio di widget è riprodotto nella figura a fianco. I Widget possono reagire automaticamente a un evento, come ad esempio, alla pressione di un bottone. Una volta creati, i Widget hanno proprietà modificabili run-time, e sono eliminati quando non più necessari. Come avviene per le finestre, i widget sono referenziati tramite un handle generato all’atto della sua creazione. I widget richiedono il Window Manager. Sebbene non indispensabili per creare un’interfaccia utente, i widget semplificano lo sviluppo dell’interfaccia uomo-macchina e migliorano l’interazione tra l’utente e la macchina.

Touch-screen  & Mouse

emWin mette a disposizione il supporto per touch-screen e per il mouse per interagire con oggetti come i bottoni (v. figura sopra).

Simulazione dell’interfaccia utente usando Microsoft Visual C++ in ambiente PC

E’ disponibile un ambiente di simulazione sotto Microsoft Visual C++ . Può essere usato per scrivere e testare l’intera interfaccia utente in ambiente PC (le routine sono 100% compatibili con l’applicazione embedded, indipendentemente dalla CPU e dal dispositivo LCD utilizzato).Catturare immagini del contenuto dell’LCD diventa un’operazione immediata. Queste immagini catturate possono essere utilizzate per redigere la documentazione. Il programma emWinView consente di visualizzare il contenuto del display simulato anche durante la fase di debug.

Supporto Multi Layer/ Multi Display

Sempre più i produttori di controller grafici (Fujitsu e Toshiba, ad esempio) implementano il concetto di layer flessibile. La feature “multiple layer/multiple display” consente di gestire più di un layer alla volta. Consente anche di utilizzare più di un display alla volta nell’applicazione embedded. Questo supporto è incluso nel pacchetto. A oggi è possibile gestire fino a 5 Layers/displays.

Supporto VNC

Il protocollo VNC (“Virtual Network Computing”) è ora disponibile come pacchetto opzionale. L’utente può vedere e interagire con l’ambiente grafico non solo sulla macchina su cui tale GUI sta girando, ma in remoto da qualunque punto della rete via TCP/IP.

Schede di Valutazione

Per accelerare lo sviluppo della GUi Segger ha sviluppato alcune schede di valutazione con display LCD a colori e a scale di grigio, in tecnologia a matrice passiva e TFT. Le schede includono emWin (librerie binarie), applicazioni di esempio in sorgente, un compilatore demo e un bootloader per caricare l’applicazione compilata in flash e per vederla girare sul target.

Board Support Packages

Emwin è facilmente portabile su qualsiasi piattaforma. Cliccare qui per l’elenco dei BSP forniti da Segger per varie schede commerciali.