TSL1401 is the line sensor camera.This library is used to read the raw data. modified Polytec paris sud
Fork of TSL1401 by
Revision 1:7a8ca2147516, committed 2018-01-26
- Comitter:
- bouaziz
- Date:
- Fri Jan 26 10:52:00 2018 +0000
- Parent:
- 0:71198cb26156
- Commit message:
- test modif CCD polytech paris Sud;
Changed in this revision
TSL1401.cpp | Show annotated file Show diff for this revision Revisions of this file |
TSL1401.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r 71198cb26156 -r 7a8ca2147516 TSL1401.cpp --- a/TSL1401.cpp Sun Oct 05 04:12:56 2014 +0000 +++ b/TSL1401.cpp Fri Jan 26 10:52:00 2018 +0000 @@ -1,11 +1,13 @@ #include "TSL1401.h" - +#include "FastIO.h" +#include "FastAnalogIn.h" /* Macro */ #define TAOS_SI_HIGH TAOS_SI = 1 #define TAOS_SI_LOW TAOS_SI = 0 #define TAOS_CLK_HIGH TAOS_CLK = 1 #define TAOS_CLK_LOW TAOS_CLK = 0 +FastAnalogIn AA1(p20,0); /* Constructor */ TSL1401::TSL1401(PinName s, PinName c, PinName a ) { @@ -26,31 +28,43 @@ int *TSL1401::Capture( int LineStart, int LineStop) { int i; - DigitalOut TAOS_SI(SI); + FastOut<p9> TAOS_SI; + FastOut<p10> TAOS_CLK; + + /* DigitalOut TAOS_SI(SI); DigitalOut TAOS_CLK(CLK); - + */ Max = 0,Min = 70000; TAOS_SI_HIGH; TAOS_CLK_HIGH; TAOS_SI_LOW; ImageData[0] = 0; + volatile int *pp=ImageData; TAOS_CLK_LOW; - for(i = 1; i < LineStart; i++) { - TAOS_CLK_HIGH; + /* for(i = 1; i < LineStart; i++) { + TAOS_CLK_HIGH; + TAOS_CLK_HIGH; TAOS_CLK_LOW; } +*/ for(i = LineStart; i < LineStop; i++) { TAOS_CLK_HIGH; - ImageData[i] = A0->read_u16(); // inputs data from camera (one pixel each time through loop) +// TAOS_CLK_HIGH; + TAOS_CLK_HIGH; + // ImageData[i] = A0->read_u16(); // inputs data from camera (one pixel each time through loop) + // ImageData[i] + *pp = AA1.read_u16(); TAOS_CLK_LOW; - - if(Max < ImageData[i]){ + Max = ( Max < *pp ? *pp : Max); + // Max = ( Max < ImageData[i] ? ImageData[i] : Max); + /*if(Max < ImageData[i]){ Max = ImageData[i]; - } - if(Min > ImageData[i]){ - Min = ImageData[i]; - } - + } +*/ + Min = (Min > *pp ? *pp : Min); + pp++; + //Min = (Min > ImageData[i] ? ImageData[i] : Min); + } return ImageData; }
diff -r 71198cb26156 -r 7a8ca2147516 TSL1401.h --- a/TSL1401.h Sun Oct 05 04:12:56 2014 +0000 +++ b/TSL1401.h Fri Jan 26 10:52:00 2018 +0000 @@ -2,8 +2,8 @@ #define TSL1401_H #include "mbed.h" -#include "USBSerial.h" -extern USBSerial serial; +#include <FastAnalogIn.h> + class TSL1401 { public: @@ -18,5 +18,6 @@ PinName SI; PinName CLK; AnalogIn *A0; + }; #endif \ No newline at end of file