test program for SPI_STMPE610

Dependencies:   SPI_STMPE610 mbed vt100

Committer:
Rhyme
Date:
Sun Aug 02 13:48:46 2015 +0000
Revision:
1:8e4295a5c716
Parent:
0:bfe34cc0bc72
Child:
2:0ed1195754b0
SPI_STMPE610 updated;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rhyme 0:bfe34cc0bc72 1 /* main.cpp to test touch sensor comes with adafruit 2.8" TFT LCD shield
Rhyme 0:bfe34cc0bc72 2 * Copyright (c) 2014 Motoo Tanaka @ Design Methodology Lab
Rhyme 0:bfe34cc0bc72 3 *
Rhyme 0:bfe34cc0bc72 4 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
Rhyme 0:bfe34cc0bc72 5 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
Rhyme 0:bfe34cc0bc72 6 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
Rhyme 0:bfe34cc0bc72 7 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
Rhyme 0:bfe34cc0bc72 8 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
Rhyme 0:bfe34cc0bc72 9 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
Rhyme 0:bfe34cc0bc72 10 * THE SOFTWARE.
Rhyme 0:bfe34cc0bc72 11 */
Rhyme 0:bfe34cc0bc72 12 /*
Rhyme 0:bfe34cc0bc72 13 * Note: Since the interrupt siganl of the shield was not connected
Rhyme 0:bfe34cc0bc72 14 * to an interrupt pin on my frdm-kl25z, I just used polling mode.
Rhyme 0:bfe34cc0bc72 15 */
Rhyme 0:bfe34cc0bc72 16 #include "mbed.h"
Rhyme 0:bfe34cc0bc72 17 #include "SPI_STMPE610.h"
Rhyme 0:bfe34cc0bc72 18
Rhyme 1:8e4295a5c716 19 #if 0
Rhyme 0:bfe34cc0bc72 20 #define PIN_MOSI PTD2
Rhyme 0:bfe34cc0bc72 21 #define PIN_MISO PTD3
Rhyme 0:bfe34cc0bc72 22 #define PIN_SCLK PTD1
Rhyme 0:bfe34cc0bc72 23 #define PIN_CS_TSC PTA13
Rhyme 0:bfe34cc0bc72 24 #define PIN_TSC_INTR PTC9
Rhyme 1:8e4295a5c716 25 #endif
Rhyme 0:bfe34cc0bc72 26
Rhyme 1:8e4295a5c716 27 #if defined (TARGET_KL25Z)
Rhyme 1:8e4295a5c716 28 #define PIN_MOSI PTD2
Rhyme 1:8e4295a5c716 29 #define PIN_MISO PTD3
Rhyme 1:8e4295a5c716 30 #define PIN_SCLK PTD1
Rhyme 1:8e4295a5c716 31 #define PIN_CS_TFT PTD0
Rhyme 1:8e4295a5c716 32 #define PIN_DC_TFT PTD5
Rhyme 1:8e4295a5c716 33 #define PIN_BL_TFT PTC9
Rhyme 1:8e4295a5c716 34 #define PIN_CS_SD PTA4
Rhyme 1:8e4295a5c716 35 #define PIN_CS_TSC PTA13
Rhyme 1:8e4295a5c716 36 #define PIN_TSC_INTR PTC9
Rhyme 1:8e4295a5c716 37 #define DEVICE_NAME "KL25Z"
Rhyme 1:8e4295a5c716 38
Rhyme 1:8e4295a5c716 39 #elif defined (TARGET_KL46Z)
Rhyme 1:8e4295a5c716 40 #define PIN_MOSI PTD6
Rhyme 1:8e4295a5c716 41 #define PIN_MISO PTD7
Rhyme 1:8e4295a5c716 42 #define PIN_SCLK PTD5
Rhyme 1:8e4295a5c716 43 #define PIN_CS_TFT PTD4
Rhyme 1:8e4295a5c716 44 #define PIN_DC_TFT PTD2
Rhyme 1:8e4295a5c716 45 #define PIN_BL_TFT PTC9
Rhyme 1:8e4295a5c716 46 #define PIN_CS_SD PTA4
Rhyme 1:8e4295a5c716 47 #define PIN_CS_TSC PTA13
Rhyme 1:8e4295a5c716 48 #define PIN_TSC_INTR PTC9
Rhyme 1:8e4295a5c716 49 #define DEVICE_NAME "KL46Z"
Rhyme 1:8e4295a5c716 50
Rhyme 1:8e4295a5c716 51 #elif defined (TARGET_K64F)
Rhyme 1:8e4295a5c716 52 #define PIN_MOSI PTD2
Rhyme 1:8e4295a5c716 53 #define PIN_MISO PTD3
Rhyme 1:8e4295a5c716 54 #define PIN_SCLK PTD1
Rhyme 1:8e4295a5c716 55 #define PIN_CS_TFT PTD0
Rhyme 1:8e4295a5c716 56 #define PIN_DC_TFT PTC4
Rhyme 1:8e4295a5c716 57 #define PIN_BL_TFT PTC3
Rhyme 1:8e4295a5c716 58 #define PIN_CS_SD PTB23
Rhyme 1:8e4295a5c716 59 #define PIN_CS_TSC PTA0
Rhyme 1:8e4295a5c716 60 #define PIN_TSC_INTR PTC3
Rhyme 1:8e4295a5c716 61 #define PIN_RESET_TFT PTB20
Rhyme 1:8e4295a5c716 62 #define PIN_ADC_CH0 PTB2
Rhyme 1:8e4295a5c716 63 #define PIN_ADC_CH1 PTB3
Rhyme 1:8e4295a5c716 64 #define DEVICE_NAME "K64F"
Rhyme 1:8e4295a5c716 65
Rhyme 1:8e4295a5c716 66 #else
Rhyme 1:8e4295a5c716 67 #error TARGET NOT DEFINED
Rhyme 1:8e4295a5c716 68 #endif
Rhyme 1:8e4295a5c716 69
Rhyme 1:8e4295a5c716 70 // SPI_STMPE610 TSC(PIN_MOSI, PIN_MISO, PIN_SCLK, PIN_CS_TSC) ;
Rhyme 1:8e4295a5c716 71
Rhyme 1:8e4295a5c716 72 DigitalOut tft_cs(PIN_CS_TFT) ;
Rhyme 1:8e4295a5c716 73 DigitalOut sd_cs(PIN_CS_SD) ;
Rhyme 1:8e4295a5c716 74 DigitalOut tsc_cs(PIN_CS_TSC) ;
Rhyme 1:8e4295a5c716 75 // DigitalOut tsc_intr(PIN_TSC_INTR) ; // should be input, just for test
Rhyme 0:bfe34cc0bc72 76
Rhyme 0:bfe34cc0bc72 77 int main()
Rhyme 0:bfe34cc0bc72 78 {
Rhyme 0:bfe34cc0bc72 79 uint16_t touched, x, y, z ;
Rhyme 1:8e4295a5c716 80 SPI_STMPE610 *tsc ;
Rhyme 1:8e4295a5c716 81 tsc = new SPI_STMPE610(PIN_MOSI, PIN_MISO, PIN_SCLK, PIN_CS_TSC) ;
Rhyme 1:8e4295a5c716 82 printf("Test SPI STMPE610 (%s:%s)\n\r", DEVICE_NAME, __DATE__) ;
Rhyme 1:8e4295a5c716 83 tft_cs = 1 ;
Rhyme 1:8e4295a5c716 84 sd_cs = 1 ;
Rhyme 1:8e4295a5c716 85 // tsc_intr = 1 ;
Rhyme 1:8e4295a5c716 86 tsc_cs = 0 ;
Rhyme 0:bfe34cc0bc72 87 while (true) {
Rhyme 1:8e4295a5c716 88 // touched = TSC.getRAWPoint(&x, &y, &z) ;
Rhyme 1:8e4295a5c716 89 touched = tsc->getRAWPoint(&x, &y, &z) ;
Rhyme 1:8e4295a5c716 90 // if (touched) {
Rhyme 1:8e4295a5c716 91 if (!((x==0)&&(y==0)&&(z==0))) {
Rhyme 1:8e4295a5c716 92 /*
Rhyme 1:8e4295a5c716 93 x &= 0x7FFF ;
Rhyme 1:8e4295a5c716 94 y &= 0x7FFF ;
Rhyme 1:8e4295a5c716 95 z &= 0x7FFF ;
Rhyme 1:8e4295a5c716 96 */
Rhyme 0:bfe34cc0bc72 97 printf("x = %d, y = %d, z = %d\n\r", x, y, z) ;
Rhyme 0:bfe34cc0bc72 98 }
Rhyme 0:bfe34cc0bc72 99 wait(0.1) ;
Rhyme 0:bfe34cc0bc72 100 }
Rhyme 0:bfe34cc0bc72 101 }