test program for SPI_STMPE610
Dependencies: SPI_STMPE610 mbed vt100
Diff: main.cpp
- Revision:
- 1:8e4295a5c716
- Parent:
- 0:bfe34cc0bc72
- Child:
- 2:0ed1195754b0
--- a/main.cpp Sat Nov 08 07:13:38 2014 +0000 +++ b/main.cpp Sun Aug 02 13:48:46 2015 +0000 @@ -16,21 +16,84 @@ #include "mbed.h" #include "SPI_STMPE610.h" +#if 0 #define PIN_MOSI PTD2 #define PIN_MISO PTD3 #define PIN_SCLK PTD1 #define PIN_CS_TSC PTA13 #define PIN_TSC_INTR PTC9 +#endif -SPI_STMPE610 TSC(PIN_MOSI, PIN_MISO, PIN_SCLK, PIN_CS_TSC) ; +#if defined (TARGET_KL25Z) +#define PIN_MOSI PTD2 +#define PIN_MISO PTD3 +#define PIN_SCLK PTD1 +#define PIN_CS_TFT PTD0 +#define PIN_DC_TFT PTD5 +#define PIN_BL_TFT PTC9 +#define PIN_CS_SD PTA4 +#define PIN_CS_TSC PTA13 +#define PIN_TSC_INTR PTC9 +#define DEVICE_NAME "KL25Z" + +#elif defined (TARGET_KL46Z) +#define PIN_MOSI PTD6 +#define PIN_MISO PTD7 +#define PIN_SCLK PTD5 +#define PIN_CS_TFT PTD4 +#define PIN_DC_TFT PTD2 +#define PIN_BL_TFT PTC9 +#define PIN_CS_SD PTA4 +#define PIN_CS_TSC PTA13 +#define PIN_TSC_INTR PTC9 +#define DEVICE_NAME "KL46Z" + +#elif defined (TARGET_K64F) +#define PIN_MOSI PTD2 +#define PIN_MISO PTD3 +#define PIN_SCLK PTD1 +#define PIN_CS_TFT PTD0 +#define PIN_DC_TFT PTC4 +#define PIN_BL_TFT PTC3 +#define PIN_CS_SD PTB23 +#define PIN_CS_TSC PTA0 +#define PIN_TSC_INTR PTC3 +#define PIN_RESET_TFT PTB20 +#define PIN_ADC_CH0 PTB2 +#define PIN_ADC_CH1 PTB3 +#define DEVICE_NAME "K64F" + +#else + #error TARGET NOT DEFINED +#endif + +// SPI_STMPE610 TSC(PIN_MOSI, PIN_MISO, PIN_SCLK, PIN_CS_TSC) ; + +DigitalOut tft_cs(PIN_CS_TFT) ; +DigitalOut sd_cs(PIN_CS_SD) ; +DigitalOut tsc_cs(PIN_CS_TSC) ; +// DigitalOut tsc_intr(PIN_TSC_INTR) ; // should be input, just for test int main() { uint16_t touched, x, y, z ; - printf("Test SPI STMPE610\n\r") ; + SPI_STMPE610 *tsc ; + tsc = new SPI_STMPE610(PIN_MOSI, PIN_MISO, PIN_SCLK, PIN_CS_TSC) ; + printf("Test SPI STMPE610 (%s:%s)\n\r", DEVICE_NAME, __DATE__) ; + tft_cs = 1 ; + sd_cs = 1 ; +// tsc_intr = 1 ; + tsc_cs = 0 ; while (true) { - touched = TSC.getRAWPoint(&x, &y, &z) ; - if (touched) { +// touched = TSC.getRAWPoint(&x, &y, &z) ; + touched = tsc->getRAWPoint(&x, &y, &z) ; +// if (touched) { + if (!((x==0)&&(y==0)&&(z==0))) { + /* + x &= 0x7FFF ; + y &= 0x7FFF ; + z &= 0x7FFF ; + */ printf("x = %d, y = %d, z = %d\n\r", x, y, z) ; } wait(0.1) ;