Enviat per: Matias | 25 Març 2010

Botó

Abans de provar la càmara, volia mirar de captar la pulsació del botó ISP. Pensava que seria un moment.. però sembla ser que no.

Per captar el valor del botó, es fa servir la funció cc3_button_get_state () que si val cert, es que el boto esta actiu, tant facil com això. Curiosament jo ho he provat al primer intent, i no llegia res.

M’he posat a mirar el codi de les funcions, per saber realment que fa, i aquí esta el codi:

bool cc3_button_get_state (void)
{
if (!_cc3_button_trigger) {
// button has not been pressed
return false;
}

// otherwise, it has been pressed, and it's in GPIO mode
return !(REG (GPIO_IOPIN) & _CC3_BUTTON);
}

bool cc3_button_get_and_reset_trigger (void)
{
bool result = _cc3_button_trigger;
_cc3_button_trigger = false;
// reset interrupt
if (result) {
enable_button_interrupt();
}

return result;
}

Fixem-nos que la funcio cc3_button_get_state només retorna el valor real del botó (mitjançant uns flags) si la variable cc3_button_trigger es true. Pero curiosament, mai s’aconsegueix posar a true, i si fem servir la funció seguent cc3_button_get_and_reset_trigger() es posa sempre a false, i despres al llegir sempre retorna false.
Hi hauria d’haver alguna funcio que poses _cc3_button_trigger = true, i una funcio al fitxer d’interrupcio (que es crida a la inicialitzacio del sistema) enable_button_interrupt() l’únic que fa es posar bé els flags de hardware, pero no modifica a _cc3_button_trigger.

Per tant he modificat la funcio de reset per posar-lo a true, he recompilat el cc3, i ara evidentment em funciona, pero continuo sense entendre perquè he hagut de modificar-ho.

He penjat un post a la web de CMUCam per veure si em treuen el dubte: Post

Almenys el boto se que funciona i no es problema de hardware.

Anuncis

Responses

  1. Re. l’article d’aujourd’hui sur Neil Harbisson sur la BBC, il y avait, la dernière fois, j’ai visité le Musée d’Art Moderne de New York, une chambre avec une pléthore de déplacer les couleurs qui m’ont fait l’impression que c’était une symphonie à la lumière. Magnifique!

    Meilleurs voeux, Chris


Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s

Categories

%d bloggers like this: