Skip to content

Commit

Permalink
Merge pull request #10 from QIDITECH/PLUS_V4.2.13
Browse files Browse the repository at this point in the history
Plus v4.2.13
  • Loading branch information
CChen616 authored Jan 15, 2024
2 parents 0e79e55 + fcb6245 commit bc65aac
Show file tree
Hide file tree
Showing 18 changed files with 2,056 additions and 913 deletions.
58 changes: 15 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,28 @@
<p align="center"><a href="/LICENSE"><img alt="GPL-V3.0 License" src="other/qidi.svg"></a></p>

# Document Instructions

QIDI_PLUS3 is a server-side software that interacts with the screen in the Plus3 model system. This document contains our source code, and we provide the safer solution to update it: Download the packaged file to a USB drive and insert it into the machine for updating.</br>

QIDI provides a packaged version file in the version bar next to it. Please download the compressed package file starting with PLUS.
We have provided multiple different versions of source code. Please select the branch you want to download, and the name of the branch is the corresponding version name.

## 4.2.12 Update content

### **FUNCTIONALITY UPDATE**

<strong><ol>
<li>Enhanced Filament Loading/Unloading During Printing: Modified the logic for filament loading and unloading. For unloading, a prompt to cut the filament is displayed. </li>
<li>Modified Filament Loading Sizes: Options for filament loading sizes are now 20mm, 50mm, and 100mm.</li>
<li>Deletion of Previous Print Cache Files Upon Update: The update will now automatically delete previously stored print cache files.</li>
<li>
Updated Default Save Parameters: By default, the filament runout detection will be enabled after the update.
</li>
<li>Preservation of Original Offset Values: The compensation values in the klipper_config/configuration will be retained post-update.
</li>
<li>Removal of Last Travel Distance in Leveling Record: The leveling process now starts from zero travel distance.</li>
<li>Modifications to Hidden WIFI Functionality: The interface now includes an option to input a hidden WIFI network.</li>
</ol></strong>
## 4.2.13 Update content

### **UI UPDATE**
<strong><ol>
<li> UI Changes for Filament Runout Detection: Modified the interface icons corresponding to the enable/disable state during printing.</li>
<li>Memory Full Pop-Up Notification: Added a notification for when the memory is full.</li>
<li>Addition of an 'Updating' Interface: Introduced an interface screen that displays during updates.</li>
</ol></strong>

### **BUG FIX**
<strong><ol>
<li>Fixed Leveling Completion Screen Freeze: Removed the conditional check after pressing the button, allowing for an unconditional transition to the next screen.</li>
<li>SOC Update: WiFi settings will be preserved after updates.</li>
<li>Material Handling: Improved logic for material feeding and retraction.</li>
<li>Heating Limit: Maximum chamber heating restricted to 65 degrees Celsius.</li>
<li>Factory Reset: Also clears web-based print records and accumulated time.</li>
<li>SSH Login: Added login info .</li>
</ol></strong>

## Detailed update process
#### Packaged files

Note that all updates can not be updated from higher versions
#### Packaged files

Note that all updates can not be updated from higher versions

1. Select the latest version in the version release bar next to it, download the compressed file package starting with PLUS and extract it locally.<a href="https://github.com/QIDITECH/QIDI_PLUS3/releases">Jump link</a>

Expand All @@ -50,29 +33,18 @@ Note that all updates can not be updated from higher versions

3. Insert the USB drive into the machine's USB interface, and an update prompt will appear on the version information interface. Click the update button to restart according to the prompt.




## Report Issues and Make Suggestions

***You can contact [After-Sales Service](https://qidi3d.com/pages/warranty-policy-after-sales-support) to report issues and make suggestions.***
***You can directly contact our after-sales team for any issues related to machine mechanics, slicing software, firmware, and various machine issues. They will reply to your questions within twelve hours.***
**_You can contact [After-Sales Service](https://qidi3d.com/pages/warranty-policy-after-sales-support) to report issues and make suggestions._**
**_You can directly contact our after-sales team for any issues related to machine mechanics, slicing software, firmware, and various machine issues. They will reply to your questions within twelve hours._**

## Others

Different from the usual method of directly accessing the fluid page through an IP address, the QIDI version sets the default port number to 10088, so you need to add `:10088` after the machine's IP to access the fluid page</br>
The 3D printers of QIDI are based on Klipper.On the basic of Klipper open source project, we have made some modifications to it's source code to meet some of the user's needs.At the same time, we have also made modifications to Moonraker, so that the screens we set can correspond to the operations on the page.
Thanks to the developers and maintainers of these open source projects.Please consider using or supporting these powerful projects.

Software | QIDI edition
----|----
**Klipper** | **[https://github.com/QIDITECH/klipper](https://github.com/QIDITECH/klipper)**
**Moonraker** | **[https://github.com/QIDITECH/moonrake](https://github.com/QIDITECH/moonrake)**








| Software | QIDI edition |
| ------------- | -------------------------------------------------------------------------------- |
| **Klipper** | **[https://github.com/QIDITECH/klipper](https://github.com/QIDITECH/klipper)** |
| **Moonraker** | **[https://github.com/QIDITECH/moonrake](https://github.com/QIDITECH/moonrake)** |
82 changes: 41 additions & 41 deletions include/KlippyRest.h
Original file line number Diff line number Diff line change
@@ -1,41 +1,41 @@
#ifndef KLIPPY_REST_H
#define KLIPPY_REST_H

#include <iostream>

#include "./HTTPRequest.hpp"


std::string get_server_files_list(std::string ip, std::string port);
std::string get_server_files_directory(std::string ip, std::string port);

std::string server_files_metadata(std::string ip, std::string port, std::string filename);
/* 打印机对象参数获取 */
std::string printer_objects_query(std::string ip, std::string port, std::string parameter);
/* 打印管理 */
// 打印文件
std::string printer_print_start(std::string ip, std::string port, std::string filename);
// 暂停打印
std::string printer_print_pause(std::string ip, std::string port);
// 继续打印
std::string printer_print_resume(std::string ip, std::string port);
// 取消打印
std::string printer_print_cancel(std::string ip, std::string port);
/* 打印机状态 */


std::string get_server_info(std::string ip, std::string port);
std::string get_oneshot_token(std::string ip, std::string port);
std::string get_printer_info(std::string ip, std::string port);

/* File Operations */
std::string delete_file_delete(std::string ip, std::string port, std::string filepath);

std::string get_thumbnail_stream(std::string ip, std::string port, std::string thumbnail);
std::string send_request(std::string ip, std::string port, std::string method, std::string request_type);



// std::string send_post_request(std::string ip, std::string port, std::string method);

#endif
#ifndef KLIPPY_REST_H
#define KLIPPY_REST_H

#include <iostream>

#include "./HTTPRequest.hpp"


std::string get_server_files_list(std::string ip, std::string port);
std::string get_server_files_directory(std::string ip, std::string port);

std::string server_files_metadata(std::string ip, std::string port, std::string filename);
/* 打印机对象参数获取 */
std::string printer_objects_query(std::string ip, std::string port, std::string parameter);
/* 打印管理 */
// 打印文件
std::string printer_print_start(std::string ip, std::string port, std::string filename);
// 暂停打印
std::string printer_print_pause(std::string ip, std::string port);
// 继续打印
std::string printer_print_resume(std::string ip, std::string port);
// 取消打印
std::string printer_print_cancel(std::string ip, std::string port);
/* 打印机状态 */


std::string get_server_info(std::string ip, std::string port);
std::string get_oneshot_token(std::string ip, std::string port);
std::string get_printer_info(std::string ip, std::string port);

/* File Operations */
std::string delete_file_delete(std::string ip, std::string port, std::string filepath);

std::string get_thumbnail_stream(std::string ip, std::string port, std::string thumbnail);
std::string send_request(std::string ip, std::string port, std::string method, std::string request_type);

std::string url_encode(const std::string& url);

// std::string send_post_request(std::string ip, std::string port, std::string method);

#endif
4 changes: 3 additions & 1 deletion include/MakerbaseParseIni.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
#include "./dictionary.h"
#include "./iniparser.h"

#define INIPATH "/root/config.mksini"
//4.2.7 CLL 修改配置文件保存位置
//#define INIPATH "/root/config.mksini"
#define INIPATH "/home/mks/klipper_config/config.mksini"

#ifdef XINDI_PLUS
#define VERSION_PATH "/root/xindi/version"
Expand Down
24 changes: 24 additions & 0 deletions include/event.h
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ void wifi_save_config();
void disable_page_about_successed();
void finish_tjc_update();
void filament_unload();
void filament_load();
int get_cal_printed_time(int print_time);

int get_mks_total_printed_time();
Expand Down Expand Up @@ -241,4 +242,27 @@ void refresh_page_unloading();

void refresh_page_preview_pop();

//4.2.5 CLL 修复UI按下效果
void refresh_page_open_level();

//4.2.1 CLL 修复无法读取文件名中有空格文件
std::string replaceCharacters(const std::string& path, const std::string& searchChars, const std::string& replacement);

//4.2.7 CLL 新增恢复出厂设置按钮
void restore_config();
void refresh_page_restoring();

//4.2.10 CLL 新增输出日志功能
void print_log();

//4.2.10 CLL 修改断料检测开关逻辑
void filament_sensor_switch(bool status);

//4.2.10 CLL 新增共振补偿超时强制跳转
void send_gcode(std::string command);

void refresh_page_loading();

void refresh_page_pre_heating_2();

#endif
82 changes: 74 additions & 8 deletions include/ui.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@
#define TJC_PAGE_OPEN_LEVELED_FINISH 0x02

#define TJC_PAGE_OPEN_SYNTONY 6
//4.2.10 CLL 新增共振补偿超时强制跳转
#define TJC_PAGE_OPEN_SYNTONY_JUMP_OUT 0x00

#define TJC_PAGE_OPEN_FILAMENT_1 7 // 作废
#define TJC_PAGE_OPEN_FILAMENT_1_NEXT 0x02 // 作废
Expand Down Expand Up @@ -82,6 +84,8 @@
#define TJC_PAGE_OPEN_VIDEO_3_EXTRUDE 0x01

#define TJC_PAGE_OPEN_VIDEO_4 90
#define TJC_PAGE_OPEN_VIDEO_4_UP 0x00
#define TJC_PAGE_OPEN_VIDEO_4_DOWN 0x01
#define TJC_PAGE_OPEN_VIDEO_4_PREVIOUS 0x02
#define TJC_PAGE_OPEN_VIDEO_4_NEXT 0x03

Expand Down Expand Up @@ -192,9 +196,11 @@
#define TJC_PAGE_PRINT_FILAMENT_RETRACT 0x06
#define TJC_PAGE_PRINT_FILAMENT_EXTRUDE 0x07
#define TJC_PAGE_PRINT_FILAMENT_10 0x03
#define TJC_PAGE_PRINT_FILAMENT_20 0x04
#define TJC_PAGE_PRINT_FILAMENT_50 0x05
#define TJC_PAGE_PRINT_FILAMENT_50 0x04
#define TJC_PAGE_PRINT_FILAMENT_100 0x05
#define TJC_PAGE_PRINT_FILAMENT_TARGET 0x0a
#define TJC_PAGE_PRINT_FILAMENT_LOAD 0x0b
#define TJC_PAGE_PRINT_FILAMENT_UNLOAD 0x0c

#define TJC_PAGE_MOVE 22
#define TJC_PAGE_MOVE_FILAMENT 0x0d
Expand Down Expand Up @@ -239,8 +245,8 @@
#define TJC_PAGE_FILAMENT_BTN_SERVICE 0x0f
#define TJC_PAGE_FILAMENT_UNLOAD 0x15
#define TJC_PAGE_FILAMENT_BTN_10 0x1e
#define TJC_PAGE_FILAMENT_BTN_20 0x1f
#define TJC_PAGE_FILAMENT_BTN_50 0x20
#define TJC_PAGE_FILAMENT_BTN_50 0x1f
#define TJC_PAGE_FILAMENT_BTN_100 0x20
#define TJC_PAGE_FILAMENT_BTN_RETRACT 0x16
#define TJC_PAGE_FILAMENT_BTN_EXTRUDE 0x17
#define TJC_PAGE_FILAMENT_BTN_EXTRUDER 0x22
Expand All @@ -252,6 +258,7 @@
#define TJC_PAGE_FILAMENT_EXTRUDER 0x11
#define TJC_PAGE_FILAMENT_HEATER_BED 0x12
#define TJC_PAGE_FILAMENT_HOT 0x13
#define TJC_PAGE_FILAMENT_LOAD 0x18

#define TJC_PAGE_FILAMENT_BTN_STOP 0x21

Expand Down Expand Up @@ -284,7 +291,6 @@
#define TJC_PAGE_LEVEL_MODE_AUTO_LEVEL 0x09
#define TJC_PAGE_LEVEL_MODE_MANUAL_LEVEL 0x0b
#define TJC_PAGE_LEVEL_MODE_SET_ZOFFSET 0x0a
#define TJC_PAGE_LEVEL_MODE_CALIBRATION 0x0a
#define TJC_PAGE_LEVEL_MODE_SYNTONY_MOVE 0x0c
#define TJC_PAGE_LEVEL_MODE_PID 0x0d

Expand Down Expand Up @@ -349,6 +355,8 @@
#define TJC_PAGE_SET_ZOFFSET_B16 0x16

#define TJC_PAGE_SYNTONY_MOVE 42
//4.2.10 CLL 新增共振补偿超时强制跳转
#define TJC_PAGE_SYNTONY_MOVE_JUMP_OUT 0x00

#define TJC_PAGE_SYNTONY_FINISH 43

Expand Down Expand Up @@ -442,6 +450,10 @@
#define TJC_PAGE_ABOUT_RESET 0x0a
#define TJC_PAGE_ABOUT_UPDATE 0x0c
#define TJC_PAGE_ABOUT_OOBE 0x0e
//4.2.7 CLL 新增恢复出厂设置功能
#define TJC_PAGE_ABOUT_RESTORE 0x0f
//4.2.10 CLL 新增输出日志功能
#define TJC_PAGE_ABOUT_PRINT_LOG 0x10

#define TJC_PAGE_PRINT_F_POP 53
#define TJC_PAGE_PRINT_F_POP_YES 0x02
Expand All @@ -465,8 +477,8 @@

#define TJC_PAGE_SET_ZOFFSET_2 54
#define TJC_PAGE_SET_ZOFFSET_2_001 0x02
#define TJC_PAGE_SET_ZOFFSET_2_0025 0x03
#define TJC_PAGE_SET_ZOFFSET_2_005 0x04
#define TJC_PAGE_SET_ZOFFSET_2_005 0x03
#define TJC_PAGE_SET_ZOFFSET_2_01 0x04
#define TJC_PAGE_SET_ZOFFSET_2_1 0x09
#define TJC_PAGE_SET_ZOFFSET_2_UP 0x05
#define TJC_PAGE_SET_ZOFFSET_2_DOWN 0x06
Expand Down Expand Up @@ -503,6 +515,10 @@
#define TJC_PAGE_NO_UPDATA_SERVICE 0x02
#define TJC_PAGE_NO_UPDATA_RESET 0x09
#define TJC_PAGE_NO_UPDATA_OOBE 0x0e
//4.2.7 CLL 新增恢复出厂设置功能
#define TJC_PAGE_NO_UPDATA_RESTORE 0x0f
//4.2.10 CLL 新增输出日志功能
#define TJC_PAGE_NO_UPDATA_PRINT_LOG 0x10

#define TJC_PAGE_KEYDBA 51
#define TJC_PAGE_KEYDBA_HOME 0x2c
Expand Down Expand Up @@ -609,6 +625,10 @@

#define TJC_PAGE_FILAMENT_SHOWDOWN 97

#define TJC_PAGE_UNLOAD_FINISH 98
#define TJC_PAGE_UNLOAD_FINISH_YES 0x00
#define TJC_PAGE_UNLOAD_FINISH_RELOAD 0x01

#define TJC_PAGE_SAVING_2 101

#define TJC_PAGE_LEVEL_NULL_1 102 //2023.5.8 CLL 修改自动调平页面跳转
Expand Down Expand Up @@ -654,7 +674,53 @@
//2.1.2 CLL 打印前判断耗材种类并弹窗
#define TJC_PAGE_PREVIEW_POP_1 112
#define TJC_PAGE_PREVIEW_POP_2 113
#define TJC_PAGE_PREVIEW_POP_YES 0x00
#define TJC_PAGE_PREVIEW_POP_YES 0x00
//4.2.3 CLL 耗材确认弹窗新增不再提示按钮
#define TJC_PAGE_PREVIEW_POP_NO_POP 0x01

//4.2.5 CLL 新增息屏功能
#define TJC_PAGE_SCREEN_SLEEP 114
#define TJC_PAGE_SCREEN_SLEEP_ENTER 0x00
#define TJC_PAGE_SCREEN_SLEEP_EXIT 0x01

//4.2.7 CLL 新增恢复出厂设置功能
#define TJC_PAGE_RESTORE_CONFIG 115
#define TJC_PAGE_RESTORE_CONFIG_YES 0x00
#define TJC_PAGE_RESTORE_CONFIG_NO 0x01

#define TJC_PAGE_RESTORING 116

//4.2.10 CLL 新增输出日志功能
#define TJC_PAGE_PRINT_LOG_S 117
#define TJC_PAGE_PRINT_LOG_F 118
#define TJC_PAGE_PRINT_LOG_YES 0x00

#define TJC_PAGE_PRE_HEATING_2 119

#define TJC_PAGE_LOAD_FINISH 120
#define TJC_PAGE_LOAD_FINISH_YES 0x00
#define TJC_PAGE_LOAD_FINISH_RETRY 0x01

#define TJC_PAGE_PRE_UNLOAD 121
#define TJC_PAGE_PRE_UNLOAD_NEXT 0x00
#define TJC_PAGE_PRE_UNLOAD_BACK 0x01

#define TJC_PAGE_MEMORY_WARNING 122
#define TJC_PAGE_MEMORY_WARNING_YES 0x00

#define TJC_PAGE_UPDATING 123

#define TJC_PAGE_PRE_LOAD 124
#define TJC_PAGE_PRE_LOAD_NEXT 0x00
#define TJC_PAGE_PRE_LOAD_BACK 0x01

#define TJC_PAGE_LOADING 125

#define TJC_PAGE_PRE_HEATING_1 126
#define TJC_PAGE_PRE_HEATING_1_SET_1 0x00
#define TJC_PAGE_PRE_HEATING_1_SET_2 0x01
#define TJC_PAGE_PRE_HEATING_1_SET_3 0x02
#define TJC_PAGE_PRE_HEATING_1_BACK 0x04

#endif

Expand Down
Loading

0 comments on commit bc65aac

Please sign in to comment.