LIB for resistiv touchscreen connected to 4 mbed pins Use SPI_TFT lib

Dependents:   touch LCD_Grapher Mandelbrot Tactile ... more

Revision:
1:1745fdf054b5
Parent:
0:d78b00f167cb
--- a/touch_tft.h	Thu Jul 14 21:02:43 2011 +0000
+++ b/touch_tft.h	Thu Jul 14 21:27:19 2011 +0000
@@ -1,3 +1,16 @@
+/* mbed library for touchscreen connected to 4 mbed pins
+ * derive from SPI_TFT lib 
+ * Copyright (c) 2011 Peter Drescher - DC2PD
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
 #ifndef MBED_TOUCH_H
 #define MBED_TOUCH_H
 
@@ -9,9 +22,45 @@
        unsigned short y;
        };
 
+
+/** touchscreen control class, based on SPI_TFT
+ *
+ * Example:
+ * @code
+ * 
+ * #include "mbed.h"
+ * #include "SPI_TFT.h"
+ * #include "Arial12x12.h"
+ * #include "Arial28x28.h"
+ * #include "touch_tft.h"
+ * // the TFT is connected to SPI pin 5-7
+ * // the touch is connected to 19,20,16,17
+ *
+ * touch_tft tt(p19,p20,p16,p17,p5, p6, p7, p8, p15,"TFT"); // x+,x-,y+,y-,mosi, miso, sclk, cs, reset
+ *
+ * int main() {
+ * point p;
+ *
+ *  tt.claim(stdout);        // send stdout to the TFT display
+ *  tt.background(Black);    // set background to black
+ *  tt.foreground(White);    // set chars to white
+ *  tt.cls();                // clear the screen
+ *  tt.set_font((unsigned char*) Arial12x12);  // select the font
+ *  tt.set_orientation(1);
+ *
+ *  tt.calibrate();          // calibrate the touch
+ * while (1) {
+ *       p = tt.get_touch();   // read analog pos.
+ *       if (tt.is_touched(p)) {  // test if touched
+ *           p = tt.to_pixel(p);             // convert to pixel pos
+ *           tt.fillcircle(p.x,p.y,3,Blue);  // print a blue dot on the screen
+ *     }
+ * }
+ * @endcode
+ */
 class touch_tft : public  SPI_TFT{
 public:
-    /** create a TFT with touch object connected to the pins
+    /** create a TFT with touch object connected to the pins:
      *
      * @param pin xp resistiv touch x+
      * @param pin xm resistiv touch x-
@@ -26,6 +75,7 @@
     
     /** calibrate the touch display
      *
+     * User is asked to touch on two points on the screen
      */   
     void calibrate(void);