Ahoj Štury

Dependencies:   LIS302 mbed

Committer:
havri
Date:
Tue Feb 03 08:30:13 2015 +0000
Revision:
2:5506657d79a8
Parent:
1:cae174481a60
tt

Who changed what in which revision?

UserRevisionLine numberNew contents of line
havri 0:7d02a614f4e7 1 #include "mbed.h"
havri 0:7d02a614f4e7 2 DigitalOut myled(LED1);
havri 0:7d02a614f4e7 3 AnalogIn CameraIn(PTD5);
havri 0:7d02a614f4e7 4 DigitalOut SI(PTD7);
havri 0:7d02a614f4e7 5 DigitalOut CLK(PTE1);
havri 1:cae174481a60 6
havri 0:7d02a614f4e7 7 Serial pc(USBTX,USBRX);
havri 0:7d02a614f4e7 8 DigitalIn butt(PTC13);
havri 0:7d02a614f4e7 9
havri 1:cae174481a60 10 int i;
havri 1:cae174481a60 11 float camera[128];
havri 1:cae174481a60 12 float convolutions[142];
havri 1:cae174481a60 13 float camera_con[156];
havri 2:5506657d79a8 14 float soucet[156][15];
havri 1:cae174481a60 15 float jadro[] = {0,0.222520749166399,0.433883397574414,0.623489357288624,0.78183100975747,
havri 1:cae174481a60 16 0.900968456705778,0.974927659118645,1,0.974928249597434,0.900969608054333,
havri 1:cae174481a60 17 0.781832664242464,0.623491431947411,0.433885788375115,0.222523336224485,2.65358979335278E-06};
havri 1:cae174481a60 18
havri 1:cae174481a60 19 int convolution()
havri 1:cae174481a60 20 {
havri 1:cae174481a60 21 float temp;
havri 2:5506657d79a8 22 for(int a = 0; a<=13; a++)
havri 2:5506657d79a8 23 {
havri 2:5506657d79a8 24 camera_con[a] = 1;
havri 2:5506657d79a8 25 }
havri 2:5506657d79a8 26
havri 2:5506657d79a8 27 for(int a = 14; a<=142; a++)
havri 2:5506657d79a8 28 {
havri 2:5506657d79a8 29 camera_con[a] = camera[a-14];
havri 2:5506657d79a8 30 }
havri 2:5506657d79a8 31
havri 2:5506657d79a8 32 for(int a = 143; a<=155; a++)
havri 1:cae174481a60 33 {
havri 1:cae174481a60 34 camera_con[a] = 1;
havri 1:cae174481a60 35 }
havri 1:cae174481a60 36
havri 2:5506657d79a8 37 for(int a = 0; a<=142; a++)
havri 1:cae174481a60 38 {
havri 2:5506657d79a8 39
havri 1:cae174481a60 40 for(int b = 0; b < 15; b++)
havri 1:cae174481a60 41 {
havri 2:5506657d79a8 42
havri 2:5506657d79a8 43 soucet[a][b]= camera_con[a]*jadro[b];
havri 2:5506657d79a8 44 }
havri 2:5506657d79a8 45
havri 2:5506657d79a8 46
havri 1:cae174481a60 47 }
havri 2:5506657d79a8 48 for(int a = 0; a<=128; a++)
havri 2:5506657d79a8 49 {
havri 2:5506657d79a8 50 convolutions[a] = soucet[a][15]+soucet[a+1][14]+soucet[a+2][13]+soucet[a+3][12]+soucet[a+4][11]+soucet[a+5][10]+soucet[a+6][9]+
havri 2:5506657d79a8 51 soucet[a+7][8]+soucet[a+8][7]+soucet[a+9][6]+soucet[a+10][5]+soucet[a+11][4]+soucet[a+12][3]+soucet[a+13][2]+soucet[a+14][1]+soucet[a+15][0];
havri 2:5506657d79a8 52 }
havri 2:5506657d79a8 53
havri 1:cae174481a60 54
havri 1:cae174481a60 55 return(1);
havri 1:cae174481a60 56 }
havri 1:cae174481a60 57
havri 1:cae174481a60 58 int scan()
havri 1:cae174481a60 59 {
havri 1:cae174481a60 60 CLK = 0;
havri 1:cae174481a60 61 SI = 1;
havri 1:cae174481a60 62 wait_us(65);
havri 1:cae174481a60 63 CLK = 1;
havri 1:cae174481a60 64 SI = 0;
havri 1:cae174481a60 65 wait_us(65);
havri 1:cae174481a60 66 for(i=0; i<128; i++)
havri 1:cae174481a60 67 {
havri 1:cae174481a60 68 camera[i]= CameraIn;
havri 1:cae174481a60 69 wait_us(65);
havri 1:cae174481a60 70 CLK=0;
havri 1:cae174481a60 71 wait_us(65);
havri 1:cae174481a60 72 CLK = 1;
havri 1:cae174481a60 73 }
havri 1:cae174481a60 74 return(1);
havri 1:cae174481a60 75 }
havri 1:cae174481a60 76
havri 1:cae174481a60 77
havri 1:cae174481a60 78
havri 0:7d02a614f4e7 79 int main() {
havri 1:cae174481a60 80 while(1) {
havri 1:cae174481a60 81 scan();
havri 1:cae174481a60 82 convolution();
havri 1:cae174481a60 83 if(butt == 1)
havri 1:cae174481a60 84 {
havri 1:cae174481a60 85
havri 2:5506657d79a8 86 for(i=0; i<128; i++)
havri 0:7d02a614f4e7 87 {
havri 1:cae174481a60 88 pc.printf(" %f;",convolutions[i]);
havri 0:7d02a614f4e7 89 wait_us(20);
havri 0:7d02a614f4e7 90 }
havri 0:7d02a614f4e7 91 pc.printf("\n");
havri 0:7d02a614f4e7 92 }
havri 2:5506657d79a8 93
havri 0:7d02a614f4e7 94
havri 0:7d02a614f4e7 95 }
havri 0:7d02a614f4e7 96 }