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.
TouchPanel.h@0:55a3f0eda74d, 2013-09-14 (annotated)
- Committer:
- vcraciun
- Date:
- Sat Sep 14 11:40:09 2013 +0000
- Revision:
- 0:55a3f0eda74d
- Child:
- 1:e7ae315a1ceb
SSD1289 TouchScreen Library based on Todor Todorov tftlcd library
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vcraciun | 0:55a3f0eda74d | 1 | #ifndef __TOUCH_PANEL__ |
vcraciun | 0:55a3f0eda74d | 2 | #define __TOUCH_PANEL__ |
vcraciun | 0:55a3f0eda74d | 3 | |
vcraciun | 0:55a3f0eda74d | 4 | #include "mbed.h" |
vcraciun | 0:55a3f0eda74d | 5 | #include "ssd1289.h" |
vcraciun | 0:55a3f0eda74d | 6 | |
vcraciun | 0:55a3f0eda74d | 7 | #ifdef __cplusplus |
vcraciun | 0:55a3f0eda74d | 8 | extern "C" { |
vcraciun | 0:55a3f0eda74d | 9 | #endif |
vcraciun | 0:55a3f0eda74d | 10 | |
vcraciun | 0:55a3f0eda74d | 11 | typedef struct POINT |
vcraciun | 0:55a3f0eda74d | 12 | { |
vcraciun | 0:55a3f0eda74d | 13 | uint16_t x; |
vcraciun | 0:55a3f0eda74d | 14 | uint16_t y; |
vcraciun | 0:55a3f0eda74d | 15 | }Coordinate; |
vcraciun | 0:55a3f0eda74d | 16 | |
vcraciun | 0:55a3f0eda74d | 17 | typedef struct Matrix |
vcraciun | 0:55a3f0eda74d | 18 | { |
vcraciun | 0:55a3f0eda74d | 19 | long double An,Bn,Cn,Dn,En,Fn,Divider; |
vcraciun | 0:55a3f0eda74d | 20 | } Matrix ; |
vcraciun | 0:55a3f0eda74d | 21 | |
vcraciun | 0:55a3f0eda74d | 22 | /* Private variables ---------------------------------------------------------*/ |
vcraciun | 0:55a3f0eda74d | 23 | extern Coordinate ScreenSample[3]; |
vcraciun | 0:55a3f0eda74d | 24 | extern Coordinate DisplaySample[3]; |
vcraciun | 0:55a3f0eda74d | 25 | extern Matrix matrix ; |
vcraciun | 0:55a3f0eda74d | 26 | extern Coordinate display ; |
vcraciun | 0:55a3f0eda74d | 27 | |
vcraciun | 0:55a3f0eda74d | 28 | /* Private define ------------------------------------------------------------*/ |
vcraciun | 0:55a3f0eda74d | 29 | |
vcraciun | 0:55a3f0eda74d | 30 | #define CHX 0x90 |
vcraciun | 0:55a3f0eda74d | 31 | #define CHY 0xD0 |
vcraciun | 0:55a3f0eda74d | 32 | |
vcraciun | 0:55a3f0eda74d | 33 | #define THRESHOLD 2 |
vcraciun | 0:55a3f0eda74d | 34 | |
vcraciun | 0:55a3f0eda74d | 35 | class Touch |
vcraciun | 0:55a3f0eda74d | 36 | { |
vcraciun | 0:55a3f0eda74d | 37 | public: |
vcraciun | 0:55a3f0eda74d | 38 | Touch(SSD1289_LCD *lcd,SPI *spi, DigitalOut *cs, DigitalIn *irq); |
vcraciun | 0:55a3f0eda74d | 39 | void InitializeTouch(); |
vcraciun | 0:55a3f0eda74d | 40 | int RD_AD(void); |
vcraciun | 0:55a3f0eda74d | 41 | int Read_X(void); |
vcraciun | 0:55a3f0eda74d | 42 | int Read_Y(void); |
vcraciun | 0:55a3f0eda74d | 43 | void TP_GetAdXY(int *x,int *y); |
vcraciun | 0:55a3f0eda74d | 44 | void TP_DrawPoint(int Xpos,int Ypos); |
vcraciun | 0:55a3f0eda74d | 45 | void DrawCross(int Xpos,int Ypos); |
vcraciun | 0:55a3f0eda74d | 46 | Coordinate *Read_Ads7846(void); |
vcraciun | 0:55a3f0eda74d | 47 | bool setCalibrationMatrix( Coordinate * displayPtr, Coordinate * screenPtr, Matrix * matrixPtr); |
vcraciun | 0:55a3f0eda74d | 48 | void TouchPanel_Calibrate(void); |
vcraciun | 0:55a3f0eda74d | 49 | |
vcraciun | 0:55a3f0eda74d | 50 | |
vcraciun | 0:55a3f0eda74d | 51 | private: |
vcraciun | 0:55a3f0eda74d | 52 | SPI *_spi; |
vcraciun | 0:55a3f0eda74d | 53 | DigitalOut *_cs; |
vcraciun | 0:55a3f0eda74d | 54 | DigitalIn *_irq; |
vcraciun | 0:55a3f0eda74d | 55 | SSD1289_LCD *_lcd; |
vcraciun | 0:55a3f0eda74d | 56 | }; |
vcraciun | 0:55a3f0eda74d | 57 | |
vcraciun | 0:55a3f0eda74d | 58 | |
vcraciun | 0:55a3f0eda74d | 59 | #ifdef __cplusplus |
vcraciun | 0:55a3f0eda74d | 60 | } |
vcraciun | 0:55a3f0eda74d | 61 | #endif |
vcraciun | 0:55a3f0eda74d | 62 | |
vcraciun | 0:55a3f0eda74d | 63 | |
vcraciun | 0:55a3f0eda74d | 64 | #endif |