So I sat down and ported the bigtreetech LCD Marlin control system from https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware
Uarts are problem still, but can be tested by :- changing #define SERIAL_PORT _USART2 (#125) to #define SERIAL_PORT _USART1 & #define SERIAL_PORT_2 _USART2 (#126) in variants.h
and connecting TXD/RXD from wifi connector to the TX/RX of the Ramps cable , open a terminal on the ramps board and you should see commands echoed back, https://github.com/darkspr1te/MKSTFT_Marlin_Touch After flashing , copy MKS folder to SDCARD , create blank file reset.txt (this triggers touch calib) reset MKSTFT , fonts should update right away. Enjoy, feel free to Fork ,
N.B USB Host hangs, CPU / XTal speed is incorrect but close enough for 115200 baud to work , will loose uart sync sometimes, using UART2 as main uart(via AUX1 TX/RX) not working, AUX1 TX/RX is 5v, low is 2.56 - need to test on another board speaker works but disabled for normal use switch board type from #define STM32F10X_CL (#79 variants.h file ) to #define STM32F10X_HD will still function abliet slower, must port those _CL changes to other lib(arduino one) as is now show's it's correct speed loading data from spi (test difference you will see) only issue is under _CL the math is off for uart, errors occur. i2c eeprom untested, built usin CMSIS libs/STDPeriph SDDeinit(); causes hang see boot.c for SPI EEprom & sdcard updating code
- Added MKS 2.8/3.2 TFT touch marlin control panel - by darkspr1te
- change character encoding from GBK to UTF-8, compatible with new languages
- add "Preheat" menu for one button preheating(PLA, PETG, ABS)
- add command for Bltouch in "ABL"(automatic leveling) menu
- add More "menu" in printing (set RGB color, extrude for change filament, etc...)
- Rearranged the "Settings" menu
- add silent mode(disable the buzzer)
- add automatic shutdown after printing feature(default disable, enable in menu "Settings->Feature->AutoPower" or "Printing->Feature->AutoPower")
- add smart filament detect feature (enable in menu "Settings->Feature->Smart ON", NEED Marlin to add "M114 E" command support, which will be merged into Mallin as soon as possible)
- New languages, currently supporting 11 languages: English, simplified Chinese, Russian, Japanese, Armenian, German, Czech, Spanish, French, Portuguese, Italian
- Added a Custom gcode menu
- Added unified menu
- unified menu
- classic menu
- Unified menu add status menu (hotend & bed temperature, fan speed, move speed, flow, XYZ position)
- Gcode file under classic menu is in icon mode, and model preview feature is added(Use with this tool)
- Gcode file under unified menu is in list mode, unable to preview the model, but more friendly for long filename
- Fixed the bug that tft35 V3.0 could not connect to printer when switching from LCD12864 mode to touch screen mode
- Fixed the bug of printing from SD card on board
- Fixed print random stop when enable "keep alive" feature in Marlin
- add some settings (Before that, update your icons folder)
- Long Press Touch Screen or Rotary Encoder entry mode selection(Marlin's mode is SPI mode, touch mode is UART mode)
- setting -> more set -> Change 12864 background color
- setting -> more set -> Change 12864 font color
- setting -> more set -> GCODE
- add support TFT35 V3.0 (STM32F207)
- add filament runout on/off button
- replace Power off button with Rotate UI button
- improve the compatibility of smoothieware
- add manually leveling menu
- add multi-serial port function (Touch screen can be directly controlled by ESP3D)
- clean up framework
- add support TFT35 V2.0 (SDIO)
- add function filament runout detect, power supply control
- fix unable to print properly from U disk(Stop printing at random)
- fix busy popup with "Processing" in Printing and Stop Printing
- The first version of the Integration Project
- Install the compilation environment, We recommend vscode + platformio. If you have already installed it, please skip this step. If not, please see here.
-
Please see the picture(①), which is the PlatformIO plugin, and then click ② Open Project to open the project.
-
Find the BIGTREETECH TFT35 firmware source directory , then click Open
-
After opening the project, go to the platformio.ini file and change the default environment . the “env_default” can be “BIGTREE_TFT35_V1_2”, “BIGTREE_TFT35_V1_1”, and “BIGTREE_TFT35_V1_0” it depends on your hardware.
-
After the modification is complete, press Ctrl+Alt+B, and platformio will automatically download the compiled component and compile it.
-
After the compilation is successful, a BIQU_TFT35_V1.x.x.bin file will be generated in the .pioenvs\BIGTREE_TFT35_V1_x directory. We need copy this file to the SD card, and insert this SD Card to TFT35 Touch Screen, then reset the Touch Screen, the firmware will be updated automatically.
#define TOOL_NUM 1 //set in 1~6
#define EXTRUDER_NUM 1 //set in 1~6
#define FAN_NUM 1 //set in 1~6
to config hotend, extruder, fan number
copy firmware(.bin), fonts(TFT24/font) and icons(TFT24/bmp) to SD Card root directory, insert SD card to touch screen, reset touch screen and then it will be updated automatically.
unified menu in here
classic menu in here
The structure of the files in SD Card should be as follows
- the .bin file is the firmware of BIGTREETECH TFT24, this file needs to be updated every time for update function
- the TFT24 folder contains the icons and fonts, if you want to customize them, see here and update the folder by SD Card
- icons: BMP format, 24/32 bit depth (don't need update every time)
- fonts: this is a bitmap fonts of ASCII and unicode. (don't need update every time)