Skip to content

Commit

Permalink
PLUS_V4.2.13 update
Browse files Browse the repository at this point in the history
  • Loading branch information
CChen616 committed Jan 15, 2024
1 parent 5c88ce2 commit fcb6245
Show file tree
Hide file tree
Showing 6 changed files with 147 additions and 104 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)** |
2 changes: 2 additions & 0 deletions include/event.h
Original file line number Diff line number Diff line change
Expand Up @@ -263,4 +263,6 @@ void send_gcode(std::string command);

void refresh_page_loading();

void refresh_page_pre_heating_2();

#endif
15 changes: 14 additions & 1 deletion include/ui.h
Original file line number Diff line number Diff line change
Expand Up @@ -695,20 +695,33 @@
#define TJC_PAGE_PRINT_LOG_F 118
#define TJC_PAGE_PRINT_LOG_YES 0x00

#define TJC_PAGE_LOADING 119
#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
52 changes: 28 additions & 24 deletions src/event.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,9 @@ std::string previous_zoffset;
//4.2.5 CLL 新增息屏功能
extern bool previous_caselight_value;

extern int load_target;
extern bool load_mode;

/* 更新页面处理 */
void refresh_page_show() {
if (current_page_id != TJC_PAGE_PRINTING) {
Expand Down Expand Up @@ -718,6 +721,10 @@ void refresh_page_show() {
refresh_page_loading();
break;

case TJC_PAGE_PRE_HEATING_2:
refresh_page_pre_heating_2();
break;

default:
break;
}
Expand Down Expand Up @@ -2973,7 +2980,7 @@ void start_retract() {
send_cmd_vid(tty_fd, "gm0", "9");
// send_cmd_vid_en(tty_fd, "gm0", 1);
} else if (current_page_id == TJC_PAGE_PRINT_FILAMENT) {
send_cmd_vid(tty_fd, "gm0", "2");
// send_cmd_vid(tty_fd, "gm0", "2");
// send_cmd_vid_en(tty_fd, "gm0", 1);
}
}
Expand All @@ -2984,7 +2991,7 @@ void start_extrude() {
send_cmd_vid(tty_fd, "gm0", "10");
// send_cmd_vid_en(tty_fd, "gm0", 1);
} else if (current_page_id == TJC_PAGE_PRINT_FILAMENT) {
send_cmd_vid(tty_fd, "gm0", "3");
// send_cmd_vid(tty_fd, "gm0", "3");
}
}

Expand Down Expand Up @@ -3688,12 +3695,8 @@ void filament_unload() {
// 加热到280度后自动退料
//2023.4.25-5 修改自动退料
//ep->Send(json_run_a_gcode("M84\nM109 T0 S280\nM83\nG1 E10 F300\nG1 E-90 F300\n")); // 退料先解锁电机
if (printer_extruder_target >= 250) {
ep->Send(json_run_a_gcode("M109 S" + std::to_string(printer_extruder_target) + "\n"));
}else {
ep->Send(json_run_a_gcode("M109 S250 \n"));
}
ep->Send(json_run_a_gcode("M603"));
ep->Send(json_run_a_gcode("M109 S" + std::to_string(load_target) + "\n"));
ep->Send(json_run_a_gcode("M604\n"));

//4.2.4 CLL 修复断料检测与退料冲突bug
//if (previous_filament_sensor_state == true) {
Expand All @@ -3703,11 +3706,7 @@ void filament_unload() {
}

void filament_load() {
if (printer_extruder_target >= 250) {
ep->Send(json_run_a_gcode("M109 S" + std::to_string(printer_extruder_target) + "\n"));
} else {
ep->Send(json_run_a_gcode("M109 S250\n"));
}
ep->Send(json_run_a_gcode("M109 S" + std::to_string(load_target) + "\n"));
ep->Send(json_run_a_gcode("M604\n"));
}

Expand Down Expand Up @@ -4111,22 +4110,12 @@ void check_filament_type() {
//2.1.2 CLL 新增退料界面
void refresh_page_unloading() {
if (printer_idle_timeout_state == "Ready") {
if (printer_print_stats_state == "paused") {
send_cmd_pic(tty_fd, "unload_finish.b[0]", "441");
} else {
send_cmd_pic(tty_fd, "unload_finish.b[0]", "443");
}
page_to(TJC_PAGE_UNLOAD_FINISH);
}
}

void refresh_page_loading() {
if (printer_idle_timeout_state == "Ready") {
if (printer_print_stats_state == "paused") {
send_cmd_pic(tty_fd, "load_finish.b[0]", "441");
} else {
send_cmd_pic(tty_fd, "load_finish.b[0]", "443");
}
page_to(TJC_PAGE_LOAD_FINISH);
}
}
Expand Down Expand Up @@ -4206,7 +4195,11 @@ void refresh_page_open_level() {

//4.2.7 CLL 新增恢复出厂设置功能
void restore_config() {
system("cp /home/mks/klipper_config/config.mksini.bak /home/mks/klipper_config/config.mksini");
system("rm /home/mks/gcode_files/.cache/*");
system("curl -X POST http://127.0.0.1:7125/server/history/reset_totals");
system("curl -X DELETE 'http://127.0.0.1:7125/server/history/job?all=true'");
system("rm /home/mks/gcode_files/.cache/*\n");
system("cp /home/mks/klipper_config/config.mksini.bak /home/mks/klipper_config/config.mksini\n");
//ep->Send(json_run_a_gcode("BED_MESH_PROFILE REMOVE=\"default\"\nSAVE_CONFIG"));
//sleep(1);
//page_to(TJC_PAGE_RESTORING);
Expand Down Expand Up @@ -4244,4 +4237,15 @@ void filament_sensor_switch(bool status) {
//4.2.10 CLL 新增共振补偿超时强制跳转
void send_gcode(std::string command) {
ep->Send(json_run_a_gcode(command));
}

void refresh_page_pre_heating_2() {
send_cmd_txt(tty_fd, "t1", "(" + std::to_string(printer_extruder_temperature) + "/" + std::to_string(printer_extruder_target) + ")");
if (printer_extruder_temperature == load_target) {
if (load_mode == true) {
page_to(TJC_PAGE_LOADING);
} else {
page_to(TJC_PAGE_UNLOADING);
}
}
}
Loading

0 comments on commit fcb6245

Please sign in to comment.