Skip to content
This repository has been archived by the owner on Jan 18, 2024. It is now read-only.

Commit

Permalink
- Removed unused/unsupported BTT screens
Browse files Browse the repository at this point in the history
- Cleanup of source code and configuration files
- Use new ST7920Emulator library
- SPI is now always ON
  • Loading branch information
teeminus committed Feb 3, 2021
1 parent 39fb9e9 commit 9e32d73
Show file tree
Hide file tree
Showing 48 changed files with 222 additions and 2,578 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -120,3 +120,5 @@ cmake-build-*
.pydevproject
.settings
.classpath

*.bin
41 changes: 21 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,29 @@
# NoTouchScreenFirmware
Stripped down version of BIGTREETECH-TouchScreenFirmware which only supports ST7920 emulation (Marlin Mode)
Stripped down version of BIGTREETECH-TouchScreenFirmware which only supports ST7920 emulation (Marlin Mode). This project only uses peripheral drivers supplied by the screen manufacturer and uses it's own library to parse the ST7920 commands.

# What it does and what not
This firmware only emulates a ST7920. There is no support for touch, fonts, icons, etc. ...
I only tested the firmware with the TFT35v3. Others might work - or not. If someone wants to add support for other screens as well, this is very welcome. Don't blame me if it does not work for your display, if it burns down your house or causes any other harm.

## Which BTT screen is working
## Supported BTT screens
Precompiled binares can be found in the [binares](binaries) folder.

| Environment | Compile status | Tested |
|----------------------------------------------------------|------------------------|--------|
| [BIGTREE_TFT24_V1_1](binaries/BIGTREE_TFT24_V1_1) | SUCCESS | NO |
| BIGTREE_TFT28_V1_0 | FAILED (No ST7920_SPI) | - |
| [BIGTREE_TFT28_V3_0](binaries/BIGTREE_TFT28_V3_0) | SUCCESS | NO |
| [BIGTREE_TFT35_B1_V3_0](binaries/BIGTREE_TFT35_B1_V3_0) | SUCCESS | NO |
| [BIGTREE_TFT35_E3_V3_0](binaries/BIGTREE_TFT35_E3_V3_0) | SUCCESS | NO |
| BIGTREE_TFT35_V1_0 | FAILED (No ST7920_SPI) | - |
| BIGTREE_TFT35_V1_1 | FAILED (No ST7920_SPI) | - |
| BIGTREE_TFT35_V1_2 | FAILED (No ST7920_SPI) | - |
| BIGTREE_TFT35_V2_0 | FAILED (No ST7920_SPI) | - |
| [BIGTREE_TFT35_V3_0](binaries/BIGTREE_TFT35_V3_0) | SUCCESS | YES |
| [BIGTREE_TFT43_V3_0](binaries/BIGTREE_TFT43_V3_0) | SUCCESS | NO |
| [BIGTREE_TFT50_V3_0](binaries/BIGTREE_TFT50_V3_0) | SUCCESS | NO |
| [BIGTREE_TFT70_V3_0](binaries/BIGTREE_TFT70_V3_0) | SUCCESS | NO |
| [MKS_28_V1_0](binaries/MKS_28_V1_0) | SUCCESS | NO |
| [MKS_32_V1_4](binaries/MKS_32_V1_4) | SUCCESS | NO |
| [MKS_32_V1_4_NOBL](binaries/MKS_32_V1_4_NOBL) | SUCCESS | NO |
| Environment | Tested |
|----------------------------------------------------------|--------|
| [BIGTREE_TFT24_V1_1](binaries/BIGTREE_TFT24_V1_1) | NO |
| [BIGTREE_TFT28_V3_0](binaries/BIGTREE_TFT28_V3_0) | NO |
| [BIGTREE_TFT35_B1_V3_0](binaries/BIGTREE_TFT35_B1_V3_0) | NO |
| [BIGTREE_TFT35_E3_V3_0](binaries/BIGTREE_TFT35_E3_V3_0) | NO |
| [BIGTREE_TFT35_V3_0](binaries/BIGTREE_TFT35_V3_0) | YES |
| [BIGTREE_TFT43_V3_0](binaries/BIGTREE_TFT43_V3_0) | NO |
| [BIGTREE_TFT50_V3_0](binaries/BIGTREE_TFT50_V3_0) | NO |
| [BIGTREE_TFT70_V3_0](binaries/BIGTREE_TFT70_V3_0) | NO |
| [MKS_28_V1_0](binaries/MKS_28_V1_0) | NO |
| [MKS_32_V1_4](binaries/MKS_32_V1_4) | NO |
| [MKS_32_V1_4_NOBL](binaries/MKS_32_V1_4_NOBL) | NO |

# Further development
This project is ment not to be BTT exclusive. To achieve this goal we need to move away from the BTT sources and on to a more flexible framework. If you want your screen to be supported, feel free to create a MR.

# Support
If you like this project and/or want to support further development you might consider to <a href="https://www.buymeacoffee.com/teeminus" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a>
Binary file modified binaries/BIGTREE_TFT24_V1_1/BIGTREE_TFT24_V1.1.26.x.bin
Binary file not shown.
Binary file modified binaries/BIGTREE_TFT28_V3_0/BIGTREE_TFT28_V3.0.26.x.bin
Binary file not shown.
Binary file modified binaries/BIGTREE_TFT35_B1_V3_0/BIGTREE_TFT35_V3.0_B1.26.x.bin
Binary file not shown.
Binary file modified binaries/BIGTREE_TFT35_E3_V3_0/BIGTREE_TFT35_V3.0_E3.26.x.bin
Binary file not shown.
Binary file modified binaries/BIGTREE_TFT35_V3_0/BIGTREE_TFT35_V3.0.26.x.bin
Binary file not shown.
Binary file modified binaries/BIGTREE_TFT43_V3_0/BIGTREE_TFT43_V3.0.26.x.bin
Binary file not shown.
Binary file modified binaries/BIGTREE_TFT50_V3_0/BIGTREE_TFT50_V3.0.26.x.bin
Binary file not shown.
Binary file modified binaries/BIGTREE_TFT70_V3_0/BIGTREE_TFT70_V3.0.26.x.bin
Binary file not shown.
Binary file modified binaries/MKS_28_V1_0/MKSTFT28.bin
Binary file not shown.
Binary file modified binaries/MKS_32_V1_4/MKS_32_V1_4.26.x.bin
Binary file not shown.
Binary file modified binaries/MKS_32_V1_4_NOBL/MKS_32_V1_4.26.x.bin
Binary file not shown.
2 changes: 2 additions & 0 deletions buildroot/scripts/auto_copy_firmware.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
def copy_firmware(source, target, env):
firmware_name = "/" + env['PROGNAME'] + ".bin"
firmware_path = env.subst('$BUILD_DIR') + firmware_name
if os.path.exists("binaries") == False:
os.mkdir("binaries")
output_path = "binaries/" + env['PIOENV']
if os.path.exists(output_path) == False:
os.mkdir(output_path)
Expand Down
124 changes: 14 additions & 110 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,12 @@
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

;BIGTREE_TFT35_V1_0
;BIGTREE_TFT35_V1_1
;BIGTREE_TFT35_V1_2
;BIGTREE_TFT35_V2_0
;BIGTREE_TFT35_V3_0
;BIGTREE_TFT35_E3_V3_0
;BIGTREE_TFT35_B1_V3_0
;BIGTREE_TFT43_V3_0
;BIGTREE_TFT50_V3_0
;BIGTREE_TFT70_V3_0
;BIGTREE_TFT28_V1_0
;BIGTREE_TFT28_V3_0
;BIGTREE_TFT24_V1_1
;MKS_32_V1_4
Expand All @@ -34,14 +29,9 @@ boards_dir = buildroot/boards
;Release mode
default_envs = BIGTREE_TFT24_V1_1, BIGTREE_TFT28_V3_0, BIGTREE_TFT35_B1_V3_0, BIGTREE_TFT35_E3_V3_0, BIGTREE_TFT35_V3_0, BIGTREE_TFT43_V3_0, BIGTREE_TFT50_V3_0, BIGTREE_TFT70_V3_0, MKS_28_V1_0, MKS_32_V1_4, MKS_32_V1_4_NOBL

;Build all Targets
;default_envs = BIGTREE_TFT35_V1_0, BIGTREE_TFT35_V1_1, BIGTREE_TFT35_V1_2, BIGTREE_TFT35_V2_0, BIGTREE_TFT35_V3_0, BIGTREE_TFT35_E3_V3_0, BIGTREE_TFT35_B1_V3_0, BIGTREE_TFT43_V3_0, BIGTREE_TFT50_V3_0, BIGTREE_TFT70_V3_0, BIGTREE_TFT28_V1_0, BIGTREE_TFT28_V3_0, BIGTREE_TFT24_V1_1, MKS_32_V1_4, MKS_32_V1_4_NOBL, MKS_28_V1_0

[common]
default_src_filter = +<*> -<Libraries> -<User/Hal/stm32f10x> -<User/Hal/stm32f2_f4xx>
build_flags = -fmax-errors=5
-g
-ggdb
-Wno-missing-braces
-DUSE_STDPERIPH_DRIVER=
-Isrc/User/Fatfs
Expand All @@ -63,6 +53,9 @@ build_flags = -fmax-errors=5
-DSOFTWARE_VERSION_SHORT=26
extra_scripts = pre:buildroot/scripts/custom_filename.py
buildroot/scripts/auto_copy_firmware.py
lib_deps =
teeminus/ST7920Emulator


[stm32f10x]
default_src_filter = ${common.default_src_filter} +<Libraries/cmsis/stm32f10x> +<Libraries/fwlib/stm32f10x> +<User/Hal/stm32f10x>
Expand Down Expand Up @@ -90,86 +83,6 @@ build_flags = ${common.build_flags}
-Isrc/Libraries/fwlib/stm32f4xx
-Isrc/Libraries/fwlib/stm32f4xx/inc
-Isrc/User/Hal/stm32f2_f4xx
#
# BIGTREE TFT35 V1.0
#
[env:BIGTREE_TFT35_V1_0]
platform = [email protected]
framework = stm32cube
board = STM32F103VC
upload_protocol = cmsis-dap
src_filter = ${stm32f10x.default_src_filter} +<Libraries/Startup/stm32f10x_hd>
extra_scripts = ${common.extra_scripts}
buildroot/scripts/stm32f10x_0x6000_iap.py
build_flags = ${stm32f10x.build_flags}
-DSTM32F10X_HD=
-DHSE_VALUE=16000000ul
-DVECT_TAB_FLASH=0x08006000
-DRAM_SIZE=48 ; Available RAM size in kbytes
-DHARDWARE="BIQU_TFT35_V1.0"
-DHARDWARE_SHORT="B35V10"
-DTFT35_V1_0="B35V10"

#
# BIGTREE TFT35 V1.1
#
[env:BIGTREE_TFT35_V1_1]
platform = [email protected]
framework = stm32cube
board = STM32F103VC
upload_protocol = cmsis-dap
src_filter = ${stm32f10x.default_src_filter} +<Libraries/Startup/stm32f10x_hd>
extra_scripts = ${common.extra_scripts}
buildroot/scripts/stm32f10x_0x6000_iap.py
build_flags = ${stm32f10x.build_flags}
-DSTM32F10X_HD=
-DHSE_VALUE=16000000ul
-DVECT_TAB_FLASH=0x08006000
-DRAM_SIZE=48 ; Available RAM size in kbytes
-DHARDWARE="BIQU_TFT35_V1.1"
-DHARDWARE_SHORT="B35V11"
-DTFT35_V1_1=

#
# BIGTREE TFT35 V1.2
#
[env:BIGTREE_TFT35_V1_2]
platform = [email protected]
framework = stm32cube
board = STM32F103VC
upload_protocol = cmsis-dap
src_filter = ${stm32f10x.default_src_filter} +<Libraries/Startup/stm32f10x_hd>
extra_scripts = ${common.extra_scripts}
buildroot/scripts/stm32f10x_0x6000_iap.py
build_flags = ${stm32f10x.build_flags}
-DSTM32F10X_HD=
-DHSE_VALUE=16000000ul
-DVECT_TAB_FLASH=0x08006000
-DRAM_SIZE=48 ; Available RAM size in kbytes
-DHARDWARE="BIQU_TFT35_V1.2"
-DHARDWARE_SHORT="B35V12"
-DTFT35_V1_2=

#
# BIGTREE TFT35 V2.0
#
[env:BIGTREE_TFT35_V2_0]
platform = [email protected]
framework = stm32cube
board = STM32F103VC
upload_protocol = cmsis-dap
src_filter = ${stm32f10x.default_src_filter} +<Libraries/Startup/stm32f10x_hd>
extra_scripts = ${common.extra_scripts}
buildroot/scripts/stm32f10x_0x3000_iap.py
build_flags = ${stm32f10x.build_flags}
-DSTM32F10X_HD=
-DHSE_VALUE=16000000ul
-DVECT_TAB_FLASH=0x08003000
-DRAM_SIZE=48 ; Available RAM size in kbytes
-DHARDWARE="BIQU_TFT35_APP1_V2.0"
-DHARDWARE_SHORT="B35V20"
-DTFT35_V2_0=
monitor_speed = 250000

#
# BIGTREE TFT35 V3.0
Expand All @@ -190,6 +103,7 @@ build_flags = ${stm32f2xx.build_flags}
-DHARDWARE="BIGTREE_TFT35_V3.0"
-DHARDWARE_SHORT="B35V30"
-DTFT35_V3_0=
lib_deps = ${common.lib_deps}

#
# BIGTREE TFT35 E3 V3.0
Expand All @@ -210,6 +124,7 @@ build_flags = ${stm32f2xx.build_flags}
-DHARDWARE="BIGTREE_TFT35_V3.0_E3"
-DHARDWARE_SHORT="35V3E3"
-DTFT35_E3_V3_0=
lib_deps = ${common.lib_deps}

#
# BIGTREE TFT35 B1 V3.0
Expand All @@ -230,6 +145,7 @@ build_flags = ${stm32f2xx.build_flags}
-DHARDWARE="BIGTREE_TFT35_V3.0_B1"
-DHARDWARE_SHORT="35V3B1"
-DTFT35_B1_V3_0=
lib_deps = ${common.lib_deps}

#
# BIGTREE TFT43 V3.0
Expand All @@ -250,6 +166,7 @@ build_flags = ${stm32f2xx.build_flags}
-DHARDWARE="BIGTREE_TFT43_V3.0"
-DHARDWARE_SHORT="B43V30"
-DTFT43_V3_0=
lib_deps = ${common.lib_deps}

#
# BIGTREE TFT50 V3.0
Expand All @@ -270,6 +187,7 @@ build_flags = ${stm32f2xx.build_flags}
-DHARDWARE="BIGTREE_TFT50_V3.0"
-DHARDWARE_SHORT="B50V30"
-DTFT50_V3_0=
lib_deps = ${common.lib_deps}

#
# BIGTREE TFT70 V3.0
Expand All @@ -290,26 +208,7 @@ build_flags = ${stm32f4xx.build_flags}
-DHARDWARE="BIGTREE_TFT70_V3.0"
-DHARDWARE_SHORT="B70V30"
-DTFT70_V3_0=

#
# BIGTREE TFT28 V1.0
#
[env:BIGTREE_TFT28_V1_0]
platform = [email protected]
framework = stm32cube
board = STM32F103VC
upload_protocol = cmsis-dap
src_filter = ${stm32f10x.default_src_filter} +<Libraries/Startup/stm32f10x_hd>
extra_scripts = ${common.extra_scripts}
buildroot/scripts/stm32f10x_0x6000_iap.py
build_flags = ${stm32f10x.build_flags}
-DSTM32F10X_HD=
-DHSE_VALUE=16000000ul
-DVECT_TAB_FLASH=0x08006000
-DRAM_SIZE=48 ; Available RAM size in kbytes
-DHARDWARE="BIQU_TFT28_V1.0"
-DHARDWARE_SHORT="B28V10"
-DTFT28_V1_0=
lib_deps = ${common.lib_deps}

#
# BIGTREE TFT28 V3.0
Expand All @@ -330,6 +229,7 @@ build_flags = ${stm32f2xx.build_flags}
-DHARDWARE="BIGTREE_TFT28_V3.0"
-DHARDWARE_SHORT="B28V30"
-DTFT28_V3_0=
lib_deps = ${common.lib_deps}

#
# BIGTREE TFT24 V1.1
Expand All @@ -350,6 +250,7 @@ build_flags = ${stm32f10x.build_flags}
-DHARDWARE="BIGTREE_TFT24_V1.1"
-DHARDWARE_SHORT="B24V11"
-DTFT24_V1_1=
lib_deps = ${common.lib_deps}

#
# MKS TFT32 V1.4
Expand All @@ -371,6 +272,7 @@ build_flags = ${stm32f10x.build_flags}
-DHARDWARE="MKS_32_V1_4"
-DHARDWARE_SHORT="M32V14"
-DMKS_32_V1_4=
lib_deps = ${common.lib_deps}

#
# MKS TFT32 V1.4 No Bootloader
Expand All @@ -393,6 +295,7 @@ build_flags = ${stm32f10x.build_flags}
-DHARDWARE_SHORT="M32V14"
-DMKS_32_V1_4=
-DMKS_32_V1_4_NOBL=
lib_deps = ${common.lib_deps}

#
# MKS TFT28 V1.0
Expand All @@ -414,3 +317,4 @@ build_flags = ${stm32f10x.build_flags}
-DHARDWARE="MKS_28_V1_0"
-DHARDWARE_SHORT="M28V10"
-DMKS_28_V1_0=
lib_deps = ${common.lib_deps}
Loading

0 comments on commit 9e32d73

Please sign in to comment.