Tomas Havran
/
mbed_line_camera
Ahoj Štury
main.cpp@1:cae174481a60, 2015-01-28 (annotated)
- Committer:
- havri
- Date:
- Wed Jan 28 11:15:59 2015 +0000
- Revision:
- 1:cae174481a60
- Parent:
- 0:7d02a614f4e7
- Child:
- 2:5506657d79a8
ahoj
Who changed what in which revision?
User | Revision | Line number | New 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 | 1:cae174481a60 | 14 | float jadro[] = {0,0.222520749166399,0.433883397574414,0.623489357288624,0.78183100975747, |
havri | 1:cae174481a60 | 15 | 0.900968456705778,0.974927659118645,1,0.974928249597434,0.900969608054333, |
havri | 1:cae174481a60 | 16 | 0.781832664242464,0.623491431947411,0.433885788375115,0.222523336224485,2.65358979335278E-06}; |
havri | 1:cae174481a60 | 17 | |
havri | 1:cae174481a60 | 18 | int convolution() |
havri | 1:cae174481a60 | 19 | { |
havri | 1:cae174481a60 | 20 | float temp; |
havri | 1:cae174481a60 | 21 | for(int a = 0; a<15; a++) |
havri | 1:cae174481a60 | 22 | { |
havri | 1:cae174481a60 | 23 | camera_con[a] = 1; |
havri | 1:cae174481a60 | 24 | } |
havri | 1:cae174481a60 | 25 | |
havri | 1:cae174481a60 | 26 | for(int a = 15; a<143; a++) |
havri | 1:cae174481a60 | 27 | { |
havri | 1:cae174481a60 | 28 | camera_con[a] = camera[a-15]; |
havri | 1:cae174481a60 | 29 | } |
havri | 1:cae174481a60 | 30 | |
havri | 1:cae174481a60 | 31 | for(int a = 143; a<157; a++) |
havri | 1:cae174481a60 | 32 | { |
havri | 1:cae174481a60 | 33 | camera_con[a] = 1; |
havri | 1:cae174481a60 | 34 | } |
havri | 1:cae174481a60 | 35 | |
havri | 1:cae174481a60 | 36 | for(int a = 0; a<143; a++) |
havri | 1:cae174481a60 | 37 | { |
havri | 1:cae174481a60 | 38 | for(int b = 0; b < 15; b++) |
havri | 1:cae174481a60 | 39 | { |
havri | 1:cae174481a60 | 40 | temp += camera_con[a + b]*jadro[b]; |
havri | 1:cae174481a60 | 41 | } |
havri | 1:cae174481a60 | 42 | convolutions[a] = temp; |
havri | 1:cae174481a60 | 43 | } |
havri | 1:cae174481a60 | 44 | |
havri | 1:cae174481a60 | 45 | return(1); |
havri | 1:cae174481a60 | 46 | } |
havri | 1:cae174481a60 | 47 | |
havri | 1:cae174481a60 | 48 | int scan() |
havri | 1:cae174481a60 | 49 | { |
havri | 1:cae174481a60 | 50 | CLK = 0; |
havri | 1:cae174481a60 | 51 | SI = 1; |
havri | 1:cae174481a60 | 52 | wait_us(65); |
havri | 1:cae174481a60 | 53 | CLK = 1; |
havri | 1:cae174481a60 | 54 | SI = 0; |
havri | 1:cae174481a60 | 55 | wait_us(65); |
havri | 1:cae174481a60 | 56 | for(i=0; i<128; i++) |
havri | 1:cae174481a60 | 57 | { |
havri | 1:cae174481a60 | 58 | camera[i]= CameraIn; |
havri | 1:cae174481a60 | 59 | wait_us(65); |
havri | 1:cae174481a60 | 60 | CLK=0; |
havri | 1:cae174481a60 | 61 | wait_us(65); |
havri | 1:cae174481a60 | 62 | CLK = 1; |
havri | 1:cae174481a60 | 63 | } |
havri | 1:cae174481a60 | 64 | return(1); |
havri | 1:cae174481a60 | 65 | } |
havri | 1:cae174481a60 | 66 | |
havri | 1:cae174481a60 | 67 | |
havri | 1:cae174481a60 | 68 | |
havri | 0:7d02a614f4e7 | 69 | int main() { |
havri | 1:cae174481a60 | 70 | while(1) { |
havri | 1:cae174481a60 | 71 | scan(); |
havri | 1:cae174481a60 | 72 | convolution(); |
havri | 1:cae174481a60 | 73 | if(butt == 1) |
havri | 1:cae174481a60 | 74 | { |
havri | 1:cae174481a60 | 75 | |
havri | 1:cae174481a60 | 76 | for(i=0; i<142; i++) |
havri | 0:7d02a614f4e7 | 77 | { |
havri | 1:cae174481a60 | 78 | pc.printf(" %f;",convolutions[i]); |
havri | 0:7d02a614f4e7 | 79 | wait_us(20); |
havri | 0:7d02a614f4e7 | 80 | } |
havri | 0:7d02a614f4e7 | 81 | pc.printf("\n"); |
havri | 0:7d02a614f4e7 | 82 | } |
havri | 0:7d02a614f4e7 | 83 | |
havri | 0:7d02a614f4e7 | 84 | |
havri | 0:7d02a614f4e7 | 85 | } |
havri | 0:7d02a614f4e7 | 86 | } |