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.
TSL1401.cpp@0:71198cb26156, 2014-10-05 (annotated)
- Committer:
- ht
- Date:
- Sun Oct 05 04:12:56 2014 +0000
- Revision:
- 0:71198cb26156
This library operates the camera using TSL1401.
Who changed what in which revision?
| User | Revision | Line number | New 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 |