mirror of
https://github.com/suchmememanyskill/CYD-Klipper.git
synced 2026-03-20 21:23:25 +00:00
feat: add Guition JC8048W550 display support (#185)
* Update readme * Update README.md * Add aliexpress links * feat: add Guition JC8048W550 display support * feat: adjust configuration for board * feat: add option for jc8048w550 on page and in ci script * fix: missing CYD_PORTS entry --------- Co-authored-by: Sims <38142618+suchmememanyskill@users.noreply.github.com>
This commit is contained in:
142
CYD-Klipper/boards/esp32-JC8048W550.json
Normal file
142
CYD-Klipper/boards/esp32-JC8048W550.json
Normal file
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino": {
|
||||
"ldscript": "esp32s3_out.ld",
|
||||
"partitions": "default_16MB.csv",
|
||||
"memory_type": "qio_opi"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"'-D ARDUINO_ESP32S3_DEV'",
|
||||
"'-D BOARD_HAS_PSRAM'",
|
||||
"'-D ARDUINO_USB_MODE=1'",
|
||||
"'-D ARDUINO_RUNNING_CORE=1'",
|
||||
"'-D ARDUINO_EVENT_RUNNING_CORE=1'",
|
||||
"'-D ARDUINO_USB_CDC_ON_BOOT=0'",
|
||||
"'-D JC8048W550'",
|
||||
"'-D LCD_WIDTH=800'",
|
||||
"'-D LCD_HEIGHT=480'",
|
||||
"'-D LVGL_BUFFER_PIXELS=(LCD_WIDTH*LCD_HEIGHT)'",
|
||||
"'-D LVGL_BUFFER_MALLOC_FLAGS=(MALLOC_CAP_SPIRAM|MALLOC_CAP_8BIT)'",
|
||||
"'-D GPIO_BCKL=2'",
|
||||
"'-D LCD_ST7262_PAR'",
|
||||
"'-D ST7262_PANEL_CONFIG_CLK_SRC=LCD_CLK_SRC_PLL160M'",
|
||||
"'-D ST7262_PANEL_CONFIG_TIMINGS_PCLK_HZ=(14.2*1000000)'",
|
||||
"'-D ST7262_PANEL_CONFIG_TIMINGS_H_RES=LCD_WIDTH'",
|
||||
"'-D ST7262_PANEL_CONFIG_TIMINGS_V_RES=LCD_HEIGHT'",
|
||||
"'-D ST7262_PANEL_CONFIG_TIMINGS_HSYNC_PULSE_WIDTH=4'",
|
||||
"'-D ST7262_PANEL_CONFIG_TIMINGS_HSYNC_BACK_PORCH=8'",
|
||||
"'-D ST7262_PANEL_CONFIG_TIMINGS_HSYNC_FRONT_PORCH=8'",
|
||||
"'-D ST7262_PANEL_CONFIG_TIMINGS_VSYNC_PULSE_WIDTH=4'",
|
||||
"'-D ST7262_PANEL_CONFIG_TIMINGS_VSYNC_BACK_PORCH=8'",
|
||||
"'-D ST7262_PANEL_CONFIG_TIMINGS_VSYNC_FRONT_PORCH=8'",
|
||||
"'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_HSYNC_IDLE_LOW=false'",
|
||||
"'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_VSYNC_IDLE_LOW=false'",
|
||||
"'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_DE_IDLE_HIGH=false'",
|
||||
"'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_PCLK_ACTIVE_NEG=true'",
|
||||
"'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_PCLK_IDLE_HIGH=false'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_WIDTH=16'",
|
||||
"'-D ST7262_PANEL_CONFIG_SRAM_TRANS_ALIGN=4'",
|
||||
"'-D ST7262_PANEL_CONFIG_PSRAM_TRANS_ALIGN=64'",
|
||||
"'-D ST7262_PANEL_CONFIG_HSYNC_GPIO_NUM=39'",
|
||||
"'-D ST7262_PANEL_CONFIG_VSYNC_GPIO_NUM=41'",
|
||||
"'-D ST7262_PANEL_CONFIG_DE_GPIO_NUM=40'",
|
||||
"'-D ST7262_PANEL_CONFIG_PCLK_GPIO_NUM=42'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_R0=8'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_R1=3'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_R2=46'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_R3=9'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_R4=1'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_G0=5'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_G1=6'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_G2=7'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_G3=15'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_G4=16'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_G5=4'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_B0=45'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_B1=48'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_B2=47'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_B3=21'",
|
||||
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_B4=14'",
|
||||
"'-D ST7262_PANEL_CONFIG_DISP_GPIO_NUM=GPIO_NUM_NC'",
|
||||
"'-D ST7262_PANEL_CONFIG_FLAGS_DISP_ACTIVE_LOW=false'",
|
||||
"'-D ST7262_PANEL_CONFIG_FLAGS_RELAX_ON_IDLE=false'",
|
||||
"'-D ST7262_PANEL_CONFIG_FLAGS_FB_IN_PSRAM=true'",
|
||||
"'-D BOARD_HAS_TOUCH'",
|
||||
"'-D TOUCH_GT911_I2C'",
|
||||
"'-D GT911_I2C_HOST=I2C_NUM_0'",
|
||||
"'-D GT911_I2C_CONFIG_SDA_IO_NUM=19'",
|
||||
"'-D GT911_I2C_CONFIG_SCL_IO_NUM=20'",
|
||||
"'-D GT911_I2C_CONFIG_SDA_PULLUP_EN=GPIO_PULLUP_DISABLE'",
|
||||
"'-D GT911_I2C_CONFIG_SCL_PULLUP_EN=GPIO_PULLUP_DISABLE'",
|
||||
"'-D GT911_I2C_CONFIG_MASTER_CLK_SPEED=400000'",
|
||||
"'-D GT911_I2C_CONFIG_CLK_FLAGS=I2C_SCLK_SRC_FLAG_FOR_NOMAL'",
|
||||
"'-D GT911_IO_I2C_CONFIG_DEV_ADDR=ESP_LCD_TOUCH_IO_I2C_GT911_ADDRESS'",
|
||||
"'-D GT911_IO_I2C_CONFIG_CONTROL_PHASE_BYTES=1'",
|
||||
"'-D GT911_IO_I2C_CONFIG_DC_BIT_OFFSET=0'",
|
||||
"'-D GT911_IO_I2C_CONFIG_LCD_CMD_BITS=16'",
|
||||
"'-D GT911_IO_I2C_CONFIG_LCD_PARAM_BITS=0'",
|
||||
"'-D GT911_IO_I2C_CONFIG_FLAGS_DC_LOW_ON_DATA=false'",
|
||||
"'-D GT911_IO_I2C_CONFIG_FLAGS_DISABLE_CONTROL_PHASE=true'",
|
||||
"'-D GT911_TOUCH_CONFIG_X_MAX=LCD_WIDTH'",
|
||||
"'-D GT911_TOUCH_CONFIG_Y_MAX=LCD_HEIGHT'",
|
||||
"'-D GT911_TOUCH_CONFIG_RST_GPIO_NUM=38'",
|
||||
"'-D GT911_TOUCH_CONFIG_INT_GPIO_NUM=18'",
|
||||
"'-D GT911_TOUCH_CONFIG_LEVELS_RESET=0'",
|
||||
"'-D GT911_TOUCH_CONFIG_LEVELS_INTERRUPT=0'",
|
||||
"'-D TOUCH_SWAP_XY=false'",
|
||||
"'-D TOUCH_SWAP_X=false'",
|
||||
"'-D TOUCH_SWAP_Y=false'",
|
||||
"'-D BOARD_HAS_TF'",
|
||||
"'-D TF_CS=10'",
|
||||
"'-D TF_SPI_MOSI=11'",
|
||||
"'-D TF_SPI_SCLK=12'",
|
||||
"'-D TF_SPI_MISO=13'",
|
||||
"-DCYD_SCREEN_HEIGHT_PX=LCD_HEIGHT",
|
||||
"-DCYD_SCREEN_WIDTH_PX=LCD_WIDTH",
|
||||
"-DROTATION_INVERTED=LV_DISP_ROT_180",
|
||||
"-DROTATION_NORMAL=LV_DISP_ROT_NONE",
|
||||
"-DCYD_SCREEN_GAP_PX=15",
|
||||
"-DCYD_SCREEN_MIN_BUTTON_HEIGHT_PX=60",
|
||||
"-DCYD_SCREEN_MIN_BUTTON_WIDTH_PX=60",
|
||||
"-DCYD_SCREEN_FONT=lv_font_montserrat_22",
|
||||
"-DCYD_SCREEN_FONT_SMALL=lv_font_montserrat_16",
|
||||
"-DCYD_SCREEN_SIDEBAR_SIZE_PX=70",
|
||||
"-DCYD_SCREEN_DRIVER_ESP32_SMARTDISPLAY=0",
|
||||
"-DCYD_SCREEN_DISABLE_TOUCH_CALIBRATION=1"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
"hwids": [
|
||||
[
|
||||
"0x303A",
|
||||
"0x1001"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32s3",
|
||||
"variant": "esp32s3"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32s3.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "esp32-JC8048W550",
|
||||
"upload": {
|
||||
"flash_size": "16MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 16777216,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://www.aliexpress.com/item/1005006715581887.html",
|
||||
"vendor": "Guition"
|
||||
}
|
||||
@@ -14,21 +14,21 @@ board = esp32dev
|
||||
framework = arduino
|
||||
monitor_speed = 115200
|
||||
debug_build_flags = -Os
|
||||
lib_deps =
|
||||
lib_deps =
|
||||
https://github.com/suchmememanyskill/esp32-smartdisplay#9c1d737
|
||||
bblanchon/ArduinoJson@^7.0.0
|
||||
plageoj/UrlEncode@^1.0.1
|
||||
knolleary/PubSubClient@^2.8
|
||||
WiFiClientSecure
|
||||
monitor_filters = esp32_exception_decoder
|
||||
build_flags =
|
||||
build_flags =
|
||||
-DLV_CONF_PATH="../../../../src/conf/lv_conf.h"
|
||||
extra_scripts =
|
||||
extra_scripts =
|
||||
pre:extract_commit.py
|
||||
|
||||
[env:esp32-2432S028R]
|
||||
board = esp32-2432S028R
|
||||
lib_deps =
|
||||
lib_deps =
|
||||
SPI
|
||||
https://github.com/suchmememanyskill/lvgl
|
||||
https://github.com/Bodmer/TFT_eSPI.git
|
||||
@@ -40,7 +40,7 @@ lib_deps =
|
||||
|
||||
[env:esp32-3248S035C]
|
||||
board = esp32-3248S035C
|
||||
lib_deps =
|
||||
lib_deps =
|
||||
SPI
|
||||
https://github.com/suchmememanyskill/lvgl
|
||||
https://github.com/Bodmer/TFT_eSPI.git
|
||||
@@ -52,7 +52,7 @@ lib_deps =
|
||||
|
||||
[env:esp32-3248S035C-V]
|
||||
board = esp32-3248S035C-vertical
|
||||
lib_deps =
|
||||
lib_deps =
|
||||
SPI
|
||||
https://github.com/suchmememanyskill/lvgl
|
||||
https://github.com/Bodmer/TFT_eSPI.git
|
||||
@@ -97,7 +97,7 @@ board = esp32-2432S022C-vertical
|
||||
|
||||
[env:esp32-CROWPANEL-28R]
|
||||
board = esp32-CROWPANEL-28R
|
||||
lib_deps =
|
||||
lib_deps =
|
||||
SPI
|
||||
https://github.com/suchmememanyskill/lvgl
|
||||
https://github.com/Bodmer/TFT_eSPI.git
|
||||
@@ -108,7 +108,7 @@ lib_deps =
|
||||
|
||||
[env:esp32-CROWPANEL-35C]
|
||||
board = esp32-CROWPANEL-35C
|
||||
lib_deps =
|
||||
lib_deps =
|
||||
SPI
|
||||
https://github.com/suchmememanyskill/lvgl
|
||||
https://github.com/lovyan03/LovyanGFX@1.2.0
|
||||
@@ -117,3 +117,6 @@ lib_deps =
|
||||
knolleary/PubSubClient@^2.8
|
||||
WiFiClientSecure
|
||||
|
||||
|
||||
[env:esp32-JC8048W550]
|
||||
board = esp32-JC8048W550
|
||||
|
||||
15
README.md
15
README.md
@@ -42,6 +42,21 @@ If you found this project helpful, please consider a donation [to my Ko-Fi](http
|
||||
|
||||
Thank you!
|
||||
|
||||
### Where to buy hardware
|
||||
All links below are affiliate links. Please also check yourself if there is a cheaper version available than the ones below. I have only linked ones that i have personally bought.
|
||||
|
||||
*ESP32-2432S028R (2.8" Resistive, Cheapest)*
|
||||
- [USB C + microB version](https://s.click.aliexpress.com/e/_omjsYBJ)
|
||||
- [Another USB C + microB version](https://s.click.aliexpress.com/e/_olKBkmz)
|
||||
- [microB version](https://s.click.aliexpress.com/e/_oCWhgmN)
|
||||
|
||||
*ESP32-2432S032C (3.2" Capacitive)*
|
||||
- [Only the capacitive version is supported! USB-C](https://s.click.aliexpress.com/e/_okbSGmd)
|
||||
- [IPS version (not that great of a screen), Only the capacitive version is supported! USB-C](https://s.click.aliexpress.com/e/_oFygVwt)
|
||||
|
||||
*ESP32-3248S035C (3.5" Capacitive)*
|
||||
- [microB version](https://s.click.aliexpress.com/e/_oCqygE9)
|
||||
|
||||
### Screenshots
|
||||
(Quite literally shots of the screen. I'm sorry)
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
|
||||
TT {
|
||||
TT {
|
||||
font-family: 'Terminal', monospace;
|
||||
background-color: #080a0b;
|
||||
}
|
||||
@@ -24,7 +24,8 @@
|
||||
max-width: 750px;
|
||||
}
|
||||
|
||||
.main > section > :not(:first-child) {
|
||||
.main > section > :not(:first-child),
|
||||
.indent {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
@@ -44,6 +45,17 @@
|
||||
#changelog-body {
|
||||
white-space: break-spaces;
|
||||
}
|
||||
|
||||
.where-to-get details summary::marker
|
||||
{
|
||||
content: '';
|
||||
}
|
||||
|
||||
.where-to-get details[open] summary p
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script type="module" src="https://unpkg.com/esp-web-tools@9/dist/web/install-button.js?module"></script>
|
||||
<script src="//code.iconify.design/1/1.0.6/iconify.min.js"></script>
|
||||
@@ -83,6 +95,34 @@
|
||||
<p>If you found this project helpful, please consider a donation to <a href="https://ko-fi.com/suchmememanyskill">my Ko-Fi</a>.<br>It would help out a lot in the development of this project, due to the need to buy the screens.<br>Thank you!</p>
|
||||
</section>
|
||||
|
||||
<section class="where-to-get">
|
||||
<details>
|
||||
<summary>
|
||||
<h3><span class="iconify" data-icon="mdi-shopping" style="color:orange; filter: drop-shadow(0 0 0.75rem orange);"></span> Where to buy hardware</h3>
|
||||
<p class="indent">(Click to expand)</p>
|
||||
</summary>
|
||||
<section class="indent">
|
||||
<p>All links below are affiliate links. Please also check yourself if there is a cheaper version available than the ones below. I have only linked ones that i have personally bought.</p>
|
||||
<i>ESP32-2432S028R (2.8" Resistive, Cheapest)</i>
|
||||
<ul>
|
||||
<li><a href="https://s.click.aliexpress.com/e/_omjsYBJ">USB C + microB version</a></li>
|
||||
<li><a href="https://s.click.aliexpress.com/e/_olKBkmz">Another USB C + microB version</a></li>
|
||||
<li><a href="https://s.click.aliexpress.com/e/_oCWhgmN">microB version</a></li>
|
||||
</ul>
|
||||
<i>ESP32-2432S032C (3.2" Capacitive)</i>
|
||||
<ul>
|
||||
<li><a href="https://s.click.aliexpress.com/e/_okbSGmd">Only the capacitive version is supported! USB-C</a></li>
|
||||
<li><a href="https://s.click.aliexpress.com/e/_oFygVwt">IPS version (not that great of a screen), Only the capacitive version is supported! USB-C</a></li>
|
||||
</ul>
|
||||
<i>ESP32-3248S035C (3.5" Capacitive)</i>
|
||||
<ul>
|
||||
<li><a href="https://s.click.aliexpress.com/e/_oCqygE9">microB version</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
</details>
|
||||
|
||||
</section>
|
||||
|
||||
<section class="issues">
|
||||
<h3><span class="iconify" data-icon="mdi-github" style="color: white; filter: drop-shadow(0 0 0.75rem gray);"></span> Report Issues</h3>
|
||||
<p>If you experience any issues with this project, or have any feature requests for the project, please report them on the <a href="https://github.com/suchmememanyskill/CYD-Klipper/issues">issues tab on Github</a>.</p>
|
||||
@@ -101,6 +141,7 @@
|
||||
<option value="esp32-8048S043C-SD">ESP32-8048S043 (4.3" 800x480 Capacitive)</option>
|
||||
<option value="esp32-8048S043C-SD-alt">ESP32-8048S043 Alt (4.3" 800x480 Capacitive)</option>
|
||||
<option value="esp32-CROWPANEL-28R">ESP32-CROWPANEL-28R (2.8" Resistive)</option>
|
||||
<option value="esp32-JC8048W550">Guition JC8048W550 (5" Capacitive)</option>
|
||||
<option value="esp32-CROWPANEL-35C">ESP32-CROWPANEL-35C (3.5" Capacitive)</option>
|
||||
</select>
|
||||
<span id="install-btn"></span>
|
||||
|
||||
2
ci.py
2
ci.py
@@ -12,6 +12,7 @@ CYD_PORTS = [
|
||||
#"esp32-4827S043R-SD",
|
||||
"esp32-CROWPANEL-28R",
|
||||
"esp32-CROWPANEL-35C",
|
||||
"esp32-JC8048W550",
|
||||
]
|
||||
|
||||
ESP_S3_CHIPS = [
|
||||
@@ -19,6 +20,7 @@ ESP_S3_CHIPS = [
|
||||
"esp32-8048S043C-SD-alt",
|
||||
"esp32-4827S043C-SD",
|
||||
"esp32-CROWPANEL-35C",
|
||||
"esp32-JC8048W550",
|
||||
]
|
||||
|
||||
BASE_DIR = os.getcwd()
|
||||
|
||||
Reference in New Issue
Block a user