Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.2.0: More displays, improved ui, unified ui #34

Merged
merged 49 commits into from
Feb 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
dd20c11
Slightly optimise file reader
suchmememanyskill Jan 23, 2024
2e252c1
Upgrade lvgl
suchmememanyskill Jan 26, 2024
ec75a3e
Start of porting process
suchmememanyskill Jan 27, 2024
1c50efa
Make fonts ajustable
suchmememanyskill Jan 27, 2024
939a9f6
Make sidebar ajustable
suchmememanyskill Jan 27, 2024
8198729
Rename defines
suchmememanyskill Jan 27, 2024
db0c335
Don't show each macro twice
suchmememanyskill Jan 27, 2024
66bb113
Make generic functions for creating flex parents
suchmememanyskill Jan 28, 2024
2d6fdb8
Set timeout for getting files
suchmememanyskill Jan 28, 2024
4ff96e0
Make file select responsive
suchmememanyskill Jan 28, 2024
b3c60e4
Change styling of print panel
suchmememanyskill Jan 28, 2024
6750c8f
Make progress panel responsive
suchmememanyskill Jan 28, 2024
8f29978
Make temp panel responsive
suchmememanyskill Jan 28, 2024
c65cc08
Don't break macros
suchmememanyskill Jan 28, 2024
292f879
Make move panel responsive
suchmememanyskill Jan 29, 2024
c5b6401
Remove unneeded code
suchmememanyskill Jan 29, 2024
de1833e
Make klipper error screen responsive
suchmememanyskill Jan 29, 2024
0ba2abd
Rename BIG_GAP to GAP
suchmememanyskill Jan 29, 2024
982c03b
Make wifi-setup responsive
suchmememanyskill Jan 30, 2024
899f89b
Make ip setup responsive
suchmememanyskill Jan 30, 2024
c077b6e
Remove leftover defines
suchmememanyskill Jan 30, 2024
a84c695
Kickstart workflow
suchmememanyskill Jan 30, 2024
9c12588
CI pls
suchmememanyskill Jan 30, 2024
4e7bff9
Test CI 2
suchmememanyskill Jan 30, 2024
1ff75d2
Process feedback partially
suchmememanyskill Feb 1, 2024
ba015bb
Switch to fork of lvgl for keyboard mods
suchmememanyskill Feb 1, 2024
41be4b1
Add stats panel
suchmememanyskill Feb 3, 2024
77db365
Add info to stat panel
suchmememanyskill Feb 3, 2024
e152868
Add macros to not ready screen
suchmememanyskill Feb 3, 2024
a07d282
Add power devices to macro menu
suchmememanyskill Feb 3, 2024
1f76012
Make power devices also show on klipper connect screen if available
suchmememanyskill Feb 3, 2024
c18cd10
Adding support for hostname with dual keyboards for port (#29)
matthawley Feb 6, 2024
ab4688c
Initial port to ESP32_3248S035C
suchmememanyskill Feb 7, 2024
26a0f35
Merge branch 'setup-ports' of https://github.com/suchmememanyskill/CY…
suchmememanyskill Feb 7, 2024
716f934
Fix scaling for 3.5inch, Fix text scaling in general
suchmememanyskill Feb 7, 2024
fb928d2
Fix broken auto sleep
suchmememanyskill Feb 7, 2024
81aa08b
Delete boards
suchmememanyskill Feb 7, 2024
f985813
Update boards
suchmememanyskill Feb 7, 2024
82b1d51
Edit CI
suchmememanyskill Feb 7, 2024
e669017
I hate CI
suchmememanyskill Feb 7, 2024
725d76d
Modify CI further
suchmememanyskill Feb 7, 2024
2d6c2e8
Fix up smartdisplay driver, update readme, update install page
suchmememanyskill Feb 8, 2024
134e7ad
Remove reference to boards
suchmememanyskill Feb 9, 2024
4daa0aa
Extract display timeout from driver
suchmememanyskill Feb 9, 2024
2c7aab7
Shuffle around board defines
suchmememanyskill Feb 9, 2024
e5efe08
Updating keyboard to match style / layout of original (#33)
matthawley Feb 9, 2024
adea917
html changes
suchmememanyskill Feb 9, 2024
452dbef
Is this why linux CI broke?
suchmememanyskill Feb 9, 2024
1520954
Add version to settings
suchmememanyskill Feb 9, 2024
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
24 changes: 5 additions & 19 deletions .github/workflows/compile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ permissions:
pages: write
id-token: write

on: [push, pull_request]
on: [push, pull_request, workflow_dispatch]

jobs:
build:
Expand All @@ -17,7 +17,7 @@ jobs:
path: |
~/.cache/pip
~/.platformio/.cache
key: ${{ runner.os }}-pio
key: ${{ runner.os }}-pio-cyd-klipper

- uses: actions/setup-python@v4
with:
Expand All @@ -28,27 +28,13 @@ jobs:

- name: Build PlatformIO Project
run: |
cd CYD-Klipper
pio run

- name: Make output dir
run: |
mkdir -p output

- name: Build Binary
run: |
cp ./CYD-Klipper/.pio/build/esp32dev/bootloader.bin output
cp ./CYD-Klipper/.pio/build/esp32dev/partitions.bin output
cp ./CYD-Klipper/.pio/build/esp32dev/firmware.bin output
cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin output
python3 -m esptool --chip esp32 merge_bin -o ./output/merged-firmware.bin --flash_mode dio --flash_freq 40m --flash_size 4MB 0x1000 ./output/bootloader.bin 0x8000 ./output/partitions.bin 0xe000 ./output/boot_app0.bin 0x10000 ./output/firmware.bin
cp -r ./output ./_site
python3 ci.py

- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: firmware
path: ./output
path: ./out

- name: Upload GitHub Page Artifact
uses: actions/upload-pages-artifact@v2
Expand All @@ -59,7 +45,7 @@ jobs:
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/master'
steps:
- name: Print GitHub event name
run: |
Expand Down
Empty file added .gitmodules
Empty file.
5 changes: 4 additions & 1 deletion CYD-Klipper/.vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
"vector": "cpp",
"string_view": "cpp",
"initializer_list": "cpp",
"algorithm": "cpp"
"algorithm": "cpp",
"cstddef": "cpp",
"functional": "cpp",
"*.tcc": "cpp"
}
}
3 changes: 3 additions & 0 deletions CYD-Klipper/boards/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Boards

Contains specialised CYD definitions from [platformio-espressif32-sunton](https://github.com/rzeldent/platformio-espressif32-sunton)
66 changes: 66 additions & 0 deletions CYD-Klipper/boards/esp32-2432S028R.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"build": {
"arduino": {
"ldscript": "esp32_out.ld"
},
"core": "esp32",
"extra_flags": [
"-DUSER_SETUP_LOADED=1",
"-DILI9341_2_DRIVER=1",
"-DTFT_BACKLIGHT_ON=HIGH",
"-DTFT_BL=21",
"-DTFT_MISO=12",
"-DTFT_MOSI=13",
"-DTFT_SCLK=14",
"-DTFT_CS=15",
"-DTFT_DC=2",
"-DTFT_RST=-1",
"-DLOAD_GCLD=1",
"-DLOAD_FONT2=1",
"-DLOAD_GFXFF=1",
"-DSMOOTH_FONT=1",
"-DSPI_FREQUENCY=55000000",
"-DSPI_READ_FREQUENCY=20000000",
"-DSPI_TOUCH_FREQUENCY=2500000",
"-DTOUCH_CS=-1",

"-DCYD_SCREEN_HEIGHT_PX=240",
"-DCYD_SCREEN_WIDTH_PX=320",
"-DCYD_SCREEN_GAP_PX=8",
"-DCYD_SCREEN_MIN_BUTTON_HEIGHT_PX=35",
"-DCYD_SCREEN_MIN_BUTTON_WIDTH_PX=35",
"-DCYD_SCREEN_FONT=lv_font_montserrat_14",
"-DCYD_SCREEN_FONT_SMALL=lv_font_montserrat_10",
"-DCYD_SCREEN_SIDEBAR_SIZE_PX=40",
"-DCYD_SCREEN_DRIVER_ESP32_2432S028R=1"
],
"f_cpu": "240000000L",
"f_flash": "40000000L",
"flash_mode": "dio",
"mcu": "esp32",
"variant": "esp32"
},
"connectivity": [
"wifi",
"bluetooth",
"ethernet",
"can"
],
"debug": {
"openocd_board": "esp-wroom-32.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "esp32-2432S028R",
"upload": {
"flash_size": "4MB",
"maximum_ram_size": 327680,
"maximum_size": 4194304,
"require_upload_port": true,
"speed": 460800
},
"url": "https://www.aliexpress.com/item/1005004502250619.html",
"vendor": "Sunton"
}
108 changes: 108 additions & 0 deletions CYD-Klipper/boards/esp32-3248S035C-smartdisplay.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
{
"build": {
"arduino": {
"ldscript": "esp32_out.ld"
},
"core": "esp32",
"extra_flags": [
"'-D ARDUINO_ESP32_DEV'",
"'-D ESP32_3248S035C'",
"'-D LCD_WIDTH=320'",
"'-D LCD_HEIGHT=480'",
"'-D BCKL=27'",
"'-D LCD_ST7796_SPI'",
"'-D ST7796_SPI_HOST=SPI2_HOST'",
"'-D ST7796_SPI_DMA_CHANNEL=SPI_DMA_CH_AUTO'",
"'-D ST7796_SPI_BUS_MOSI_IO_NUM=13'",
"'-D ST7796_SPI_BUS_MISO_IO_NUM=12'",
"'-D ST7796_SPI_BUS_SCLK_IO_NUM=14'",
"'-D ST7796_SPI_BUS_QUADWP_IO_NUM=GPIO_NUM_NC'",
"'-D ST7796_SPI_BUS_QUADHD_IO_NUM=GPIO_NUM_NC'",
"'-D ST7796_SPI_CONFIG_CS_GPIO_NUM=15'",
"'-D ST7796_SPI_CONFIG_DC_GPIO_NUM=2'",
"'-D ST7796_SPI_CONFIG_SPI_MODE=SPI_MODE0'",
"'-D ST7796_SPI_CONFIG_PCLK_HZ=24000000'",
"'-D ST7796_SPI_CONFIG_TRANS_QUEUE_DEPTH=10'",
"'-D ST7796_SPI_CONFIG_LCD_CMD_BITS=8'",
"'-D ST7796_SPI_CONFIG_LCD_PARAM_BITS=8'",
"'-D ST7796_SPI_CONFIG_FLAGS_DC_AS_CMD_PHASE=false'",
"'-D ST7796_SPI_CONFIG_FLAGS_DC_LOW_ON_DATA=false'",
"'-D ST7796_SPI_CONFIG_FLAGS_OCTAL_MODE=false'",
"'-D ST7796_SPI_CONFIG_FLAGS_LSB_FIRST=false'",
"'-D ST7796_DEV_CONFIG_RESET_GPIO_NUM=GPIO_NUM_NC'",
"'-D ST7796_DEV_CONFIG_COLOR_SPACE=ESP_LCD_COLOR_SPACE_BGR'",
"'-D ST7796_DEV_CONFIG_BITS_PER_PIXEL=16'",
"'-D ST7796_DEV_CONFIG_FLAGS_RESET_ACTIVE_HIGH=false'",
"'-D ST7796_DEV_CONFIG_VENDOR_CONFIG=NULL'",
"'-D LCD_SWAP_XY=false'",
"'-D LCD_MIRROR_X=true'",
"'-D LCD_MIRROR_Y=false'",
"'-D BOARD_HAS_TOUCH'",
"'-D TOUCH_GT911_I2C'",
"'-D GT911_I2C_HOST=0'",
"'-D GT911_I2C_CONFIG_SDA_IO_NUM=33'",
"'-D GT911_I2C_CONFIG_SCL_IO_NUM=32'",
"'-D GT911_I2C_CONFIG_SDA_PULLUP_EN=GPIO_PULLUP_ENABLE'",
"'-D GT911_I2C_CONFIG_SCL_PULLUP_EN=GPIO_PULLUP_ENABLE'",
"'-D GT911_I2C_CONFIG_MASTER_CLK_SPEED=400000'",
"'-D GT911_I2C_CONFIG_CLK_FLAGS=0'",
"'-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=25'",
"'-D GT911_TOUCH_CONFIG_INT_GPIO_NUM=21'",
"'-D GT911_TOUCH_CONFIG_LEVELS_RESET=0'",
"'-D GT911_TOUCH_CONFIG_LEVELS_INTERRUPT=0'",
"'-D TOUCH_SWAP_XY=true'",
"'-D TOUCH_SWAP_X=false'",
"'-D TOUCH_SWAP_Y=false'",
"'-D BOARD_HAS_TF'",
"'-D TF_CS=5'",
"'-D TF_SPI_MOSI=23'",
"'-D TF_SPI_SCLK=18'",
"'-D TF_SPI_MISO=19'",
"'-D BOARD_HAS_RGB_LED'",
"'-D RGB_LED_R=4'",
"'-D RGB_LED_G=16'",
"'-D RGB_LED_B=17'",
"'-D BOARD_HAS_CDS'",
"'-D CDS=34'",
"'-D BOARD_HAS_SPEAK'",
"'-D SPEAK=26'"
],
"f_cpu": "240000000L",
"f_flash": "40000000L",
"flash_mode": "dio",
"mcu": "esp32",
"variant": "esp32"
},
"connectivity": [
"wifi",
"bluetooth",
"ethernet",
"can"
],
"debug": {
"openocd_board": "esp-wroom-32.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "esp32-3248S035C",
"upload": {
"flash_size": "4MB",
"maximum_ram_size": 327680,
"maximum_size": 4194304,
"require_upload_port": true,
"speed": 460800
},
"url": "https://www.aliexpress.com/item/1005004632953455.html",
"vendor": "Sunton"
}
67 changes: 67 additions & 0 deletions CYD-Klipper/boards/esp32-3248S035C.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
{
"build": {
"arduino": {
"ldscript": "esp32_out.ld"
},
"core": "esp32",
"extra_flags": [
"-DUSER_SETUP_LOADED=1",
"-DST7796_DRIVER=1",
"-DTFT_BL=27",
"-DTFT_BACKLIGHT_ON=HIGH",
"-DTFT_MISO=12",
"-DTFT_MOSI=13",
"-DTFT_SCLK=14",
"-DTFT_CS=15",
"-DTFT_DC=2",
"-DTFT_RST=-1",
"-DLOAD_GCLD=1",
"-DLOAD_FONT2=1",
"-DLOAD_GFXFF=1",
"-DSMOOTH_FONT=1",
"-DSPI_FREQUENCY=55000000",
"-DSPI_READ_FREQUENCY=20000000",
"-DSPI_TOUCH_FREQUENCY=2500000",
"-DTOUCH_CS=-1",

"-DCYD_SCREEN_HEIGHT_PX=320",
"-DCYD_SCREEN_WIDTH_PX=480",
"-DCYD_SCREEN_GAP_PX=10",
"-DCYD_SCREEN_MIN_BUTTON_HEIGHT_PX=40",
"-DCYD_SCREEN_MIN_BUTTON_WIDTH_PX=40",
"-DCYD_SCREEN_FONT=lv_font_montserrat_16",
"-DCYD_SCREEN_FONT_SMALL=lv_font_montserrat_12",
"-DCYD_SCREEN_SIDEBAR_SIZE_PX=50",
"-DCYD_SCREEN_DRIVER_ESP32_3248S035C=1",
"-DCYD_SCREEN_DISABLE_TOUCH_CALIBRATION=1"
],
"f_cpu": "240000000L",
"f_flash": "40000000L",
"flash_mode": "dio",
"mcu": "esp32",
"variant": "esp32"
},
"connectivity": [
"wifi",
"bluetooth",
"ethernet",
"can"
],
"debug": {
"openocd_board": "esp-wroom-32.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "esp32-3248S035C",
"upload": {
"flash_size": "4MB",
"maximum_ram_size": 327680,
"maximum_size": 4194304,
"require_upload_port": true,
"speed": 460800
},
"url": "https://www.aliexpress.com/item/1005004632953455.html",
"vendor": "Sunton"
}
23 changes: 23 additions & 0 deletions CYD-Klipper/extract_commit.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import subprocess

def extract_commit() -> tuple[str, str]: # Version, Commit
git_describe_output = subprocess.run(["git", "describe", "--tags"], stdout=subprocess.PIPE, text=True, check=True).stdout.strip()
split_output = git_describe_output.split("-")
return split_output[0], split_output[2][1:]

try:
data = extract_commit()
version = f"{data[0]}\\ ({data[1]})"
except:
version = "Unknown"


flag = "-D REPO_VERSION=\\\"" + version + "\\\""
print(f"Version: {version}")
print(f"Flag: {flag}")

Import("env")

env.Append(
BUILD_FLAGS=[flag]
)
Loading
Loading