Source file: /~heha/Mikrocontroller/Displays/utft/Kalender.zip/ILI9341/TouchScreen.h

// Direkte Analogwertabfrage beim "TFT-Shield 2.8" R3"
// (kann sein, dass das falsch ist und die vom LMS241GF31 stimmt)
// Signal	Arduino	ATmegaX8P	Funkt.	Ruhe	X mess.	Y mess.
// X-	LCD_WR	A1	24	PC1	ADC1	Z	L	Z+ADC
// Y-	LCD_D6	~6	10	PD6	-	L	Z	L
// X+	LCD_D7	 7	11	PD7	PCINT23	Hi-Z	H	Z
// Y+	LCD_RS	A2	25	PC2	ADC2	L	Z+ADC	H
// X+ = Elektrode rechts, Y+ = Elektrode unten

// 161118: Beim Display „http://www.mcufriend.com 2.4″ tftlcd shield(9341)“ (Michael Schulze) (TouchScreen4.cpp)
// X-	LCD_D7	 7	11	PD7	PCINT23	Hi-Z	L	Z
// Y-	LCD_RS	A2	25	PC2	ADC2	L	Z+ADC	L
// X+	LCD_WR	A1	24	PC1	ADC1	Z	H	Z+ADC
// Y+	LCD_D6	~6	10	PD6	-	L	Z	H

// 160810: Beim „2.4″TFT LCD SHIELD“ ist es ganz anders verteilt:
// X-	LCD_D0	 8	14	PB0	PCINT0	Hi-Z	L	Z
// Y-	LCD_CS	A3	26	PC3	ADC3	L	Z+ADC	L
// X+	LCD_RS	A2	25	PC2	ADC2	Z	H	Z+ADC
// Y+	LCD_D1	~9	15	PB1	PCINT1	L	Z	H
// Ungünstig erscheint hier, dass CS beteiligt ist.

// 160924: Beim Display „LMS241GF31“ ist es so ähnlich wie oben aus
// X-	LCD_D7	 7	11	PD7	PCINT23	Hi-Z	L	Z
// Y-	LCD_RS	A2	25	PC2	ADC2	L	Z+ADC	L
// X+	LCD_WR	A1	24	PC1	ADC1	Z	H	Z+ADC
// Y+	LCD_D6	~6	10	PD6	-	L	Z	H

// Die Ausrichtung des LCDs ist stets in „natürlicher“ Form:
// Hochkant mit den Flachkabeln unten. Für Handys eben.
#pragma once
#include <stdint.h>

class TouchScreen {
public:
 void Init();
 bool isTouching();
 bool wait(int ms);	// -1 = bis Touch, -2 = bis sleep oder Touch
 uint16_t readTouch(uint8_t b);
 enum{
#ifdef SHIELD_ITDB02	// Frank Philippczyks erstes Shield mit 75 mm Diagonale
// TSC2046 ~ ADS7843
  TOUCH_X=0xD0,		// Codes für den ADS7843	
  TOUCH_Y=0x90,
#else			// Alle anderen Boards haben keinen Chip
  TOUCH_X,
  TOUCH_Y,
#endif
  TOUCH_B=10,	// Bits des vzl. A/D-Wandlers (Wertebereich hier 0..1023)
 };
};
Detected encoding: UTF-80