test program for SPI_STMPE610
Dependencies: SPI_STMPE610 mbed vt100
main.cpp
- Committer:
- Rhyme
- Date:
- 2017-03-13
- Revision:
- 2:0ed1195754b0
- Parent:
- 1:8e4295a5c716
- Child:
- 3:547b48007148
File content as of revision 2:0ed1195754b0:
/* main.cpp to test touch sensor comes with adafruit 2.8" TFT LCD shield * Copyright (c) 2014 Motoo Tanaka @ Design Methodology Lab * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ /* * Note: Since the interrupt siganl of the shield was not connected * to an interrupt pin on my frdm-kl25z, I just used polling mode. */ #include "mbed.h" #include "SPI_STMPE610.h" #if 0 #ifndef TARGET_NECLEO_F411RE #define TARGET_NECLEO_F411RE #endif #endif #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 #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" #elif defined (TARGET_NECLEO_F411RE) #define PIN_MOSI PA_7 #define PIN_MISO PA_6 #define PIN_SCLK PA_5 #define PIN_CS_TFT PB_6 #define PIN_DC_TFT PC_7 #define PIN_BL_TFT PA_8 #define PIN_CS_SD PB_5 #define PIN_CS_TSC PA_9 #define PIN_TSC_INTR PA_8 #define PIN_RESET_TFT PC_13 /* place holder */ #define DEVICE_NAME "F411RE" #elif defined (TARGET_MAX32600MBED) /* I2C */ #define PIN_SCL P2_7 #define PIN_SDA P2_6 /* SPI */ #define PIN_SCLK P2_0 #define PIN_MISO P2_2 #define PIN_MOSI P2_1 #define PIN_CS0 P2_3 /* Interrupt */ #define PIN_INT0 P2_4 #define PIN_INT1 P2_5 #define PIN_INT2 P1_7 #define PIN_INT3 P1_6 #define PIN_INT4 P1_5 #define PIN_INT5 P1_4 /* Analog In */ #define PIN_AN0 AIN_0P #define PIN_AN1 AIN_1P #define PIN_AN2 AIN_2P #define PIN_AN3 AIN_3P #define PIN_AN4 AIN_4P #define PIN_AN5 AIN_5P #define BOARD_NAME "MAX32600MBED" #define DEVICE_NAME "MAX32600MBED" #define PIN_CS_TFT P2_3 // D10 PTD0 #define PIN_DC_TFT P2_4 // D9 PTD5 #define PIN_CS_TSC P2_5 // D8 PTA13 #define PIN_BL_TFT P1_7 // D7 PTC9 #define PIN_CS_SD P1_4 // D4 PTA4 #define PIN_TSC_INTR P5_4 // PTC9 /* place holder */ #define PIN_RESET_TFT P5_5 /// PTB10 /* place holder */ #define PIN_ADC_CH0 AIN_0P // A0 PTB0 #define PIN_ADC_CH1 AIN_2P // A2 PTB2 #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 ; SPI_STMPE610 *tsc ; tsc = new SPI_STMPE610(PIN_MOSI, PIN_MISO, PIN_SCLK, PIN_CS_TSC) ; // tsc->spi_format(8, 1) ; 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) ; 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) ; } }