A controller for a 5 wire resistive touch screen
TouchController.hpp@4:ab2e56595286, 2016-09-22 (annotated)
- Committer:
- Kerneels Bezuidenhout
- Date:
- Thu Sep 22 22:38:32 2016 +0200
- Revision:
- 4:ab2e56595286
- Parent:
- 3:710534c5a240
Added settle time to constructor and SetSettle(int settle) function
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 |
4:ab2e56595286 | 27 | TouchController(PinName ur, PinName lr,PinName s, PinName ul, PinName ll, int num_of_samples = 5, int settle = 100); |
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 | |
Generic | 3:710534c5a240 | 34 | float GetX(); |
Generic | 3:710534c5a240 | 35 | float GetY(); |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 36 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 37 | void Calibrate(float t[3][2], float d[3][2]); |
Kerneels Bezuidenhout |
4:ab2e56595286 | 38 | |
Kerneels Bezuidenhout |
4:ab2e56595286 | 39 | void SetSettleTime(int settle); |
Kerneels Bezuidenhout |
4:ab2e56595286 | 40 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 41 | private: |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 42 | DigitalInOut _UR; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 43 | DigitalInOut _LR; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 44 | PinName _S; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 45 | DigitalInOut _UL; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 46 | DigitalInOut _LL; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 47 | |
Kerneels Bezuidenhout |
4:ab2e56595286 | 48 | uint32_t _settle; |
Kerneels Bezuidenhout |
4:ab2e56595286 | 49 | |
Kerneels Bezuidenhout |
2:d0930962a3bb | 50 | static const char DETECT = 1; |
Kerneels Bezuidenhout |
2:d0930962a3bb | 51 | static const char X = 2; |
Kerneels Bezuidenhout |
2:d0930962a3bb | 52 | static const char Y = 3; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 53 | |
Kerneels Bezuidenhout |
2:d0930962a3bb | 54 | float A; |
Kerneels Bezuidenhout |
2:d0930962a3bb | 55 | float B; |
Kerneels Bezuidenhout |
2:d0930962a3bb | 56 | float C; |
Kerneels Bezuidenhout |
2:d0930962a3bb | 57 | float D; |
Kerneels Bezuidenhout |
2:d0930962a3bb | 58 | float E; |
Kerneels Bezuidenhout |
2:d0930962a3bb | 59 | float F; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 60 | |
Kerneels Bezuidenhout |
2:d0930962a3bb | 61 | int n_samples; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 62 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 63 | void ConfigPins(char mode); |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 64 | float MeasureS(); |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 65 | |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 66 | }; |
Kerneels Bezuidenhout |
1:ed8485a78c6a | 67 | #endif |