Treball de Recerca - Recercat
Treball de Recerca - Recercat
Treball de Recerca - Recercat
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Explicació<br />
Primerament s’inclouen les llibreries i es <strong>de</strong>claren les constants i variables globals<br />
que s’utilitzaran en el programa, i <strong>de</strong>sprés d’això les funcions <strong>de</strong>l programa.<br />
En iniciar-se la funció main() es crea la finestra principal i d’ella se n’obtenen els<br />
objectes <strong>de</strong> formulari que s’utilitzaran i s’assignen events per als components<br />
necessaris. Un cop fet això es mostra la finestra principal i s’inicia el bucle principal <strong>de</strong>l<br />
GTK. Aquest bucle manté el programa encès i espera que hi hagi algun event.<br />
El primer event que es pot donar és en prémer el botó <strong>de</strong> Connectar. Quan aquest<br />
és premut s’inicia el procés <strong>de</strong> connexió amb un wiimote. En cas que hi hagi algun<br />
error en aquest procés, s’aturarà i es <strong>de</strong>sconnectarà <strong>de</strong>l comandament, tornant a<br />
l’estat inicial <strong>de</strong>l programa. Si tot va bé, els objectes utilitzables mentre hi ha un<br />
comandament connectat s’activen. A més, es crea un nou event per a rebre els<br />
informes <strong>de</strong>l comandament, awii_events(), explicada més endavant.<br />
Un cop el comandament està connectat, una <strong>de</strong> les funcions activa<strong>de</strong>s és la <strong>de</strong><br />
<strong>de</strong>sconnectar-lo. Aquesta únicament neteja tota la informació que hi hagués sobre el<br />
wiimote actual <strong>de</strong> la memòria i se’n <strong>de</strong>sconnecta.<br />
La funció awii_events() és cridada cada cop que el comandament envia un informe<br />
nou a l’ordinador. Aquesta funció el primer que fa és comprovar si l’informe rebut<br />
conté informació d’acceleracions. Si és així crida a la funció awii_acc() que treballarà<br />
amb aquesta informació.<br />
Cada cop que la funció awii_acc() és cridada actualitza la informació <strong>de</strong> les barres<br />
<strong>de</strong> procés <strong>de</strong> les acceleracions amb les noves da<strong>de</strong>s. Aleshores redibuixa el gràfic <strong>de</strong> la<br />
força G, a l’esquerra <strong>de</strong> la finestra <strong>de</strong>l programa. Això ho fa utilitzant funcions <strong>de</strong> la<br />
llibreria GDK, que forma part <strong>de</strong> la llibreria GTK, que s’utilitza per a crear gràfics en<br />
temps d’execució. Un cop fet això comprova si està activat el dibuix <strong>de</strong>l gràfic<br />
d’acceleracions.<br />
En cas <strong>de</strong> que estigui activat també redibuixa l’objecte on es troba el gràfic <strong>de</strong><br />
manera que hi constin les noves acceleracions. Per a fer això primer <strong>de</strong> tot comprova<br />
que hagi passat el temps mínim requerit entre cada cop que s’afegeix nova informació<br />
41