A controller for a 5 wire resistive touch screen
TouchController.hpp@2:d0930962a3bb, 2016-09-16 (annotated)
- Committer:
- Kerneels Bezuidenhout
- Date:
- Fri Sep 16 04:36:15 2016 +0200
- Revision:
- 2:d0930962a3bb
- Parent:
- 1:ed8485a78c6a
- Child:
- 3:710534c5a240
Initial Version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Kerneels Bezuidenhout |
1:ed8485a78c6a | 1 | #ifndef TOUCHCONTROLLER_H |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 2 | #define TOUCHCONTROLLER_H |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 3 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 4 | // Macros for calibration function |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 5 | #define X_T1 t[0][0] |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 6 | #define X_T2 t[1][0] |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 7 | #define X_T3 t[2][0] |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 8 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 9 | #define Y_T1 t[0][1] |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 10 | #define Y_T2 t[1][1] |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 11 | #define Y_T3 t[2][1] |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 12 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 13 | #define X_D1 d[0][0] |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 14 | #define X_D2 d[1][0] |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 15 | #define X_D3 d[2][0] |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 16 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 17 | #define Y_D1 d[0][1] |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 18 | #define Y_D2 d[1][1] |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 19 | #define Y_D3 d[2][1] |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 20 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 21 | //Includes |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 22 | #include "mbed.h" |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 23 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 24 | class TouchController |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 25 | { |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 26 | public: |
Kerneels Bezuidenhout |
2:d0930962a3bb | 27 | TouchController(PinName ur, PinName lr,PinName s, PinName ul, PinName ll, int num_of_samples = 5); |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 28 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 29 | int TouchDetected(); |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 30 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 31 | float RawX(); |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 32 | float RawY(); |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 33 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 34 | float X(); |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 35 | float Y(); |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 36 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 37 | void Calibrate(float t[3][2], float d[3][2]); |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 38 | private: |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 39 | DigitalInOut _UR; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 40 | DigitalInOut _LR; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 41 | PinName _S; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 42 | DigitalInOut _UL; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 43 | DigitalInOut _LL; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 44 | |
Kerneels Bezuidenhout |
2:d0930962a3bb | 45 | static const char DETECT = 1; |
Kerneels Bezuidenhout |
2:d0930962a3bb | 46 | static const char X = 2; |
Kerneels Bezuidenhout |
2:d0930962a3bb | 47 | static const char Y = 3; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 48 | |
Kerneels Bezuidenhout |
2:d0930962a3bb | 49 | float A; |
Kerneels Bezuidenhout |
2:d0930962a3bb | 50 | float B; |
Kerneels Bezuidenhout |
2:d0930962a3bb | 51 | float C; |
Kerneels Bezuidenhout |
2:d0930962a3bb | 52 | float D; |
Kerneels Bezuidenhout |
2:d0930962a3bb | 53 | float E; |
Kerneels Bezuidenhout |
2:d0930962a3bb | 54 | float F; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 55 | |
Kerneels Bezuidenhout |
2:d0930962a3bb | 56 | int n_samples; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 57 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 58 | void ConfigPins(char mode); |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 59 | float MeasureS(); |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 60 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 61 | }; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 62 | #endif |