Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed freescal_cup_k22f
Diff: source/Camera.cpp
- Revision:
- 8:8f886cd6a59f
- Parent:
- 3:f6a91455109c
- Child:
- 10:3424e7b66671
--- a/source/Camera.cpp Tue Jan 13 15:51:53 2015 +0000 +++ b/source/Camera.cpp Tue Jan 13 16:18:03 2015 +0000 @@ -6,67 +6,77 @@ AnalogIn pix(PTB2); -extern unsigned int pixel[128]={0}; // +extern unsigned int pixel[128]= {0}; // -void readline(void) // fonction de détection de la ligne +void readline(void) // fonction de détection de la ligne { clk=0; // la clock est nulle au départ int compteur = 0,index_pixel = 0, capture_finie = 0; - - while (!capture_finie) - { + + while (!capture_finie) { if (compteur & 1) // si compteur impair => front descendant clk = 0; else // compteur pair => montant clk = 1; if(compteur == 5) si = 1; - + if (compteur == 7) - si=0; - if ( (compteur & 1) && compteur >= 7) { // mesure sur front descendant, + si=0; + if ( (compteur & 1) && compteur >= 7) { // mesure sur front descendant, // pc.printf("lecture pixel\n"); pixel[index_pixel]=pix.read_u16(); index_pixel ++; } wait_us(10); compteur++; - + if (index_pixel == 128) - capture_finie = 1; + capture_finie = 1; } wait_ms(1); } void passebas() { - unsigned int tamponpixel[256] ={0}; + unsigned int tamponpixel[256] = {0}; int ordre=7, i=0; - + // Passe bas en partant de la gauche sur tamponpixel[0:127] - for (i=ordre;i<128;i++) - { - for (int a=0;a<ordre;a++) - { + for (i=ordre; i<128; i++) { + for (int a=0; a<ordre; a++) { tamponpixel[i]+=pixel[i-a]; } tamponpixel[i]/=ordre; } - + // Passe bas en partant de la droite sur tamponpixel[128:255] - for (i=127-ordre;i>=0;i--) - { - for (int a=0;a<ordre;a++) - { + for (i=127-ordre; i>=0; i--) { + for (int a=0; a<ordre; a++) { tamponpixel[255-i]+=pixel[i+a]; } tamponpixel[255-i]/=ordre; } - - + + // Actualisation de l'image filtrée - for (i=0;i<128;i++) - { + for (i=0; i<128; i++) { pixel[i]=tamponpixel[i]; } +} + +//fonction qui dérive le signal de la camera +void derivation() +{ + unsigned int tamponpixel[256] = {0}; + + for (int i=1; i<128; i++) { + tamponpixel[i]=pixel[i-1]-pixel[i]; + } + + // Actualisation de l'image filtrée + for (int i=0; i<128; i++) { + pixel[i]=tamponpixel[i]; + } + } \ No newline at end of file