TSL1401 is the line sensor camera.This library is used to read the raw data. modified Polytec paris sud

Fork of TSL1401 by tanabe hitoshi

Committer:
ht
Date:
Sun Oct 05 04:12:56 2014 +0000
Revision:
0:71198cb26156
Child:
1:7a8ca2147516
This library operates the camera using TSL1401.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ht 0:71198cb26156 1 #include "TSL1401.h"
ht 0:71198cb26156 2
ht 0:71198cb26156 3 /* Macro */
ht 0:71198cb26156 4 #define TAOS_SI_HIGH TAOS_SI = 1
ht 0:71198cb26156 5 #define TAOS_SI_LOW TAOS_SI = 0
ht 0:71198cb26156 6 #define TAOS_CLK_HIGH TAOS_CLK = 1
ht 0:71198cb26156 7 #define TAOS_CLK_LOW TAOS_CLK = 0
ht 0:71198cb26156 8
ht 0:71198cb26156 9 /* Constructor */
ht 0:71198cb26156 10 TSL1401::TSL1401(PinName s, PinName c, PinName a )
ht 0:71198cb26156 11 {
ht 0:71198cb26156 12
ht 0:71198cb26156 13 SI = s;
ht 0:71198cb26156 14 CLK = c;
ht 0:71198cb26156 15 A0 = new AnalogIn( a );
ht 0:71198cb26156 16 }
ht 0:71198cb26156 17 /* Destructor */
ht 0:71198cb26156 18 TSL1401::~TSL1401()
ht 0:71198cb26156 19 {
ht 0:71198cb26156 20 if( A0 != NULL)
ht 0:71198cb26156 21 {
ht 0:71198cb26156 22 delete A0;
ht 0:71198cb26156 23 }
ht 0:71198cb26156 24 }
ht 0:71198cb26156 25 /* Image Caputure */
ht 0:71198cb26156 26 int *TSL1401::Capture( int LineStart, int LineStop)
ht 0:71198cb26156 27 {
ht 0:71198cb26156 28 int i;
ht 0:71198cb26156 29 DigitalOut TAOS_SI(SI);
ht 0:71198cb26156 30 DigitalOut TAOS_CLK(CLK);
ht 0:71198cb26156 31
ht 0:71198cb26156 32 Max = 0,Min = 70000;
ht 0:71198cb26156 33 TAOS_SI_HIGH;
ht 0:71198cb26156 34 TAOS_CLK_HIGH;
ht 0:71198cb26156 35 TAOS_SI_LOW;
ht 0:71198cb26156 36 ImageData[0] = 0;
ht 0:71198cb26156 37 TAOS_CLK_LOW;
ht 0:71198cb26156 38 for(i = 1; i < LineStart; i++) {
ht 0:71198cb26156 39 TAOS_CLK_HIGH;
ht 0:71198cb26156 40 TAOS_CLK_LOW;
ht 0:71198cb26156 41 }
ht 0:71198cb26156 42 for(i = LineStart; i < LineStop; i++) {
ht 0:71198cb26156 43 TAOS_CLK_HIGH;
ht 0:71198cb26156 44 ImageData[i] = A0->read_u16(); // inputs data from camera (one pixel each time through loop)
ht 0:71198cb26156 45 TAOS_CLK_LOW;
ht 0:71198cb26156 46
ht 0:71198cb26156 47 if(Max < ImageData[i]){
ht 0:71198cb26156 48 Max = ImageData[i];
ht 0:71198cb26156 49 }
ht 0:71198cb26156 50 if(Min > ImageData[i]){
ht 0:71198cb26156 51 Min = ImageData[i];
ht 0:71198cb26156 52 }
ht 0:71198cb26156 53
ht 0:71198cb26156 54 }
ht 0:71198cb26156 55 return ImageData;
ht 0:71198cb26156 56 }
ht 0:71198cb26156 57
ht 0:71198cb26156 58
ht 0:71198cb26156 59