Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
417 commits
Select commit Hold shift + click to select a range
1ef0759
fixeS
NellowTCS Apr 19, 2025
9f46640
a
NellowTCS Apr 19, 2025
4ca9fdb
b
NellowTCS Apr 19, 2025
e1ddc1f
c
NellowTCS Apr 19, 2025
98541ac
d
NellowTCS Apr 19, 2025
75b25a8
e
NellowTCS Apr 19, 2025
5c84700
f
NellowTCS Apr 19, 2025
5724da2
g
NellowTCS Apr 19, 2025
ff081b9
h
NellowTCS Apr 19, 2025
6151d79
i
NellowTCS Apr 19, 2025
1d77153
j
NellowTCS Apr 21, 2025
58921f0
k
NellowTCS Apr 21, 2025
c6a287c
l
NellowTCS Apr 22, 2025
2434a85
m
NellowTCS Apr 22, 2025
1d9f3ef
n
NellowTCS Apr 22, 2025
b96aec6
o
NellowTCS Apr 23, 2025
53e54b1
p
NellowTCS Apr 24, 2025
90c1fdb
q
NellowTCS Apr 24, 2025
6620ef0
r
NellowTCS Apr 24, 2025
cfcca9f
s
NellowTCS Apr 24, 2025
d254e99
t
NellowTCS Apr 25, 2025
f874c62
u
NellowTCS Apr 25, 2025
5bd07ab
v
NellowTCS Apr 25, 2025
9f9e8fd
w
NellowTCS Apr 25, 2025
9e5cec2
x
NellowTCS Apr 27, 2025
6d58066
y
NellowTCS Apr 28, 2025
ad2b8f3
z
NellowTCS Apr 28, 2025
d552abe
z
NellowTCS Apr 28, 2025
dd92c7d
z
NellowTCS Apr 28, 2025
6c2d6d9
A
NellowTCS May 2, 2025
4addb41
B
NellowTCS May 2, 2025
99d1ffd
C
NellowTCS May 2, 2025
409571e
D
NellowTCS May 2, 2025
7ac8878
E
NellowTCS May 2, 2025
e951fd2
F
NellowTCS May 2, 2025
f495848
G
NellowTCS May 3, 2025
8fa6db8
H
NellowTCS May 3, 2025
fc4a4ea
I
NellowTCS May 3, 2025
28bee45
J
NellowTCS May 3, 2025
9aa784b
K
NellowTCS May 3, 2025
0bc8b3e
L
NellowTCS May 3, 2025
1844df0
M
NellowTCS May 5, 2025
8302c80
N
NellowTCS May 5, 2025
1f89d9a
O
NellowTCS May 5, 2025
11b0693
P
NellowTCS May 5, 2025
7bdb426
Q
NellowTCS May 5, 2025
0bcc932
R
NellowTCS May 6, 2025
57896cb
Merge branch 'ByteWelder:main' into main
NellowTCS May 6, 2025
08dbeb2
S
NellowTCS May 6, 2025
0d0a0e6
T
NellowTCS May 6, 2025
1883f72
U
NellowTCS May 6, 2025
a79b119
V
NellowTCS May 7, 2025
3e83fc2
W
NellowTCS May 7, 2025
815bcee
X
NellowTCS May 7, 2025
48bd6a6
Y
NellowTCS May 14, 2025
21f3fb9
Z
NellowTCS May 22, 2025
9ffd797
Merge branch 'ByteWelder:main' into main
NellowTCS May 25, 2025
8c9a5d0
Merge branch 'ByteWelder:main' into main
NellowTCS May 25, 2025
4994c95
Merge branch 'ByteWelder:main' into main
NellowTCS May 30, 2025
be28fe8
Merge branch 'ByteWelder:main' into main
NellowTCS Jun 8, 2025
1ca8535
Merge branch 'ByteWelder:main' into main
NellowTCS Jun 8, 2025
c14f6b4
Create Tactiligotchi.h
NellowTCS Jun 8, 2025
d3d69e2
Create TactiligotchiUI.cpp
NellowTCS Jun 8, 2025
b8fcc08
Create TactiligotchiMiniGames.cpp
NellowTCS Jun 8, 2025
d61a2db
Merge branch 'ByteWelder:main' into main
NellowTCS Jun 9, 2025
5464292
Update and rename TactiligotchiUI.cpp to Tactiligotchi.cpp
NellowTCS Jun 9, 2025
d87e50a
Update Main.cpp
NellowTCS Jun 9, 2025
901f322
Update Tactiligotchi.cpp
NellowTCS Jun 9, 2025
7c80d26
Update Tactiligotchi.h
NellowTCS Jun 9, 2025
8b2f688
Update Tactiligotchi.h
NellowTCS Jun 9, 2025
352daf3
Update CMakeLists.txt
NellowTCS Jun 9, 2025
b7d91ea
Update Tactiligotchi.h
NellowTCS Jun 9, 2025
d140615
Merge branch 'ByteWelder:main' into main
NellowTCS Jun 10, 2025
8afa24a
Update Tactiligotchi.cpp
NellowTCS Jun 11, 2025
f1b31e0
Update TactiligotchiMiniGames.cpp
NellowTCS Jun 11, 2025
ddff8aa
Update Tactiligotchi.cpp
NellowTCS Jun 11, 2025
d4424b7
Update TactiligotchiMiniGames.cpp
NellowTCS Jun 11, 2025
b89e4c3
cleanup
NellowTCS Jun 11, 2025
5fa2148
Update Tactiligotchi.cpp
NellowTCS Jun 11, 2025
a3da67c
Create TactiligotchiMiniGames.h
NellowTCS Jun 11, 2025
bb971a3
Update TactiligotchiMiniGames.cpp
NellowTCS Jun 11, 2025
e2a13fd
Create PatternGame.h
NellowTCS Jun 11, 2025
c446d7c
Create PatternGame.cpp
NellowTCS Jun 11, 2025
3f65ac2
typo :/
NellowTCS Jun 11, 2025
69557a0
Update Tactiligotchi.cpp
NellowTCS Jun 11, 2025
c26a0f5
Update Tactiligotchi.h
NellowTCS Jun 11, 2025
c961f10
Update Tactiligotchi.cpp
NellowTCS Jun 11, 2025
4277e91
Update PatternGame.cpp
NellowTCS Jun 11, 2025
f578b4a
Update Tactiligotchi.h
NellowTCS Jun 11, 2025
d10b1c8
Update Tactiligotchi.h
NellowTCS Jun 11, 2025
ff21cbe
Update TactiligotchiMiniGames.cpp
NellowTCS Jun 11, 2025
0cf164f
Update Tactiligotchi.cpp
NellowTCS Jun 11, 2025
b5fff7a
Update PatternGame.cpp
NellowTCS Jun 11, 2025
02fcece
Update PatternGame.cpp
NellowTCS Jun 11, 2025
c5ba3ec
Update Tactiligotchi.cpp
NellowTCS Jun 11, 2025
98f58b3
Update Tactiligotchi.cpp
NellowTCS Jun 11, 2025
9a4c014
Update PatternGame.cpp
NellowTCS Jun 11, 2025
4441eca
Update Tactiligotchi.cpp
NellowTCS Jun 11, 2025
45b8fc8
Update Tactiligotchi.h
NellowTCS Jun 11, 2025
bb845ba
Update Tactiligotchi.cpp
NellowTCS Jun 11, 2025
d67b163
Update Tactiligotchi.cpp
NellowTCS Jun 12, 2025
03198f6
Update Tactiligotchi.h
NellowTCS Jun 12, 2025
f2209dc
Update CMakeLists.txt
NellowTCS Jun 12, 2025
0653dc2
Update Tactiligotchi.cpp
NellowTCS Jun 15, 2025
f035131
Update Tactiligotchi.cpp
NellowTCS Jun 15, 2025
dbfecb2
Update PatternGame.cpp
NellowTCS Jun 15, 2025
bee1f4f
Update PatternGame.cpp
NellowTCS Jun 15, 2025
468a417
Update PatternGame.cpp
NellowTCS Jun 15, 2025
c792e1e
Update Tactiligotchi.cpp
NellowTCS Jun 15, 2025
b8c7f56
Update Tactiligotchi.cpp
NellowTCS Jun 15, 2025
f88c339
Update PatternGame.cpp
NellowTCS Jun 15, 2025
441dba7
Update PatternGame.cpp
NellowTCS Jun 15, 2025
65c044a
Update CMakeLists.txt
NellowTCS Jun 15, 2025
e0258e4
Merge branch 'ByteWelder:main' into main
NellowTCS Jun 16, 2025
7138272
Update PatternGame.cpp
NellowTCS Jun 16, 2025
7518c32
Update PatternGame.h
NellowTCS Jun 16, 2025
7b4ed8b
Update Tactiligotchi.cpp
NellowTCS Jun 16, 2025
336da13
Update Tactiligotchi.h
NellowTCS Jun 16, 2025
7c23e04
Update Tactiligotchi.cpp
NellowTCS Jun 16, 2025
7c3f3af
Update PatternGame.h
NellowTCS Jun 16, 2025
7fc828e
Update PatternGame.cpp
NellowTCS Jun 16, 2025
d35dcaa
why did i delete this
NellowTCS Jun 16, 2025
5c1b2cf
Update Tactiligotchi.h
NellowTCS Jun 16, 2025
b002dfc
Update PatternGame.h
NellowTCS Jun 16, 2025
b00b6e6
Update Tactiligotchi.h
NellowTCS Jun 16, 2025
fafcb66
Merge branch 'ByteWelder:main' into main
NellowTCS Jul 19, 2025
c24e5cb
Update README.md
NellowTCS Jul 19, 2025
9115239
how did i not catch this
NellowTCS Jul 19, 2025
61ec26a
Update idf_component.yml
NellowTCS Jul 19, 2025
8917ffa
Update CMakeLists.txt
NellowTCS Jul 19, 2025
3cb7cfd
Update YellowDisplay.cpp
NellowTCS Jul 19, 2025
c535748
Create St7789-i8080Display.cpp
NellowTCS Jul 19, 2025
56530dc
Create CMakeLists.txt
NellowTCS Jul 19, 2025
d1e1042
Create README.md
NellowTCS Jul 19, 2025
2629336
Update CMakeLists.txt
NellowTCS Jul 19, 2025
f30bef8
Update St7789-i8080Display.cpp
NellowTCS Jul 19, 2025
91978f5
Create St7789-i8080Display.h
NellowTCS Jul 19, 2025
b20bb14
Update St7789-i8080Display.h
NellowTCS Jul 19, 2025
77b2b96
Update St7789-i8080Display.cpp
NellowTCS Jul 19, 2025
603c8b4
Update YellowDisplay.cpp
NellowTCS Jul 19, 2025
bfc30b1
Update CMakeLists.txt
NellowTCS Jul 19, 2025
a0a2c3f
Update CMakeLists.txt
NellowTCS Jul 19, 2025
ee818e8
Update St7789-i8080Display.h
NellowTCS Jul 20, 2025
055efc7
Update St7789-i8080Display.h
NellowTCS Jul 20, 2025
9112fd6
Update YellowDisplay.cpp
NellowTCS Jul 20, 2025
064102c
Update St7789-i8080Display.cpp
NellowTCS Jul 20, 2025
07272e7
AAA-
NellowTCS Jul 20, 2025
8f734be
Update St7789-i8080Display.h
NellowTCS Jul 20, 2025
221179e
Update St7789-i8080Display.cpp
NellowTCS Jul 20, 2025
bfed0a8
Update St7789-i8080Display.cpp
NellowTCS Jul 20, 2025
ede5f2d
Update St7789-i8080Display.cpp
NellowTCS Jul 20, 2025
77a0827
Update St7789-i8080Display.cpp
NellowTCS Jul 20, 2025
10fdd9a
Update St7789-i8080Display.cpp
NellowTCS Jul 20, 2025
f3ca187
expressif docs are wrong :/
NellowTCS Jul 20, 2025
4b97a53
Update St7789-i8080Display.cpp
NellowTCS Jul 20, 2025
dae651d
CYD 2.8" color
NellowTCS Jul 20, 2025
b3f9867
Update XPT2046-SoftSPI.h
NellowTCS Jul 20, 2025
350e9f0
Update esp_lcd_touch_xpt2046.cpp
NellowTCS Jul 20, 2025
9a6c7eb
Update XPT2046-SoftSPI.h
NellowTCS Jul 20, 2025
30ecd80
fix?
Jul 20, 2025
7710cc9
Fix XPT2046 driver errors
Jul 20, 2025
0ee5c29
New library
NellowTCS Jul 21, 2025
2c6d681
whoops
NellowTCS Jul 21, 2025
486625b
fixes?
NellowTCS Jul 21, 2025
96ae1d3
maybe?
NellowTCS Jul 21, 2025
72049b3
maybe?
NellowTCS Jul 21, 2025
e6b63dd
api change apparently
NellowTCS Jul 21, 2025
8bd96cb
Delete App/Source/Calibration directory
NellowTCS Jul 21, 2025
d481cc6
Update Main.cpp
NellowTCS Jul 21, 2025
7eadc92
Update CMakeLists.txt
NellowTCS Jul 21, 2025
c69fad0
Fix touch orientation
NellowTCS Jul 22, 2025
6713728
Defensive init for NVS, should stop crashing from happening
NellowTCS Jul 24, 2025
52dd837
why did i do that?
NellowTCS Jul 24, 2025
596b298
added touch defensive checks and changed some orientation stuff
NellowTCS Jul 24, 2025
46089ba
Merge remote-tracking branch 'upstream/main'
NellowTCS Jul 24, 2025
3f0652c
fix duplicate in idf_component.yml
NellowTCS Jul 24, 2025
e95bd73
add invalid calibration check
NellowTCS Jul 24, 2025
29faf37
Removing all flipping of coordinates to prevent invalid touch errors
NellowTCS Jul 25, 2025
874e0da
CYD-E32R28T implementation
NellowTCS Jul 30, 2025
ec7444f
aaa so close
NellowTCS Jul 30, 2025
f518b7f
this display's quirks
NellowTCS Jul 30, 2025
c9f41a2
Follow datasheet better
NellowTCS Jul 30, 2025
2d47ce2
Update XPT2046-Bitbang.cpp
NellowTCS Jul 30, 2025
50d60a3
did the wrong change
NellowTCS Jul 31, 2025
b218c00
Merge branch 'ByteWelder:main' into main
NellowTCS Aug 2, 2025
cde9395
Update XPT2046-Bitbang.cpp for some Checks and Debugging
NellowTCS Aug 12, 2025
c82911c
Simplify driver to extreme basics to maybe get something working
NellowTCS Aug 19, 2025
83fb1b4
Sync with upstream
NellowTCS Aug 19, 2025
7bcb557
Update XPT2046-Bitbang.cpp
NellowTCS Aug 19, 2025
f29d3a1
Update driver to work with new methods
NellowTCS Aug 19, 2025
b58c004
Upstream changes
NellowTCS Aug 19, 2025
f7e06fa
New API
NellowTCS Aug 19, 2025
3cfa8b0
Make inheritance public for EspLcdDisplay.h
NellowTCS Aug 19, 2025
b008d4d
Override and fix init
NellowTCS Aug 21, 2025
fec612c
remove override
NellowTCS Aug 21, 2025
2751d79
Should be the correct method
NellowTCS Aug 21, 2025
40e0d44
This probably won't build, but revert to working version
NellowTCS Aug 22, 2025
febb9ec
Add missing methods
NellowTCS Aug 22, 2025
0645bcb
Fix import
NellowTCS Aug 22, 2025
6ea3446
Add delay and remove saving temporarily
NellowTCS Aug 22, 2025
ec25808
Merge branch 'ByteWelder:main' into main
NellowTCS Aug 23, 2025
c6d289f
Update YellowDisplayConstants.h
NellowTCS Aug 25, 2025
d7a4e6b
Update YellowDisplayConstants.h
NellowTCS Aug 25, 2025
787495c
Flip X so that it matches display
NellowTCS Aug 28, 2025
db95b48
Merge branch 'ByteWelder:main' into main
NellowTCS Aug 28, 2025
49e8337
Update Clock.cpp
NellowTCS Aug 28, 2025
b6f9ad7
New API
NellowTCS Aug 28, 2025
03ff68a
Merge branch 'ByteWelder:main' into main
NellowTCS Aug 29, 2025
c10feef
Update Clock.cpp with correct API
NellowTCS Aug 29, 2025
eae6e34
Update TactilityNews.cpp
NellowTCS Aug 29, 2025
2f7658f
Update TactileWeb.cpp
NellowTCS Aug 29, 2025
1e788ce
Add ccache to speed up builds
NellowTCS Aug 29, 2025
7041bfd
Update action.yml
NellowTCS Aug 29, 2025
d7b2e25
Update action.yml
NellowTCS Aug 29, 2025
8c4be84
Update action.yml
NellowTCS Aug 29, 2025
54b1023
Update action.yml
NellowTCS Aug 29, 2025
eec7ec5
Update action.yml
NellowTCS Aug 29, 2025
5347691
Update action.yml
NellowTCS Aug 29, 2025
8743582
Update action.yml
NellowTCS Aug 29, 2025
6f77da3
Update action.yml
NellowTCS Aug 29, 2025
b05f88f
Update action.yml
NellowTCS Aug 29, 2025
875b736
Update action.yml
NellowTCS Aug 29, 2025
aac80e1
Update action.yml
NellowTCS Aug 29, 2025
322052a
Update action.yml
NellowTCS Aug 29, 2025
1a82e47
Merge branch 'ByteWelder:main' into main
NellowTCS Aug 30, 2025
1580b7a
Only the CYD E32R28T implementation
NellowTCS Aug 31, 2025
4bab675
Merge branch 'main' into CYD-E32R28T-only
NellowTCS Aug 31, 2025
43ae2d5
Merge branch 'ByteWelder:main' into CYD-E32R28T-only
NellowTCS Aug 31, 2025
cb27329
Merge branch 'ByteWelder:main' into CYD-E32R28T-only
NellowTCS Sep 1, 2025
07397c0
Delete i80Display driver as it's unused and an older version.
NellowTCS Sep 2, 2025
8e4e07a
Update action.yml
NellowTCS Sep 2, 2025
bfa2176
Create 2.yaml
NellowTCS Sep 2, 2025
c363244
Update 2.yaml
NellowTCS Sep 2, 2025
00d71fb
Update 2.yaml
NellowTCS Sep 2, 2025
abd64dd
Update 2.yaml
NellowTCS Sep 2, 2025
63f2753
Create 3.yaml
NellowTCS Sep 2, 2025
47b5b4f
Delete .github/workflows/2.yaml
NellowTCS Sep 2, 2025
9f34da8
Delete .github/workflows/3.yaml
NellowTCS Sep 2, 2025
3f9d4ae
Create 2.yaml
NellowTCS Sep 2, 2025
57294eb
Create 23.yaml
NellowTCS Sep 2, 2025
f7ad989
Create 22.yaml
NellowTCS Sep 2, 2025
9157ad8
Delete .github/workflows/2.yaml
NellowTCS Sep 2, 2025
818bb78
Delete .github/workflows/22.yaml
NellowTCS Sep 2, 2025
b4c5114
Delete .github/workflows/23.yaml
NellowTCS Sep 2, 2025
a4cf8e3
Update build-firmware.yml
NellowTCS Sep 2, 2025
99221fc
Update action.yml
NellowTCS Sep 2, 2025
6326bea
Update build-firmware.yml
NellowTCS Sep 2, 2025
5f722fe
Update Main.cpp
NellowTCS Sep 2, 2025
b650a15
Update CMakeLists.txt
NellowTCS Sep 2, 2025
a11baa9
Update README.md
NellowTCS Sep 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .github/workflows/build-firmware.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,15 @@ jobs:
with:
board_id: cyd-2432s024c
arch: esp32
cyd-e32r28t:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: "Build"
uses: ./.github/actions/build-firmware
with:
board_id: cyd-e32r28t
arch: esp32
cyd-2432s028r:
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -179,4 +188,4 @@ jobs:
uses: ./.github/actions/build-firmware
with:
board_id: waveshare-s3-touch-43
arch: esp32s3
arch: esp32s3
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ build-sim/
cmake-build-*/
CMakeCache.txt
*.cbp
CMakeFiles

release/

Expand All @@ -16,3 +17,5 @@ sdkconfig.old
managed_components/
dependencies.lock

.vscode/
.gitpod.yml
2 changes: 2 additions & 0 deletions App/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ menu "Tactility App"
bool "Custom"
config TT_BOARD_CYD_2432S024C
bool "CYD 2432S024C"
config TT_BOARD_CYD_E32R28T
bool "CYD E32R28T"
config TT_BOARD_CYD_2432S028R
bool "CYD 2432S028R"
config TT_BOARD_CYD_2432S032C
Expand Down
3 changes: 3 additions & 0 deletions App/Source/Boards.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@
#elif defined(CONFIG_TT_BOARD_CYD_2432S024C)
#include "CYD2432S024C.h"
#define TT_BOARD_HARDWARE &cyd_2432s024c_config
#elif defined(CONFIG_TT_BOARD_CYD_E32R28T)
#include "E32R28T.h"
#define TT_BOARD_HARDWARE &cyd_e32r28t_config
#elif defined(CONFIG_TT_BOARD_CYD_2432S028R)
#include "CYD2432S028R.h"
#define TT_BOARD_HARDWARE &cyd_2432s028r_config
Expand Down
7 changes: 7 additions & 0 deletions Boards/CYD-E32R28T/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
file(GLOB_RECURSE SOURCE_FILES Source/*.c*)

idf_component_register(
SRCS ${SOURCE_FILES}
INCLUDE_DIRS "Source"
REQUIRES Tactility esp_lvgl_port ILI934x XPT2046 PwmBacklight driver vfs fatfs
)
70 changes: 70 additions & 0 deletions Boards/CYD-E32R28T/Source/E32R28T.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
#include "E32R28T.h"
#include "hal/YellowSdCard.h"
#include "hal/YellowDisplay.h"
#include "hal/YellowDisplayConstants.h"
#include <Tactility/lvgl/LvglSync.h>
#include <Tactility/app/App.h>
#include <PwmBacklight.h>

#define CYD_SPI_TRANSFER_SIZE_LIMIT (240 * 320 / 4 * 2)

bool initBoot() {
return driver::pwmbacklight::init(CYD_BACKLIGHT_PIN);
}

const tt::hal::Configuration cyd_e32r28t_config = {
.initBoot = initBoot,
.createDisplay = createDisplay,
.sdcard = nullptr,
.power = nullptr,
.i2c = {},
.spi = {
tt::hal::spi::Configuration {
.device = SPI2_HOST,
.dma = SPI_DMA_CH_AUTO,
.config = {
.mosi_io_num = GPIO_NUM_13,
.miso_io_num = GPIO_NUM_12,
.sclk_io_num = GPIO_NUM_14,
.quadwp_io_num = GPIO_NUM_NC,
.quadhd_io_num = GPIO_NUM_NC,
.data4_io_num = GPIO_NUM_NC,
.data5_io_num = GPIO_NUM_NC,
.data6_io_num = GPIO_NUM_NC,
.data7_io_num = GPIO_NUM_NC,
.data_io_default_level = false,
.max_transfer_sz = CYD_SPI_TRANSFER_SIZE_LIMIT,
.flags = 0,
.isr_cpu_id = ESP_INTR_CPU_AFFINITY_AUTO,
.intr_flags = 0
},
.initMode = tt::hal::spi::InitMode::ByTactility,
.isMutable = false,
.lock = tt::lvgl::getSyncLock()
},
tt::hal::spi::Configuration {
.device = SPI3_HOST,
.dma = SPI_DMA_CH_AUTO,
.config = {
.mosi_io_num = GPIO_NUM_23,
.miso_io_num = GPIO_NUM_19,
.sclk_io_num = GPIO_NUM_18,
.quadwp_io_num = GPIO_NUM_NC,
.quadhd_io_num = GPIO_NUM_NC,
.data4_io_num = GPIO_NUM_NC,
.data5_io_num = GPIO_NUM_NC,
.data6_io_num = GPIO_NUM_NC,
.data7_io_num = GPIO_NUM_NC,
.data_io_default_level = false,
.max_transfer_sz = CYD_SPI_TRANSFER_SIZE_LIMIT,
.flags = 0,
.isr_cpu_id = ESP_INTR_CPU_AFFINITY_AUTO,
.intr_flags = 0
},
.initMode = tt::hal::spi::InitMode::ByTactility,
.isMutable = false,
.lock = tt::lvgl::getSyncLock()
},

}
};
6 changes: 6 additions & 0 deletions Boards/CYD-E32R28T/Source/E32R28T.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#pragma once

#include <Tactility/hal/Configuration.h>

// Resistive touch version of the waveshare 2.8" yellow board
extern const tt::hal::Configuration cyd_e32r28t_config;
51 changes: 51 additions & 0 deletions Boards/CYD-E32R28T/Source/hal/YellowDisplay.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#include "YellowDisplay.h"
#include "YellowDisplayConstants.h"
#include "Xpt2046Touch.h"
#include <Ili934xDisplay.h>
#include <PwmBacklight.h>
#include <Tactility/hal/touch/TouchDevice.h>
#include <esp_log.h>
#include <memory>

static const char* TAG = "YellowDisplay";

// Global to hold reference if needed (is this needed?)
static std::shared_ptr<Xpt2046Touch> touch;

static std::shared_ptr<tt::hal::touch::TouchDevice> createTouch() {
ESP_LOGI(TAG, "Creating SPI touch");

// Create configuration object
auto config = std::make_unique<Xpt2046Touch::Configuration>(
CYD_DISPLAY_SPI_HOST, // SPI bus handle
CYD_TOUCH_CS_PIN, // Chip select
CYD_DISPLAY_HORIZONTAL_RESOLUTION, // xMax
CYD_DISPLAY_VERTICAL_RESOLUTION, // yMax
false, // swapXY
true, // mirrorX
false // mirrorY
);

// Allocate driver
touch = std::make_shared<Xpt2046Touch>(std::move(config));

// No explicit start() required for Xpt2046Touch
return std::static_pointer_cast<tt::hal::touch::TouchDevice>(touch);
}

std::shared_ptr<tt::hal::display::DisplayDevice> createDisplay() {
auto touch_device = createTouch();
auto configuration = std::make_unique<Ili934xDisplay::Configuration>(
CYD_DISPLAY_SPI_HOST,
CYD_DISPLAY_PIN_CS,
CYD_DISPLAY_PIN_DC,
CYD_DISPLAY_HORIZONTAL_RESOLUTION,
CYD_DISPLAY_VERTICAL_RESOLUTION,
touch_device
);
configuration->mirrorX = true;
configuration->backlightDutyFunction = driver::pwmbacklight::setBacklightDuty;
configuration->rgbElementOrder = LCD_RGB_ELEMENT_ORDER_BGR;

return std::make_shared<Ili934xDisplay>(std::move(configuration));
}
6 changes: 6 additions & 0 deletions Boards/CYD-E32R28T/Source/hal/YellowDisplay.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#pragma once

#include "Tactility/hal/display/DisplayDevice.h"
#include <memory>

std::shared_ptr<tt::hal::display::DisplayDevice> createDisplay();
25 changes: 25 additions & 0 deletions Boards/CYD-E32R28T/Source/hal/YellowDisplayConstants.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#pragma once

// Display
#define CYD_DISPLAY_SPI_HOST SPI2_HOST
#define CYD_DISPLAY_PIN_CS GPIO_NUM_15
#define CYD_DISPLAY_PIN_DC GPIO_NUM_2
#define CYD_DISPLAY_HORIZONTAL_RESOLUTION 240
#define CYD_DISPLAY_VERTICAL_RESOLUTION 320
#define CYD_DISPLAY_DRAW_BUFFER_HEIGHT (CYD_DISPLAY_VERTICAL_RESOLUTION / 10)
#define CYD_DISPLAY_DRAW_BUFFER_SIZE (CYD_DISPLAY_HORIZONTAL_RESOLUTION * CYD_DISPLAY_DRAW_BUFFER_HEIGHT)

// Touch (Software SPI)
#define CYD_TOUCH_MISO_PIN GPIO_NUM_39
#define CYD_TOUCH_MOSI_PIN GPIO_NUM_32
#define CYD_TOUCH_SCK_PIN GPIO_NUM_25
#define CYD_TOUCH_CS_PIN GPIO_NUM_33
#define CYD_TOUCH_IRQ_PIN GPIO_NUM_36

// SD Card
#define CYD_SDCARD_SPI_HOST SPI3_HOST
#define CYD_SDCARD_PIN_CS GPIO_NUM_5


// Backlight
#define CYD_BACKLIGHT_PIN GPIO_NUM_21
22 changes: 22 additions & 0 deletions Boards/CYD-E32R28T/Source/hal/YellowSdCard.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#include "YellowSdCard.h"
#include "YellowDisplayConstants.h"
#include <Tactility/hal/sdcard/SpiSdCardDevice.h>

using tt::hal::sdcard::SpiSdCardDevice;

std::shared_ptr<SdCardDevice> createYellowSdCard() {
auto* configuration = new SpiSdCardDevice::Config(
CYD_SDCARD_PIN_CS,
GPIO_NUM_NC, // No card detect pin specified
GPIO_NUM_NC,
GPIO_NUM_NC,
SdCardDevice::MountBehaviour::AtBoot,
std::make_shared<tt::Mutex>(),
std::vector<gpio_num_t>(),
CYD_SDCARD_SPI_HOST
);

return std::shared_ptr<SdCardDevice>(
new SpiSdCardDevice(std::unique_ptr<SpiSdCardDevice::Config>(configuration))
);
}
7 changes: 7 additions & 0 deletions Boards/CYD-E32R28T/Source/hal/YellowSdCard.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#pragma once

#include "Tactility/hal/sdcard/SdCardDevice.h"

using tt::hal::sdcard::SdCardDevice;

std::shared_ptr<SdCardDevice> createYellowSdCard();
Empty file modified Buildscripts/Flashing/flash.ps1
100644 → 100755
Empty file.
6 changes: 5 additions & 1 deletion Buildscripts/board.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,12 @@ function(INIT_TACTILITY_GLOBALS SDKCONFIG_FILE)

if (board_id STREQUAL "cyd-2432s024c")
set(TACTILITY_BOARD_PROJECT CYD-2432S024C)
elseif (board_id STREQUAL "cyd-2432s022c")
set(TACTILITY_BOARD_PROJECT CYD-2432S022C)
elseif (board_id STREQUAL "cyd-2432s028r")
set(TACTILITY_BOARD_PROJECT CYD-2432S028R)
set(TACTILITY_BOARD_PROJECT CYD-2432S028R)
elseif (board_id STREQUAL "cyd-e32r28t")
set(TACTILITY_BOARD_PROJECT CYD-E32R28T)
elseif (board_id STREQUAL "cyd-2432s032c")
set(TACTILITY_BOARD_PROJECT CYD-2432S032C)
elseif (board_id STREQUAL "cyd-4848s040c")
Expand Down
Empty file modified Buildscripts/build.ps1
100644 → 100755
Empty file.
Empty file modified Buildscripts/release.ps1
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion Drivers/EspLcdCompat/Source/EspLcdDisplay.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#include <esp_lvgl_port_disp.h>
#include <Tactility/Check.h>

class EspLcdDisplay : tt::hal::display::DisplayDevice {
class EspLcdDisplay : public tt::hal::display::DisplayDevice {

esp_lcd_panel_io_handle_t _Nullable ioHandle = nullptr;
esp_lcd_panel_handle_t _Nullable panelHandle = nullptr;
Expand Down
56 changes: 56 additions & 0 deletions sdkconfig.board.cyd-e32r28t
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Software defaults
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=3072
CONFIG_LV_FONT_MONTSERRAT_14=y
CONFIG_LV_FONT_MONTSERRAT_18=y
CONFIG_LV_USE_USER_DATA=y
CONFIG_LV_USE_FS_STDIO=y
CONFIG_LV_FS_STDIO_LETTER=65
CONFIG_LV_FS_STDIO_PATH=""
CONFIG_LV_FS_STDIO_CACHE_SIZE=4096
CONFIG_LV_USE_LODEPNG=y
CONFIG_LV_USE_BUILTIN_MALLOC=n
CONFIG_LV_USE_CLIB_MALLOC=y
CONFIG_LV_USE_MSGBOX=n
CONFIG_LV_USE_SPINNER=n
CONFIG_LV_USE_WIN=n
CONFIG_LV_USE_SNAPSHOT=y
CONFIG_FREERTOS_HZ=1000
CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=2
CONFIG_FREERTOS_SMP=n
CONFIG_FREERTOS_UNICORE=n
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=4096
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"
CONFIG_FATFS_LFN_HEAP=y
CONFIG_FATFS_VOLUME_COUNT=3

# Hardware: Main
CONFIG_TT_BOARD_CYD_E32R28T=y
CONFIG_TT_BOARD_NAME="CYD E32R28T"
CONFIG_TT_BOARD_ID="cyd-e32r28t"
CONFIG_IDF_TARGET="esp32"
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
CONFIG_FLASHMODE_QIO=y

# LVGL
CONFIG_LV_DISP_DEF_REFR_PERIOD=10
CONFIG_LV_DPI_DEF=130 # Adjusted for 2.8" 240x320 (~130 DPI)
CONFIG_LVGL_BUFFER_WIDTH=240
CONFIG_LVGL_BUFFER_HEIGHT=40
CONFIG_LVGL_COLOR_DEPTH=16

# Drivers
CONFIG_DISPLAY_DRIVER_ILI9341=y
CONFIG_TOUCH_DRIVER_XPT2046=y
CONFIG_TOUCH_CALIBRATION=y
CONFIG_SD_CARD_ENABLE=y

# Fix for IRAM
CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y
CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH=y
CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH=y