-
-
Notifications
You must be signed in to change notification settings - Fork 187
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #613 from amanaplan/TSC2007
Add support for updated Adafruit 2.4 and 3.5 TFT FeatherWings and HUZZAH32 board
- Loading branch information
Showing
14 changed files
with
348 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
[submodule "lib/freetype"] | ||
path = lib/freetype | ||
url = https://github.com/fvanroie/freetype | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
/* MIT License - Copyright (c) 2019-2022 Francis Van Roie | ||
For full license information read the LICENSE file in the project folder */ | ||
|
||
#ifndef HASP_TSC2007_TOUCH_DRIVER_H | ||
#define HASP_TSC2007_TOUCH_DRIVER_H | ||
|
||
#if defined(ARDUINO) && !defined(HASP_USE_LGFX_TOUCH) | ||
#include <Arduino.h> | ||
#include "ArduinoLog.h" | ||
#include "hasp_conf.h" | ||
|
||
#include <Wire.h> | ||
#include "Adafruit_TSC2007.h" | ||
|
||
#include "touch_driver.h" // base class | ||
#include "touch_helper.h" // i2c scanner | ||
|
||
#include "hasp_debug.h" | ||
|
||
#include "../../hasp/hasp.h" // for hasp_sleep_state | ||
extern uint8_t hasp_sleep_state; | ||
|
||
// This is calibration data for the raw touch data to the screen coordinates | ||
#define TS_MINX 150 | ||
#define TS_MINY 130 | ||
#define TS_MAXX 3800 | ||
#define TS_MAXY 4000 | ||
#define TS_MIN_PRESSURE 100 | ||
|
||
namespace dev { | ||
|
||
class TouchTsc2007 : public BaseTouch { | ||
public: | ||
Adafruit_TSC2007* ts; | ||
|
||
IRAM_ATTR bool read(lv_indev_drv_t* indev_driver, lv_indev_data_t* data) | ||
{ | ||
uint16_t x, y, z1, z2; | ||
if (ts->read_touch(&x, &y, &z1, &z2) && (z1 > TS_MIN_PRESSURE)) { | ||
if(hasp_sleep_state != HASP_SLEEP_OFF) hasp_update_sleep_state(); // update Idle | ||
|
||
data->state = LV_INDEV_STATE_PR; | ||
hasp_set_sleep_offset(0); // Reset the offset | ||
|
||
// Scale from ~0->4000 to tft.width using the calibration #'s | ||
x = map(x, TS_MINX, TS_MAXX, 0, TFT_WIDTH); | ||
y = map(y, TS_MINY, TS_MAXY, 0, TFT_HEIGHT); | ||
|
||
// LOG_INFO(TAG_DRVR, F("Touch point: %i, %i"), x, y); | ||
|
||
#if defined(TOUCH_SWAP_XY) && (TOUCH_SWAP_XY) | ||
data->point.x = y; | ||
data->point.y = x; | ||
#else | ||
data->point.x = x; | ||
data->point.y = y; | ||
#endif | ||
|
||
#if defined(TOUCH_INVERSE_X) && (TOUCH_INVERSE_X) | ||
data->point.x = _width_max - x; | ||
#endif | ||
#if defined(TOUCH_INVERSE_Y) && (TOUCH_INVERSE_Y) | ||
data->point.y = _height_max - y; | ||
#endif | ||
|
||
} else { | ||
data->state = LV_INDEV_STATE_REL; | ||
} | ||
|
||
/*Return `false` because we are not buffering and no more data to read*/ | ||
return false; | ||
} | ||
|
||
void init(int w, int h) | ||
{ | ||
_height_max = h - 1; | ||
_width_max = w - 1; | ||
|
||
// tsc2007_touch = new Adafruit_TSC2007(); | ||
LOG_VERBOSE(TAG_DRVR, F("%s %d"), __FILE__, __LINE__); | ||
|
||
ts = new Adafruit_TSC2007(); | ||
|
||
// Startup sequence CONTROLLER parT | ||
if (!ts->begin()) { | ||
LOG_INFO(TAG_DRVR, F("Failed to find Adafruit TSC2007 chip")); | ||
while (1) { delay(10); } | ||
} | ||
LOG_INFO(TAG_DRVR, F("Found Adafruit TSC2007 chip")); | ||
} | ||
|
||
private: | ||
uint16_t _width_max; | ||
uint16_t _height_max; | ||
}; | ||
|
||
} // namespace dev | ||
|
||
using dev::TouchTsc2007; | ||
dev::TouchTsc2007 haspTouch; | ||
|
||
#endif // ARDUINO | ||
|
||
#endif // HASP_TSC2007_TOUCH_DRIVER_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
;***************************************************; | ||
; HUZZAH32 ESP32 with Featherwing TFT 2.4" V2 ; | ||
; - HUZZAH32 esp32 board ; | ||
; - ili9341 TFT Featherwing 2.4" V2 ; | ||
; - TSC2007 touch controller ; | ||
;***************************************************; | ||
|
||
[env:huzzah32-featherwing-24-v2] | ||
extends = arduino_esp32_v2, flash_4mb | ||
board = featheresp32 | ||
|
||
build_flags = | ||
-D HASP_MODEL="Adafruit HUZZAH32 ESP32 Featherwing 2.4 V2" | ||
${arduino_esp32_v2.build_flags} | ||
${esp32.no_ps_ram} | ||
|
||
;region -- TFT_eSPI build options ------------------------ | ||
${lcd.featherwing-24-v2} | ||
-D TFT_MISO=19 | ||
-D TFT_MOSI=18 | ||
-D TFT_SCLK=5 | ||
-D TFT_DC=33 | ||
-D TFT_CS=15 | ||
-D TFT_RST=-1 ; RST | ||
-D TFT_BCKL=21 ; Solder the LITE pad to a PWM enabled pin of the ESP, like GPIO 21 | ||
;endregion | ||
|
||
lib_deps = | ||
${arduino_esp32_v2.lib_deps} | ||
${tft_espi.lib_deps} | ||
${tsc2007.lib_deps} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
;***************************************************; | ||
; HUZZAH32 ESP32 with Featherwing TFT 3.5" V2 ; | ||
; - HUZZAH32 esp32 board ; | ||
; - HX8357D TFT Featherwing 3.5" V2 ; | ||
; - TSC2007 touch controller ; | ||
;***************************************************; | ||
|
||
[env:huzzah32-featherwing-35-v2] | ||
extends = arduino_esp32_v2, flash_4mb | ||
board = featheresp32 | ||
|
||
build_flags = | ||
-D HASP_MODEL="Adafruit HUZZAH32 ESP32 Featherwing 3.5 V2" | ||
${arduino_esp32_v2.build_flags} | ||
${esp32.no_ps_ram} | ||
|
||
-D LV_INDEV_DEF_READ_PERIOD=30 | ||
;region -- TFT_eSPI build options ------------------------ | ||
${lcd.featherwing-35-v2} | ||
-D TFT_MISO=19 | ||
-D TFT_MOSI=18 | ||
-D TFT_SCLK=5 | ||
-D TFT_DC=10 | ||
-D TFT_CS=9 | ||
-D TFT_RST=-1 ; RST | ||
-D TFT_BCKL=21 ; Solder the LITE pad to a PWM enabled pin of the ESP, like GPIO 21 | ||
;endregion | ||
|
||
lib_deps = | ||
${arduino_esp32_v2.lib_deps} | ||
${tft_espi.lib_deps} | ||
${tsc2007.lib_deps} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
;***************************************************; | ||
; HUZZAH32 V2 ESP32 with Featherwing TFT 2.4" V2 ; | ||
; - HUZZAH32 V2 w/ 2 MB PSRAM board ; | ||
; - ili9341 TFT Featherwing 2.4" V2 ; | ||
; - TSC2007 touch controller ; | ||
;***************************************************; | ||
|
||
[env:huzzah32-featherwing-24-v2] | ||
extends = arduino_esp32_v2, flash_4mb | ||
board = featheresp32 | ||
|
||
build_flags = | ||
-D HASP_MODEL="Adafruit HUZZAH32 V2 ESP32 Featherwing 2.4 V2" | ||
${arduino_esp32_v2.build_flags} | ||
${esp32.ps_ram} | ||
|
||
;region -- TFT_eSPI build options ------------------------ | ||
${lcd.featherwing-24-v2} | ||
-D TFT_MISO=19 | ||
-D TFT_MOSI=18 | ||
-D TFT_SCLK=5 | ||
-D TFT_DC=33 | ||
-D TFT_CS=15 | ||
-D TFT_RST=-1 ; RST | ||
-D TFT_BCKL=21 ; Solder the LITE pad to a PWM enabled pin of the ESP, like GPIO 21 | ||
;endregion | ||
|
||
lib_deps = | ||
${arduino_esp32_v2.lib_deps} | ||
${tft_espi.lib_deps} | ||
${tsc2007.lib_deps} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
;***************************************************; | ||
; HUZZAH32 V2 ESP32 with Featherwing TFT 3.5" V2 ; | ||
; - HUZZAH32 V2 w/ 2 MB PSRAM board ; | ||
; - HX8357D TFT Featherwing 3.5" V2 ; | ||
; - TSC2007 touch controller ; | ||
;***************************************************; | ||
|
||
[env:huzzah32-v2-featherwing-35] | ||
extends = arduino_esp32_v2, flash_4mb | ||
board = featheresp32 | ||
|
||
build_flags = | ||
-D HASP_MODEL="Adafruit HUZZAH32 V2 ESP32 Featherwing 3.5 V2" | ||
${arduino_esp32_v2.build_flags} | ||
${esp32.ps_ram} | ||
-D LV_INDEV_DEF_READ_PERIOD=30 | ||
;region -- TFT_eSPI build options ------------------------ | ||
${lcd.featherwing-35-v2} | ||
-D TFT_MISO=19 | ||
-D TFT_MOSI=18 | ||
-D TFT_SCLK=5 | ||
-D TFT_DC=10 | ||
-D TFT_CS=9 | ||
-D TFT_RST=-1 ; RST | ||
-D TFT_BCKL=21 ; Solder the LITE pad to a PWM enabled pin of the ESP, like GPIO 21 | ||
;endregion | ||
|
||
lib_deps = | ||
${arduino_esp32_v2.lib_deps} | ||
${tft_espi.lib_deps} | ||
${tsc2007.lib_deps} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
;***************************************************; | ||
; Adafruit ESP32-S2 with Featherwing TFT 2.4" V2 ; | ||
; - ESP32-S2 w/ 2 MB PSRAM board ; | ||
; - ili9341 TFT Featherwing 2.4" V2 ; | ||
; - TSC2007 touch controller ; | ||
;***************************************************; | ||
|
||
[env:esp32s2-featherwing-24-v2] | ||
extends = esp32s2_4mb_v2 | ||
board = esp32s2 | ||
|
||
build_flags = | ||
${env.build_flags} | ||
${esp32s2.build_flags} | ||
${esp32.ps_ram} | ||
-D HASP_MODEL="Adafruit ESP32-S2 Featherwing 2.4 V2" | ||
-D USE_HSPI_PORT | ||
|
||
;region -- TFT_eSPI build options ------------------------ | ||
${lcd.featherwing-24-v2} | ||
-D LGFX_USE_V1=1 | ||
-D TFT_MISO=19 | ||
-D TFT_MOSI=18 | ||
-D TFT_SCLK=5 | ||
-D TFT_DC=33 | ||
-D TFT_CS=15 | ||
-D TFT_RST=-1 ; RST | ||
-D TFT_BCKL=21 ; Solder the LITE pad to a PWM enabled pin of the ESP, like GPIO 21 | ||
;endregion | ||
|
||
lib_deps = | ||
${env.lib_deps} | ||
${esp32s2.lib_deps} | ||
${lovyangfx.lib_deps} | ||
${tsc2007.lib_deps} | ||
|
||
lib_ignore = | ||
${env.lib_ignore} | ||
${esp32s2.lib_ignore} | ||
TFT_eSPI |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
;***************************************************; | ||
; Adafruit ESP32-S2 with Featherwing TFT 3.5" V2 ; | ||
; - ESP32-S2 w/ 2 MB PSRAM board ; | ||
; - HX8357D TFT Featherwing 3.5" V2 ; | ||
; - TSC2007 touch controller ; | ||
;***************************************************; | ||
|
||
[env:esp32s2-featherwing-24-v2] | ||
extends = esp32s2_4mb_v2 | ||
board = esp32s2 | ||
|
||
build_flags = | ||
${env.build_flags} | ||
${esp32s2.build_flags} | ||
${esp32.ps_ram} | ||
-D HASP_MODEL="Adafruit ESP32-S2 Featherwing 3.5 V2" | ||
-D USE_HSPI_PORT | ||
|
||
;region -- TFT_eSPI build options ------------------------ | ||
${lcd.featherwing-35-v2} | ||
-D LGFX_USE_V1=1 | ||
-D TFT_MISO=19 | ||
-D TFT_MOSI=18 | ||
-D TFT_SCLK=5 | ||
-D TFT_DC=10 | ||
-D TFT_CS=9 | ||
-D TFT_RST=-1 ; RST | ||
-D TFT_BCKL=21 ; Solder the LITE pad to a PWM enabled pin of the ESP, like GPIO 21 | ||
;endregion | ||
|
||
lib_deps = | ||
${env.lib_deps} | ||
${esp32s2.lib_deps} | ||
${tsc2007.lib_deps} | ||
${lovyangfx.lib_deps} | ||
|
||
lib_ignore = | ||
${env.lib_ignore} | ||
${esp32s2.lib_ignore} | ||
TFT_eSPI |
Oops, something went wrong.