PRO610HT V1.2.8.13T2 2026/04/20
软件限制固件最低版本为1.1.4.28T
Minimum firmware version: 1.1.4.28T
1、修复调平第三步不进行的问题，对应bug 5411；
2、修复调平左右喷头高度差无法消除旧值和输入新值，数字键盘都没法显示全的问题，对应bug5410；

PRO610HT V1.2.8.13T1 2026/03/26
软件限制固件最低版本为1.1.4.28T
Minimum firmware version: 1.1.4.28T
1、替换所有的Qt自带的虚拟键盘，使用我们自研的虚拟键盘；
1.1、有线网络IP地址等信息的输入；
1.2、无线网络IP地址等信息的输入；
1.3、远程连接密码的输入；
1.4、无线IP密码的输入；
1.5、命令界面命令的输入；
1.6、机器名字的输入；
1.7、锁屏密码的输入；
1.8、材料库里温度，材料名等的输入；
1.9、后处理界面，温度设置等；
1.10、水冷机界面，目标温度设置；
1.11、称重传感器重量设置；
1.12、夹紧力设置；
1.13、打印过程数据采样时间；
1.14、平台松紧度调节；
1.15、喷头高度差调整；
1.16、以及其他需要输入的地方；

2、修复嘉立创反馈，有线监听打开后，重启远程连接的地方IP不显示，以及监听断开的bug；
3、完成打印过程中M114和M105发送变为2s一次；
4、集成了所有打印过程数据的功能；

测试重点：
1、打印过程数据记录log是否有问题；
2、所有输入的地方虚拟键盘是否能弹出，并正确输入；
3、监听打开时再断开监听是否生效；

PRO610HT V1.2.8.12T28 2025/09/18
软件限制固件最低版本为1.1.4.28T
Minimum firmware version: 1.1.4.28T
1、添加收到固件回复M24后，重发时间恢复5s。

重点测试：
查看log是不是发送U12后重发时间变为30s，收到ok RE M24 后恢复5s。

PRO610HT V1.2.8.12T27 2025/08/01

软件限制固件最低版本为1.1.4.28T
Minimum firmware version: 1.1.4.28T
1、将发送U12的重发时间改为30s，避免固件报399错误
2、取消上位机对非打印状态399错误的屏蔽，因为固件有报错上位机不弹框将不能清错，导致错误不能处理。

重点测试：
1、在非打印状态是否还会报399的错误。

PRO610HT V1.2.8.12T26 2025/08/01

软件限制固件最低版本为1.1.4.28T
Minimum firmware version: 1.1.4.28T

1、屏蔽非打印状态的399报错。

重点测试：
1、在非打印状态是否还会报399的错误。

PRO610HT V1.2.8.12T25 2025/08/01

软件限制固件最低版本为1.1.4.28T
Minimum firmware version: 1.1.4.28T

1、优化上位机的串口发送和接收速度：
1.1、串口通信使用库CommunicationWithLowerMachine，让串口数据接收和发送单独在一个线程里；
1.2、将线程ComThread和SenderWorkerThread绑核到Core0；
2、添加后处理的调试信息；
3、修复后处理开关不能保存的问题，对应bug 5010

重点测试：
1、700g 工艺包，双电脑API连接（包括有线和无线）打印是否有凸点；
2、因为有改动通信部分，改动不大，但是谨慎起见还是请整个测试大纲走一下；
3、bug 5010。

PRO610HT V1.2.8.12T24 2025/7/28

软件限制固件最低版本为1.1.4.28T
Minimum firmware version: 1.1.4.28T

1、添加远程连接界面里的中文翻译，对应bug5000；
2、添加369和371报错提示；
提示内容为：左喷头：左喷头过热 检查喷头温度相关硬件，联系售后。右喷头：右喷头过热 检查喷头温度相关硬件，联系售后。
3、将369和371提示翻译为中文；
4、将适配的固件最低版本设为1.1.4.28T。

重点测试：
1、bug 5000；
2、查看369和371报错；
3、检查最低版本提示是否为：1.1.4.28T。

PRO610HT V1.2.8.12T23 2025/7/24

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54

1、修复上料结束后，点击“结束，屏幕无反应，不会退出上料页面的问题，对应bug4991；
2、修复调平第三步点不进去的问题，对应bug4995；
3、修复点击调平按钮的同时，编码器校准按钮也同时亮起的问题，对应bug4996；
4、添加远程切片点击开始打印，检测到打印机未关锁，自动关锁的功能，避免客户使用时还要去上位机手动关锁的麻烦。

重点测试：
1、切片调用开始打印是否能自动关闭打印机的锁；
2、bug4991；
3、bug4996；
4、bug4995。

PRO610HT V1.2.8.12T22 2025/7/23

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54

1、添加有线进行dhcp时弹出框提示：正在获取 IP 地址，请稍候（最多等待 1 分钟）…。
2、添加dhcp成功还是失败的提示。
3、添加开机初始检测到网线插上，自动进行网络配置，如果是dhcp模式，自动进行dhcp获得有效网址的功能。
4、添加开机后插上网线，自动进行网络配置，如果是dhcp模式，自动进行dhcp获得有效网址的功能。
5、去掉提示用户接路由器的弹出框。
6、有线网络提示框添加简体中文的翻译。
7、修复远程监听的是有线，重启后IP是无线IP的问题。
8、修复有线网相关问题，修复3级报错后，点击续打，屏幕上弹出显示打印完成框，对应bug：4976。

重点测试：
1、有线网络dhcp以及static相关功能；
2、切片使用有线控制上位机打印相关功能；
3、bug4976；

PRO610HT V1.2.8.12T21 2025/7/18

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54

1、替换desktopGuide和desktop文件，经验证，删除系统log和禁用系统log生效。
备注：验证方式为：从仓库领的没有禁用系统log和删除系统log的新的610设备，升级到该版本后，删除了系统log和禁用系统log生效。

测试重点：
是否还会出现开机卡LOGO的bug.

PRO610HT V1.2.8.12T20 2025/7/16

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54

1、添加逻辑，在判断材料库是否缺失后，如果没有缺失，可以打印的时候判断是报错恢复打印还是正常打印流程，如果是恢复打印走恢复打印逻辑；
2、添加逻辑，如果界面的Home选项打开，发送G28,如果关闭不发送G28；

测试重点：
出现3级报错后恢复打印，回零逻辑是否正确。

PRO610HT V1.2.8.12T19 2025/7/5

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54

1、修改给切片返回的日志队列API：v2/printer/logfilelist，最新的日志排在最前面。以便于日志查找和下载。对应bug：4732.
2、将中文模式下，Syssetting页面里的所有漏掉的英文翻译为中文。对应bug：4918.

3、实现嘉立创提出的需求，用户可以编辑远程控制的密码，对应bug 4903，满足以下规则：
3.1、6~10位包含大小写字母和数字；
3.2、取消刷新功能；
3.3、密码输入保存到配置文件中（只要用户不修改该密码一直不会变）；
3.4、初始密码设为：675fAH;
3.5、用户可编辑；
3.6、密码使用用户之前设置的密码，升级软件不变；

4、修复打印机密码，键盘被当前图层挡住无法修改的bug，对应bug 4903；
5、嘉立创反馈的切片进度不对的问题；
6、3级报错后续打去掉G28。


PRO610HT V1.2.8.12T18 2025/6/11

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54
1、去掉stop.


PRO610HT V1.2.8.12T17 2025/5/27

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54
1、修复有时程序启动的时候黑屏问题，对应bug 4815.

测试重点：
1、bug 4815.


PRO610HT V1.2.8.12T16 2025/5/16

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54

1、修复bug关机后，没有新的log产生，对应bug4772；
2、修复手动上料异常，对应bug4773；
3、将重复发送gcode的计时缩短为5s，如果发送完gcode给下位机，超过5S下位机无反馈，发送同一行gcode，对应bug4767；


测试重点：
1、bug4772；
2、bug4773；
3、bug4767；

PRO610HT V1.2.8.12T15 2025/5/6

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54

1、在设置页面去掉鼓风机，鼓风机隐藏起来；
2、添加料仓为空的提示，对应bug4021；
3、将续打功能，合到develop分支；
4、添加打印日志记录可以导出（CSV)文件；
5、添加材料库到最新文档20250428，同时解决bug3996；

测试重点：
1、测试以上1~4，
2、核对材料库是否含有最新文档V20250428;

PRO610HT V1.2.8.12T14 2025/4/15

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54

1、版本号写在配置文件里，以后可以编译一次，适应所有机型；
2、修改在v3.5系统中U盘中文和日语乱码问题，在v3.5系统中远程切片和U盘都无乱码；

测试重点：
1、版本号是否和对应的机器匹配；
2、在v3.5系统中，切片传输以及U盘显示各个国家的语言是否有乱码；

PRO610HT V1.2.8.12T13 2025/3/12

软件限制固件最低版本为1.1.4.8
Minimum firmware version: 1.1.4.8

1. 增加234错误提示内容
Added error description for errorcode 234.

2. 完成平台松紧度调整页和喷嘴高度差调整页，可以通过点击材料页右下角的按钮进入。
Added buildplate tightness tune page and nozzle height difference tun page, which are available through bottom right button on material page.

3. 修改软件安装过程
Modified software installation routine.

4. 修复材料库错误标记用户自定义材料为默认材料的问题；
Fixed the error that user-defined material name may be classified as default materials under some circumstances.

5. 修复材料库可以修改材料名称为同名材料的问题；
Fixed the error that edited material name can be changed to another existing material name.

6. 修复编码器校准页，挤出按钮按下后不能点击的问题；
Fixed the error that extruding page on encoder calibration page cannot be pressed again once pressed.

7. 修改导入/导出材料窗口，选择FTP/USB的按钮提示内容；
Modified import/export material dialog, where FTP/USB button indicates the path to be switched to.

8. 修改材料库编辑功能，现编辑页的平台温度不能编辑，但可以通过编辑腔室温度的数值进行修改。
Modified function to edit material base. Now buildplate temperature cannot be modified directly. It may be modified when user modifies chamber temperature.

9. 修改【轴线】页按钮内容
Modified contents on buttons on axis page.
10. 关闭管理页后，选中日志取消选中

Modified the behavior that selected logs will be unselected after admin page get closed.

11. 语言选择对话框语言按钮使用对应语言
Language selection dialog will show name of language expressed in corresponding language.

12. 取消【允许测试】勾选框，修改【允许保存日志功能】，不再需要勾选【允许测试】才能勾选。
Remove checkbox for debug enable. Function to save logs will take debug enable checkbox as a prerequisite.

V1.2.8.12T12 2025/2/15
    
软件限制固件最低版本为1.1.4.5
Minimum firmware version: 1.1.4.5

1.添加CRC校验开关：
1.1.打开CRC开关，使用CRC校验；
1.2.关闭CRC开关，使用异或校验；
1.3.机器在打印状态该开关失效；
1.4.机器在非打印状态该开关生效；
1.5.添加该开关的中文翻译；
1.6.该开关在developMode打开后显示；
1.7.该开关默认打开，保存在配置文件中，如果用户改变设置，重启或者升级后保存之前的设置；


1.Add CRC check switch:
1.1. Enable CRC switch to use CRC check.
1.2. Disable CRC switch to use XOR check.
1.3. The switch is ineffective when the machine is in printing status.
1.4. The switch is effective when the machine is in non-printing status.
1.5. Add the Chinese translation for this switch.
1.6. The switch is displayed after enabling developMode.
1.7. The switch is enabled by default and saved in the configuration file. If the user changes the settings, the previous settings should be retained after reboot or upgrade.

V1.2.8.12T9 2025/1/24
    
软件限制固件最低版本为1.1.4.5
Minimum firmware version: 1.1.4.5

1.发送gcode给下位机，等待下位机反馈，超时时间从10s改为20s；
Send G-code to the lower computer, wait for feedback from the lower computer, and change the timeout period from 10 seconds to 20 seconds.

2.添加收到固件回复"Stop\n"后停止超时检测，再次收到"okN**"开启超时检测；
After receiving the firmware response "Stop\n," stop timeout detection; upon receiving "okN**" again, start timeout detection.

3.gcode的校验方式改为CRC-16-MODBUS(0x8005反转0xA001)校验；
Change the G-code verification method to CRC-16-MODBUS (0x8005 reversed to 0xA001) verification.

4.加CRC校验指令U43 Sx,x=0表示异或校验,x=1表示CRC校验；
Add a CRC verification command `U43 Sx`, where `x=0` indicates XOR verification, and `x=1` indicates CRC verification.

5.发送串口数据加锁，加等待功能；
Add a lock and wait functionality for serial data transmission.

6.打印过程中M105和M114单独发送，而不是粘在gcode一行指令后面；
During printing, send `M105` and `M114` commands separately, instead of appending them to a single line of G-code.

7.log时间显示到ms；
Display the log timestamp down to milliseconds.

8.收到"okN**"发送下一行gcode；
Send the next line of G-code upon receiving "okN**".

V1.2.8.12T8 2024/12/12
    
软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54
    
1.修复在远程打印页面的密码低于6位时不能更新的问题。
Fixed the problem that password for remote print cannot update when its length is within 6 digits.

V1.2.8.12T7 2024/12/10
   
软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54

1. 修复进料成功后，页面显示进料失败的问题；
Fixed the problem that loading page indicates loading failed after a successful loading material attempt.

V1.2.8.12T6 2024/12/9

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54
   
1.修复使用安装软件后，开机停在logo界面的问题。
Fixed a problem that screen get stucked in logo page.

V1.2.8.12T5 2024/12/6

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54

1.修复安装错误导致的卡死问题；
Fixed a problem that screen get stucked due to errorneous installation.

2.修复进料的异常停止问题；
Fixed a abnormal stop in loading material process.

V1.2.8.12T4 2024/12/4

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54

1.增加用于统计所有打印任务细节的csv文件，可以使用Excel打开；
Added function to record statistics of printing tasks into csv file. File may be viewed through Excel.

2.增加【开始打印日期】和【开始打印任务】统计条目；
Add Begin Print Time and Begin Print Time into csv statistics.

3.在测试页（通过长按Logo进入的页面）的管理员页，增加任务日志勾选框和任务统计列表，可以相应打开/关闭任务日志功能或任务统计列表功能；
Added checkboxes for tasklog and statistics csv, which will enable (or disable) tasklog or csv functions.

4.现任务日志功能和任务统计列表功能能在任务中断后记录任务信息，并正确标注打印任务为中断而非完成；
Now tasklog and statistics csv function works when printing task is aborted. The aborted status will also be marked in tasklog and csv statistics.

5.修改UDP收到广播的方式，UDP线程sleep时间从500m变为200ms.
Modify the way UDP receives broadcasts, and the sleep time for the UDP thread is changed from 500m to 200ms.

6.增加多项局域网API；
Add multiple LAN APIs.

7.添加打印机名字显示，修改，以及保存等功能；
Add functions for displaying, modifying, and saving printer names.

8.修改局域网密码长度为6位，包括数字、大写字母、小写字母；
Change the LAN password length to 6 characters, including digits, uppercase letters, and lowercase letters.

9.安装包结构使用加密压缩包形式：
Installation package structure uses encrypted compressed package format.

V1.2.8.12T3 2024/11/23
 
软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54
 
1.解决自动换料问题
Fixed the problem in auto loading material.

V1.2.8.12T2 2024/11/22

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54

1.修复在错误码217和218弹窗点击【进料】后，不检测料仓是否为空的问题。
Fixed the problem that user may enter load material page through error popup when error is 217 or 218.

V1.2.8.12T1 2024/11/20

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54

1.修改进料过程。现按下【进料】按钮后，会检测料仓状态。若料仓为空，屏幕会出现相应提示，且进料过程页不会打开。
Modified loading material process. Now after clicking on load button, filament status will be checked. If filament box is empty, screen will show a popup indicating it and prevent loading material process.

V1.2.8.11 2024/10/28

软件限制固件最低版本为1.1.3.54
Minimum firmware version: 1.1.3.54

1.优化编码器校准流程；
Optimize encoder calibration process.

2.优化进料处理流程；
Optimize load material process.

3.添加固件最低版本警告；
Added the minimum firmware version warning popup. 

4.提供中英文编码器校验页使用流程文档
Added tutorials about encoder calibration in both Chinese and English versions.

V1.2.8.10 2024/9/23

1.修改调平与校准页面，增加【校准微调】按钮，从左至右按照Z轴校准>校准微调>调平>XY轴校准的顺序排步，修复相关页面的细节，以及左/右喷嘴显示错误的问题;
Modified guideform for leveling and calibration. Add page, Proximity dist, to guideform and list all steps in order Z calibration > Proximity dist > leveling > XY calibration. Fixed details for those pages. Fixed the error that proximity dist page show incorrect left/right nozzle.

2.添加编码器校准验证功能;
Added encoder calibration function.

3.修复材料库自定义材料添加与删除的错误;
Fixed the error in adding and removing user-defined mistakes.

4.修复在设置腔温时，真空会自动关闭；点击开门真空会再次吸附的问题，以及在某些情况下，真空按钮不能点击的问题。
Fixed the error that setting chamber temperature will result in vacuum closing, and opening the door, vacuum will adsorb again. Fixed the error that vacuum button cannot be pressed under certain circumstances.

5.修复选项不能保存的问题;
Fixed the error that options cannot be saved.

6.修复剩余空间显示错误的问题;
Fixed the error that remaining space shown on system page is incorrect.

7.修复打印机暂停和恢复打印功能;
Fixed printer pause and resume function.

8.修复温度显示问题;
Fixed temperature display errors.

9.修复材料页;
Fixed material page.

10.修复在打印Gcode文件的过程中，自定倒退回到Gcode文件首行并重新打印的问题;
Fixed the error that printer rolls back to top of current Gcode files under printing process.

11.修复可以透过无线网络页面密码输入弹窗选中无线网络热点的问题;
Fixed the error that wifi password popup errorneously allows user to click through it.

12.修复打印机MANU/AUTO模式处理流程和RESET处理流程;
Fixed the routine of MANU/AUTO mode and RESET.

13.增加对局域网V2接口的支持，以及增加保存局域网API密码的功能;
Change the remote control password rule.Added function to save LAN API password.Added support for LAN API for version V2. Added function to save LAN API password.

14.增加对多点调平的支持;
Added support for multi-point leveling.

15.增加过热限制功能：修改腔室最高温度为300摄氏度，当腔室温度高于70摄氏度时，腔室门不能打开;
Add over-heated limitation. Changed max chamber temperature to 300 degree centigrade. User cannot open the front and top doors when chamber temperature is above 70 degree Celsius.

16.修改温度固件回复解读流程;
Modified the routine to handle replies from firmware about temperature.

17.增加塞塞尺功能;
Added support for filler gauge.

18.修复从USB读取文件异常的问题;
Fixed the problem that files from USB are read abnormally.

19.修复处理错误码的流程;
Fixed the routine to handle error codes.

20.增加【后处理过程】。在【系统配置】页关闭【开发者模式】后，点击【后处理过程】栏的按钮即可进入;
Add post process page. After switching off developer mode, press post process button to enter.

21.更新材料参数;
Update material document.

22.增加打印机在各种状态的时间统计和设备故障日志统计;
Add statistics for time under various states and malfunction. 

23.修复若干问题;
Fixed couples of mistakes.

24.增加中英文翻译功能;
Added Chinese and English translations.

V1.2.8.5 2023/9/27
1、增加 通过U盘读取识别和显示中文命名的打印文件，可以选中和开始打印。

V1.2.8.4 2023/9/12
1、关机时提示内容修改：从50℃改为60℃以上不能关机

V1.2.8.3 2023/8/19
1、上料过程，走到100%的过程多进20%的料。
2、解决远程api请求前门状态时，发送M13导致门被锁住的问题。
3、上料过程，喷头位置归零，不判断当前位置 。

V1.2.8.2 2023/5/31
修复bug：
1、手动上料进行到第二步后，中止上料，喷嘴设置温度从上料温度修改为0。
2、把打印文件放在U盘二级目录下开启打印，下一次开启U盘打印屏幕仍在二级目录，且一切空白；修改为重新进入一级目录
3、打印校准文件时，喷嘴刷不到毛刷(gcode文件修改)
4、2级报错后，点击恢复打印，屏幕上喷嘴的设置温度需要5s的时间从0变为设置温度；修改为立刻恢复设置温度

V1.2.8.1 2023/3/30
修复bug；
1.进入材料界面，材料不为空时，不应弹窗提示正确安装材料库。
2.应及时更新材料库文件material.json。

V1.2.8.0 2023/3/23
1.进料指令估算总数由150条改为100条，这样大概在100%的时候正好进入30s倒计时。
2.USB打印界面的“Usbprint”应显示完整。
3.断开远程连接后，远程打印图标应停止转动。
4.token的有效检测判断由大于等于变为大于。
5.允许用户手动输入API密码，但在点击刷新按钮时，若密码长度小于6，则拒绝生效该密码并给出提示。
6.重启后自动通过WLAN重新连接时，不应自动从静态切换到DHCP。
7.在启动远程连接时，加入了对有线网/无线网前三部分地址是否相同的检测，若相同则判定启动失败。
8.加载材料界面时，若材料为空，则提示正确安装材料库。
9.点击材料界面的校准按钮时，若材料为空，则提示正确安装材料库。
10.修复删除日志文件功能的逻辑漏洞：
1）删除日志文件函数中，可能会造成死循环。
2）可能会删除正用于记录的文件。


//======================================================
// Version 7 has 14 versions
//======================================================
V1.2.7.13 2023/1/11
1.因3XX告警而导致终止打印后，告警页面应盖住模型拾取页面。
2.修改217/218告警显示逻辑，杜绝在续打后进入缺料续打界面而引发后续问题。
1）告警217/218后再收到0告警时，应自动清除告警信息。
2）暂停打印时，217/218告警界面显示"Load material"按钮。
3）在非暂停打印状态时，不显示"Load material"按钮。
3.优化模型文件解析逻辑，避免因为乱码产生超长行字符串而导致程序崩溃。


V1.2.7.12 2023/1/9
1.加载U盘文件失败后，不应弹出材料确认界面。
2.修复暂停后续打，已打印时间和剩余打印时间计算错误的问题。
3.进入缺料续打界面时，不应发送M12开发指令，避免在Auto模式下会关闭屏幕电源。
4.解决网口常亮问题。
5.让报警信息置顶，比如让3XX报警页面盖住模型拾取页面。

V1.2.7.11 2022/12/15
1.优化退料流程：下料仓时发送“G1 F4000 E-2500”，否则发送“G1 F4000 E-2100”。
2.非打印状态下，显示217/218告警，但隐藏缺料续打按钮。
3.更新材料库。
1）底板温度参数值由整数变为1位浮点型。
2）注意测试预热、校准中调用的温度值是否正常。
4.打回对中文名称异常问题的修改。
1）根本原因是因为平板OS的编码是UTF-8，而加载的U盘是GBK。
2）目前选择优先支持本机的中文正常显示，比如FTP目录文件。
3）明确告知不支持U盘含有中文名称文件的导入。

V1.2.7.10 2022/11/30
1.修改安全模式下，为不同禁止开门场景提供响应的提示语。
2.调整调平与校准步骤，改为自动调平放在第一步、Z校准放在第二步。
3.更新1010和9085材料的名称为PEI 1010和PEI 9085。
4.调整进料界面。
1）第三步显示进料进度和倒计时信息。
2）第四步显示结果信息和Finish按钮。
5.修改272/372告警的提示语。


V1.2.7.9 2022/11/29
1.可正常显示中文文件名称。
2.可正常打印含有中文名称的模型文件。
3.优化已打印时间计算方法。
1）当前的已打印时间计算方式（通过计时器来累加一个数值），在程序出现卡顿的情况会计算不准。
2）故而采用查询当前时间与开始时间的差值来计算。
3）为了支持2），需要在用户更改系统时间后，同步2）中用到的开始时间。
4.替换掉水平校准文件里Z0.513的值。
1） 校准文件喷头伸长量补偿量计算方法：Z = (print_temprature - unload_temprature)*0.0005 + 0.3。
2） 根据左右喷头材料温度分别进行补偿。
5.调整提示窗口布局，里面提示语居中显示。

V1.2.7.8 2022/11/15
1.非打印状态，不提示272.
2.非可终止状态，不提示372.
3.调整告警窗口。
4.调整材料不一致的提示窗口宽度，防止按钮重叠。
5.将距离校准界面的材料名称控件加上长度和自动截断属性，防止显示重叠。
6.为水平校准界面的材料名称控件加上长度和自动截断属性，防止显示重叠。
7.材料导出代码中增加sync命令以同步文件系统状态，增加导出成功率。
8.非打印中，收到217/218时，不发送M998指令，以防止机器指示灯不停闪烁。


V1.2.7.7 2022/11/8
1.重启上位机软件后，应正确显示上一次选中的材料。
2.修改暂停中、恢复中、终止打印中的弹窗提示语。

V1.2.7.6 2022/11/7
1.开始打印时，给固件右喷嘴发送的温度应为退料温度而非舱室温度。

V1.2.7.5 2022/10/31
1.优化进退料流程，为此，上位机软件做出了如下修改：
1）退料时，将降温的目标浮动范围由20改为5，避免温度过低导致退料失败。
2）在启动打印时，给固件发送左右喷嘴的退料温度，帮助固件优化其自动退换料工艺。
3）打开模型文件后，检测与材料库选择材料的匹配情况，并给出弹窗提示。

2.修订或优化了其它4处。
1）暂停时，应可清除错误告警信息。
2）网络状态图标应及时更新。
3）出厂设置里的清除log功能应有效。
4）Z校准时，设置加热温度为对应材料的退料温度。

V1.2.7.4 2022/10/8
1.优化材料界面的下拉列表显示方式，使其在失去焦点时，能够自动关闭。
2.调整材料库列表行的高度以及子控件排布方式，使其显示规整一些。
3.修改舱室温度后，自动设置底板温度为舱室温度*0.95。
4.软件更新后，应保持原先选中的左右喷头的材料。
5.AUTO模式下，刚打印，平台上升过程中，点击门锁打开，不应提示腔温大于70度无法打开，但此时腔温只有50度。
疑似状态值没有初始化，导致出现随机值，而导致判断异常。
6.修改暂停弹窗英文单词pasusing错误。


V1.2.7.3 2022/9/14
1.优化预热流程，预防偶尔会在舱室和底板温度没到的情况下跳出预热阶段的问题。
1）将加热指令移到G28指令之后。
2）修改预热到达的判定条件。不应在当前接收到的目标温度为0时判定预热结束。

2.优化打印流程。
1）打印中，接收到ok时，应只发一条指令而非8条，这样会造成通信拥堵。
2）用户终止打印时，要等到固件回复后才执行一系列完成打印后的指令。


V1.2.7.2 2022/9/5
1.停止后处理提示框的按钮文字应合乎场景。
2.停止后处理后，应将舱室温度归0.
3.设置后处理功能入口在开发者模式下隐藏，在非开发者模式下显示，以避免按钮重合。
4.添加策略后，将当前活跃行号同步下移。
5.移动策略后，将当前活跃行号同步上移或下移。
6.修改温度到达的范围值由1变为5，否则容易报超时。
7.打印应可正常终止。
系上位机与固件的约定协议不一致所致。

V1.2.7.1 2022/9/5
1.修改因材料库路径不正确而导致的加载失败问题。

V1.2.7.0 2022/8/22
一、优化材料库
1.修改材料文件格式为JSON，方便用户浏览与编辑。
2.用户更新好材料库文件后，可不用重启软件，即可完成材料库信息的更新。
3.将材料库信息拆分保存成自定义材料和用户材料，更新软件时，只覆盖自定义材料。
4.设置舱室温度的最大输入值是300.
5.底板温度不可人为修改，应跟随舱室温度值自动减去10.
6.增加自定义材料的导入导出功能。
1）可从U盘或FTP目录下选择JSON文件进行导入。
2）可选择U盘或FTP下目录来导出材料文件。导出的文件格式为user_material_20220822_102942.json。
3）最多可支持导入自定义材料50条。

二、优化进退料流程
1.优化进料流程
1）将第3步的手动点击Next改为自动跳转到第4步。

2.优化退料流程。
1）修改加热的目标温度由打印温度改为退料温度。
2）采用新的退料工艺。
在加热到目前温度后，直接进行慢速退料（G1 F600 E-25），然后改为快速退料（G1 F4000 E-2600）

三、优化日志记录
1.开启日志记录时，不应检查剩余空间，即在存储空间达到限制值时，也可以开启日志记录。
2.优化log，将内存100M改成500M，新建条件由时间一天改为文件大小100M，删除条件为空间小于500M同时文件大于5则删除除最新的5个文件外的所有文件；
3.将log日志存入/usr/intamsys/ftp/log 文件夹。

四、优化打印流程
1.点击暂停打印时，给出等待窗口直到固件回复完成暂停动作消息。
2.点击恢复打印时，给出等待窗口直到固件回复完成恢复打印动作消息。
3.执行终止打印时，给出等待窗口直到固件回复完成终止打印动作消息。
4.再次打印时，不应超时发送上一次打印时的指令。
5.增加打印中超时检查时间由5s改为30s。
6.终止打印后，不应发送M355指令。

五、调整调平校准流程
1.z校准中，在第二步点击退出后，无论在弹出窗口选择Yes 或 No，都将保存z校准之前的数值。
2.优化距离校准流程。
1）将原“Exit”按钮名称改为“Finish”。
2）“Finish”按钮在校准成功后才可用。
3）校准成功后，可自动跳转到自动调平与校准界面。


六、其它
1.开始打印前在发送U13之前要发送M13，确保可以正确查询到门锁的状态。
2.模型文件为空时，应给出提示。
3.应可支持单个喷嘴流率的API查询。
4.为api添加权限，让js可正常访问。
5.若是在暂停打印中，接收大217/218错误码，则直接发送M998，而不弹出告警。


//======================================================
// Version 6 has 13 versions
//======================================================
V1.2.6.12 2022/7/8
1.编辑完材料库，直接返回材料主界面时，下拉列表应及时更新；
2.退出材料库界面，不应给喷嘴降温。
3.更改了材料库的工艺参数。

V1.2.6.11 2022/7/5
1.终止打印后，应重置舱室和底板的温度为0，底板应移动到底部.


V1.2.6.10 2022/6/27
1.回退暂停和终止打印的逻辑到V1.2.6.8，即点击暂停和终止后，上位机会立即执行暂停或终止动作。
2.打印结束后，若是接收到Resend，则发送终止指令M112。

V1.2.6.9 2022/6/25
1.修改272告警信息提示语，而不是“Unknown error”。
2.重新开启DP.ON时，应刷新门锁、真空和料仓的状态。
3.优化打印流程。
1）收到M112 Break时，才正式执行终止打印后的指令和界面状态刷新。
2）收到M601 Break是，才正式进入暂停打印状态。

V1.2.6.8 2022/6/22
1.打印结束时应取消开门指令的发送。因为在安全模式下，关门意味着断开DP.ON。
2.点开主界面料仓温度界面时，应在下方门锁的位置显示底板温度。
3.预热时，应在进度条上方显示舱室和底板的温度。
4.只在heat hold时显示左侧保持温度的倒计时值。
5.只在Maintain时，显示右侧维持温度的倒计时值。
6.安全模式下，开机时应提示开启DP.ON。

V1.2.6.7 2022/6/20
1.材料库界面应隐去“MAT. chamber T(℃)”相关内容。
2.点击打印按钮前，应主动检查DP.ON、门锁和料仓状态。
1）没有打开DP.ON时，不应执行打印。
2）根据模型文件来判定即将使用的左右料仓是否为空，若为空，则不应执行打印。
3）安全模式下，若前门未打开，则不应执行打印。
3.准备材料库更新文件material.ini，请在更新软件时，更新此文件。

V1.2.6.6 2022/6/20
1.打印校准文件时，不应替换掉校准文件中设置为0的温度值。

V1.2.6.5 2022/6/17
1.打印校准模型文件时，应直接开始打印而不应执行预热流程。

V1.2.6.4 2022/6/14
1.续打发送关门指令M13。
2.优化预热流程。
1）将原先的预热设置界面的复选框“Preheat”改为“Heat hold”。
2）不勾选“Heat hold”意味着不执行或者取消维持温度倒计时子流程。
3.对ftp、sd、u盘里的文件，在打印时，应拷贝一份到本机目录，而非ftp目录，防止客户通过ftp删除文件。
4.修改进退料界面加热前喷嘴停放的位置从（100,10）变为（10,10）。
5.调整打印剩余时间估计算法。
若有Layer1：
1）打印第Layer1+1000之前采用倒计时来计算。
这里，若是没有切片的估计时间，或者切片的估计时间过小，则根据当前的耗时和打印进度进行动态估算。
2）之后，利用Layer1及之后的打印速度来做估算。
若无Layer1：
1）当进度小于50%时，采用倒计时来计算。
这里，若是没有切片的估计时间，或者切片的估计时间过小，则根据当前的耗时和打印进度进行动态估算。
2）其它则根据当前的耗时和打印进度进行动态估算。

V1.2.6.3 2022/6/9
1.预热时，不可进入Material、Axis界面，不可设置Tune界面里的舱室温度。
2.预热阶段时终止打印，不应弹出取件提醒界面，不应发送M112等终止打印的指令。
3.连接弱信号的wifi时，界面不应长时间卡顿。
4.增加对固件异常暂停和终止状态的响应，以同步上位机和固件的打印状态。
1）当固件异常暂停时，上位机执行错误码为272的告警机制。
2）当固件异常终止时，上位机执行错误码为372的告警机制。
5.打印中，超时发送最后一次发送的指令。

V1.2.6.2 2022/6/7
1.应可正常查询到料仓门信息。
2.应可正常查询到顶门信息。
3.启动WiFi设置界面是，界面不应明显卡顿。
4.正确设置wifi IP后，远程服务界面应可及时更新IP地址。
5.预热进度条不应为负值。
6.调整打印剩余时间估计算法。
1）当进度小于50%时，采用倒计时来计算。
2）其它维持当前动态估计算法。

V1.2.6.1 2022/5/31
1.修改材料界面中料仓信息无法及时更新的bug。
2.完整执行预热流程的打印程序结束后，再次打印，应可执行预热流程。

V1.2.6.0 2022/5/30
1.优化代码逻辑以降低171告警发生概率。
2.修改材料界面中料仓信息无法及时更新的bug。
3.调整优化取出打印件窗口。
4.打印校准文件时，应根据所选材料来改变喷嘴、底板和舱室温度。
5.设置打印校准文件时的最小目标温度值为25度。


//======================================================
// Version 5 has 25 versions
//======================================================

V1.2.5.24 2022/5/24
1.修复Wifi自动重连功能。
2.修复远程服务自动开启功能。
3.进退料前，查询一下料仓状态，避免进退料失败（提示料仓为空）。
4.记录下当前活跃的左右料仓号（上料仓还是下料仓）。
5.屏幕启动后，恢复一下上次活跃的料仓状态。
6.为preheat提供进度提示（按照底板的升温幅度来计算）。
7.取消默认开启保温。
8.打印结束后，将底板移动到底部。
9.点击home后增加确认框。
10.打印结束后，提示取出打印件。
11.调整打印剩余时间估计算法。
1）打印支撑材料时（gcode中";layer:0"之前）采用倒计时来计算。
2）其它维持当前动态估计算法。
12.打印完成后，再次打印，应可执行预热流程。
13.告警信息窗口中的提示语应按照单词进行换行显示。
14.增加6类远程API。
1）获取X/Y/Z轴限位信息。
2）获取Nozzle切换状态信息。
3）获取Top door 状态信息。
4）获取Filament 使用状态信息。
5）获取编码器流率 。
6）获取料仓门锁状态信息。
7）修改回复的时间日期格式以支持ISO 8601:2004协议。


V1.2.5.23 2022/3/14
1.正常打印完成后，更换gcode，时间进度信息应归零。
2.在暂停后，收到ok RE M24 S1的情况下，点击续打，没有及时发送M602，从而导致打印失败。

V1.2.5.22 2022/3/3
1.偶尔开始打印后不久点击stop，然后屏幕黑屏。
此种情况是，等到stop后，才接收到M24。由于软件逻辑保护不力，导致继续发gcode。
2.取消预热后，应停止对温度检查动作。
3.材料界面更换左喷头材料后，主界面的预热时间应同步改变。


V1.2.5.21 2022/3/2
1.插入U盘，打开文件后，拔掉U盘，点击继续打印，打印不应失败。
2.继1之后，选择其他文件，打印按钮应可用。

V1.2.5.20 2022/2/28
1.调整resend逻辑，以防止某些运行环境下resend指令响应异常（发送了乱码指令）。
2.收到ok RE M24 S1时，才正式发送gcode指令。

V1.2.5.19 2022/2/24
1.printer组别的API，在token无效的情况下应不可执行。
2.去掉密码组合中的小写字母、大写字母O以及特殊符号[]。
3.料仓重量应为传感器值减掉料仓驱动轮的重量。
4.若在锁屏界面停留超过2分钟，在进入主界面时不应弹出171告警界面。
5.若回复通信，则应自动清除171告警。

V1.2.5.18 2022/2/22
1.将354告警降级为254。
2.每条日志应换行显示。
3.发送U12而未接收到ok RE U12 S1时，应该正常响应resend指令。

V1.2.5.17 2022/2/21
1.代码优化，以防止内存占用持续累加。

V1.2.5.16 2022/2/15
1.打印中，关闭maintain时，不执行降温动作。
2.收到ok RE U12 S1时，才可判定打印结束。
3.取消锁操作，防止黑屏。
4.开机自动设置以太网静态IP。

V1.2.5.15 2022/1/28
1.不应卡在预热阶段走不下去。

V1.2.5.14 2022/1/27
1.预热成功后，应可继续打印。

V1.2.5.13 2022/1/26
1.系统设置界面里的重量校准功能应可用。
2.缺料引导的进料过程，不应卡在第二步。

V1.2.5.12 2022/1/26
1.进料过程中，挤料时的4个命令采用逗号拼接的形式一次性下发。拼接后的命令如下所示：
G0 F15000 X100 Y10,G91,G1 F300 E160,G90,
2.从开始打印到没有收到M24回复的期间内，水晶球的进度应为0%而不应是1%。
3.暂停打印，进入XY校准界面然后退出，重新返回到主界面时，此时打印已被暂停。然后再次点击打印，应可启动新的打印。

V1.2.5.11 2022/1/24
1.退料过程中，若打印处于暂停状态，喷嘴亦可以F6000（原F2000）的速度移动到位置(100,10)处。
2.进料过程中，喷嘴可以F6000（原F2000）的速度移动到位置(100,10)处。
3.打印中，将M105和M114指令每隔5秒随着gcode指令一起发送。例如"N10M104 T0 S0\nM105\nM114\n"。
4.以计数100的for循环语句，稍稍延迟一下指令发送的时间，以给固件更多的时间来处理串口数据。

V1.2.5.10 2022/1/20
1.进料和退料成功后，不发送M401。

V1.2.5.9 2022/1/20
1.应可支持切片远程打印。
2.应正确响应切片的“Start”指令。
3.应正确响应切片的“get printstatus”指令。
4.应正确响应切片的“Resume”指令。
5.应正确响应api的启动打印指令。
6.应正确响应api的继续打印指令。
7.进料过程中，若打印处于暂停状态，喷嘴亦可移动到位置(100,10)处。

V1.2.5.8 2022/1/19
1.再次点击告警信息界面的“Load material”进入上料界面，界面显示应正常，且能正常进行进料操作。
2.调整进料过程，当连续接收到一条U27 S1和两条U10 S1时，才可判定上料成功。
1）当接收到ok RE U27 S1时后，开始发送U10。
2）只有连续接收到两条ok RE U10 S1后，方可判定上料成功。
3）收到1条ok RE U10 S1后，未能连续接收2条ok RE U10 S1时，继续发送U27，直到上料成功或者失败。
4）调整挤料阶段时，将G91指令从移动毛刷指令的前面移动到其后面。

3.调整退料过程，用倒计时的方式代替直接下发“G4 S15”。
1）当温度达到目标值范围时，先发送下面两条指令：
"G92 E0"
"G1 F150 E20"
2）继上步之后，屏幕进入倒计时。
3）开始倒计时15秒之后，执行以下指令：
"G92 E0"
"G1 F25 E-25"
"G1 F300 E-40"
"G1 F2000 E-2600"

4.设置wifi的静态IP后，应更新远程界面上的IP地址。

V1.2.5.7 2022/1/19
1.缺料报警后，直接进入上料界面进行上料操作。
2.远程监控界面中，设置默认下不开启日志输出。
3.修改远程打印默认API密码为“123456789abcdefg”。
4.执行打印前的preheat时，移动平台位置时应指定移动速度（G1 F1200 Z100）。

V1.2.5.6 2022/1/18
1.调整进料过程
1）只有当连续接收到3条ok RE U27 S1时，方可判定上料成功。
2）收到1条ok RE U27 S1后，未能连续接收3条ok RE U27 S1时，继续发送U27，直到上料成功或者失败。

V1.2.5.5 2022/1/17
1.进料过程调整
1）当喷头X坐标不在[50,150]或者Y坐标不在[-40,60]时，移动喷头到(50,10)。
2）在发送3条U27后，接收到ok RE U27 S1时，才可判定上料成功。

2.退料过程调整 
1）当喷头X坐标不在[50,150]或者Y坐标不在[-40,60]时，移动喷头到(50,10)。


V1.2.5.4 2022/1/17
1.zoffset校准中，恢复M114查询，以避免左右喷头高度差异常。
2.进料第一步，禁止平台运动。
3.退料第一步，禁止平台运动。
4.缓存队列的读写操作中加入锁，以防止异步读写操作下的内存异常，从而造成黑屏。
5.维护模式下，进入Material等界面，不需要判定门是否关上。
6.优化自定义浮点输入框。

V1.2.5.3 2022/1/12
1.Autoleveling.qml中，取消最后平台下降动作.
2.Zoffset610.qml中，限制zoffset值的输入，范围在[1,3]。
3.调整门锁和真空按钮超时时间由30s变为10s。
4.重置急停按钮后，固件新增相关消息上报给屏幕软件。屏幕在收到急停按钮重置消息时，给出打开DP.ON的提示。
5.main.qml界面，两种模式下，都应以OP.ON是否开启作为是否可进入Axis和Material界面的判断依据之一。
6.在Tune界面，设置舱室温度的执行动作中，两种工作模式下，都应以OP.ON是否开启作为是否可执行的依据。
7.调整最大日志缓存条数由10000000为250，以避免屏幕卡顿和黑屏。
8.应可正常开启USB打印功能。

9.优化进料流程。
1）分为两个阶段：进料和挤料。
2）进料阶段以是否接收到“ok RE U27 S1”或者是否发送完150个U27指令为完成节点。
3）收到U27的回复“ok RE U27 S0”时，才会发送下一条U27指令。
4）在150个U27发送完成，而没有接收到“ok RE U27 S1”时，判定整个进料流程以失败告终。
5）在未发满150个U27指令期间，接收到“ok RE U27 S1”时，发送挤料指令，进入挤料阶段。
6）挤料阶段就是一个固定的32秒倒计时。当倒计时结束时，直接判定进料流程成功。

10.优化退料流程。
1）修改退料倒计时时间（160->200）。
2）退料第一步，取消平台上升动作。

11.优化打印流程。
1）停止打印后，再次打印，进度应归零。
2）限制同一时刻最多发送16条gcode指令。
3）取消打印中每隔5秒自动下发gcode指令的动作。
4）在接到M24指令的回复后，才可开始发送gcode指令。
5）预热前加入归零和设置平板位置动作。
6）开始打印时，去掉刷毛刷动作。

V1.2.5.2 2021/12/30
1.执行获取指定喷嘴温度的api时，软件应给出参数值是否合法的反馈。
2.执行获取指定料仓温度的api时，软件应给出参数值是否合法的反馈。
3.执行获取指定料仓重量的api时，软件应给出参数值是否合法的反馈。
4.敲定最终可用的特殊字符为"$+<>{}[]#&@"。
5.修改获取WiFi模式错误的bug。
6.执行获取喷嘴温度和料仓温度的api时，软件应给出符合预期的target_temperature值。
7.开机后初始状态下，应能启动远程打印。
8.获取打印任务信息时，文件名称不应为空。
9.无密码连接下，忙碌提示框不应一直在。
10.应可连接手机热点形成的加密WiFi。

V1.2.5.1 2021/12/29
1.密码生成库中，应去掉特殊字符()=，因为swagger中不支持。
2.获取指定喷嘴温度的api时，软件不应崩溃。
3.获取指定料仓温度的api时，软件不应崩溃。
4.WiFi连接成功时，应关闭WiFi列表等界面。

V1.2.5.0 2021/12/27
增加：
1.支持22个远程打印API。
2.支持密码随机生成。

修改：
1.修掉由静态IP设置引发的黑屏或者网络连接不上的问题。



//======================================================
// Version 4 has 17 versions
//======================================================
V1.2.4.19 2021/12/15
1.在更换喷嘴界面修改喷嘴尺寸后，打印校准模型时，应调用对应的模型文件。
2.结束更换喷嘴时，在出现的对话框提示中，点击确认后，应可以跳转到校准界面。
3.修掉刷新wifi信息时，可能进入到死循环的bug。
4.更新材料库（吴臣君20211207发布）。


V1.2.4.18 2021/11/22
1.399错误的提示语中的current line number不应是0。
2.材料库中关于料仓为空的提示框应在界面中间显示。
3.完成xyoffset后，应退出校准界面。

V1.2.4.17 2021/11/15
1.调整resend处理逻辑，将再次发送的最大允许值由100变为500。

V1.2.4.16 2021/11/12
1.修改退料界面提示语中的retract单词为unload。
2.在sender的stop和terminate函数中重置resend状态数据，防止再次打印会出错
3.调整文件选择界面的文件列表与410一致。
4.299/399报错时，给出resend line number和current line number。

V1.2.4.15 2021/11/2
增加：
1.新增对399类型错误（严重resend）的提示语。即当报399错误时，会在告警提示框内给出错误说明和应对建议。

修改：
1.修改368告警类型为366类型。
2.缺料报警后，退料温度应为nozzletemp。
3.部分代码优化。

V1.2.4.14 2021/10/29
修改：
1.取消暂停中运动到毛刷的指令。
2.取消断电续打功能。

V1.2.4.13 2021/10/22
修改：
1.点击打印按钮后，再取消preheat，应可正常打印完成，不应少打。
2.材料库参数更新。

V1.2.4.12 2021/10/19
修改：
1.调整暂停续打流程指令,取消所有运动指令。

V1.2.4.11 2021/10/19
修改：
1.调整暂停续打流程指令,M602放在最前面，取消M109指令。
2.不停接收resend情境下，gcode已发送完成，但打印状态应及时更新。


V1.2.4.10  2021/10/13
修改：
1.XY校准模型打印中，目标温度应与当前用户所选材料的设定温度一致。
2.系统设置界面中启动开发者模式时，未同步后台命令显示功能。
3.去掉Axis界面左上方的红色停止按钮。


V1.2.4.9  2021/9/28
增加：
1.新增对368类型错误（驱动器报警）的提示语。即当报368错误时，会在告警提示框内给出错误说明和应对建议。
2.在System界面增加堵料报警是否开启的功能。

修改：
1.正式打印开始前，将喷嘴移到毛刷处。
2.取消上位机发送299错误报警。
3.暂停状态中，禁止执行resend。
4.打印已结束，时间进度条应停止走动。
5.上方打印进度与下方时间进度应一致。
6.料仓状态显示应正常。
7.距离校准，不应一直提示“Hot nozzle reminder!!!”。
8.xy校准，打印模型中遇到中断，点击“Resume”按钮，应能继续打印。
9.距离校准，点击“Calibrate”，校准流程应可以继续执行。
10.已打印时间应符合对实际打印时间的预期。

V1.2.4.8  2021/9/18
修改：
1.在写串口数据时，加入锁，防止同时写。
2.插入USB后，若文件选择框打开且当前目录是usb，则自动刷新界面。
3.当仅接收到“ok \n”时，若当前错误代码为171，则应将错误代码归0。
4.缩短日志窗口输出时间。
5.一些代码调整。

V1.2.4.7   2021/9/17
修改：
1.没有考虑resend情况而导致gcode文件没有打印完就结束了。
2.勾选预热，点击开始打印后，再取消预热，应可以继续执行打印操作。

V1.2.4.6   2021/9/16
修改：
1.因将打印期间发送的M105/M114算入已打印行数，从而导致gcode文件没有打印完就结束了。


V1.2.4.5   2021/9/15
修改：
1.将371告警降级为171，并修改提示语。
2.收到两次resend指令时，应采用暂停操作而不是停止打印。
3.材料库编辑“Maintain time”、“Cleaning T”、“MAT. T”、“ Active Cooling T”等4个属性时出现异常，应可正确编辑、保存与加载。
4.进入Tune界面后，应可查看当前风扇速度。
5.更新更换配准界面中涉及的6个操作指示图片。
6.为Z校准的最后一个界面配上指示图片。
7.平面校准面板中，正确完成一个校准流程后，应自动跳到下一个校准入口。
8.打印操作按钮的状态应和进度条状态同步。
9.软件启动过程中，未进入主界面时，不应弹出371告警。
10.若配置文件设置开启日志文件记录，则开机应可自启动日志文件记录。

V1.2.4.4   2021/9/8
修改：
1、打开文件过程中，应给出状态提示。
2、启动新的打印时，应重置保温计数器；
3、打完了，应保留总的打印时间。
4、是否进行log打印的配置应写进配置文件。
5、打印结束，进入维持温度阶段，此时取消保温，状态提示语应消失。
6、进入清理喷嘴界面并退出后，右侧导航栏按钮应可用。
7、打印结束后，“Start”按钮应可用。
8、用户指令，应立即发出。
9、Wifi界面不可用，应予以显示。
10、XY校准中，模型打印完成后，应给出下一步操作按钮。

V1.2.4.1   2021/8/27
修改：
1、主界面的命令输入框触发的虚拟键盘页面没有置顶，当日志界面弹出时，无法正常操作。
2、Tune界面温度没有红圈进度条。
3、加载材料库错误。

V1.2.4.0   2021/8/26
新增：
1、自定义文件选择对话框。

修改：
1、打印流程优化。
2、支持边打印边记录日志。
3、日志内容格式化。



//======================================================
// Version 3 has 8 versions
//======================================================
V1.2.3.16   2021/8/24
修改：
1、修改264/265告警类型的错误描述信息。


V1.2.3.15   2021/8/24
修改：
1、上料过程中，接收到U27且值为1时，重复下发减速命令。
2、自动校准过程实际已结束，但界面未及时给出反馈。
3、删除日志文件无效的问题。

V1.2.3.14   2021/8/17
修改：
调整ErrorDescriptPopup.qml布局，以解决显示部分告警信息会死屏的问题。

V1.2.3.13   2021/8/16
修改：
1、告警信息没有及时弹出
2、U28等消息可能解析不出，取消index的判断退出代码。

V1.2.3.12   2021/8/16
修改：
1、U28消息解析错误。
2、梳理一下串口数据解析函数代码。
3、加热没有红圈提示。进度条逻辑修改。
4、U27消息解析错误。

V1.2.3.11   2021/8/13
修改：
1、自定义材料保存后再进入，无法编辑。
2、Tune界面无法正常设置。

V1.2.3.10   2021/8/6
修改：
1、程序启动后可根据用户的选择来选择是否自动进行日志文件输出。默认输出日志文件。
2、修改log存储大小的限定空间由100M变为2G。
3、日志文件记录中，若跨天，则新建一个文件进行写入。

4、开机后接入u盘，若当前文件选择界面没有及时更新，可通过关闭后再打开而获得刷新。
5、开始打印时，状态提示语为“Preheating...”，当舱室和底板温度达到目标值后，变为“Heat holding...”，打印结束时变为“Maintaining...”。
6、Axis界面，当移动单位设为100时，置灰时间大概长了2s，应更短些。
7、Tune界面的“C fan speed”应于系统设置界面的“active cooling enabled”控件状态同步。在“active cooling enabled”开启后才可以设置Tune界面的“C fan speed”。
8、错误信息更新，增加262、263、264、265四个类型。
9、当切入维护模式时，若DP.ON未打开，则给出提示。
10、使系统设置界面的“motor enabled”控件状态能与下位机相关状态联动变化。
11、出厂设置中，点击“ClearDiskLog”后应可删除相关日志文件。
12、细化由急停触发弹出的错误消息框中的“Action”提示内容。
13、当用户点击clear后，才处理来自下位机的0类型错误。
14、微调整一下告警界面布局，防止提示内容多时出现挤压。
15、在按下主界面中的真空按钮但未接收到下位机的反馈消息时，两处真空状态不一致，应保持一致。
16、退料过程中，当倒计时结束时检查退料是否成功。

17、集中在上料过程的问题。
1）界面卡住的问题。
2）重新调整自动上料时间倒计时方式为从180直接倒计时到130，然后归0，替换先前的从180直接跳到30再慢慢到0。
3）若倒计时到30时，还未接收到U27，则判定上料失败，并给予提示。
4）收到U27后，先将喷嘴移动到毛刷处，然后再挤出。
5）Step4中，倒计时未完成时，Finish应禁用。
6）当前喷嘴温度非零时，Step2界面中的进度百分比数值为0，应为一个非零值。


V1.2.3.1   2021/7/2
修改bugs：
1 Z调平校准提示语显示不全，将字号改小。
2 文件选择框当前目录没有随着介质类型变化而改变。
3 Z↑和Z↓点击后，按钮不能恢复到可用状态。
4 XY调平校准，从第一步结束时，自动开门后，系统的门锁状态没有及时更新。


基于V1.2.2.9开发
V1.2.3.0  2021/7/2

增加功能：
1  错误详情弹出界面
    
修改bugs：
1 XY三个校准区域，选择后的仍然可选其他2项。
2 Z调平校准提示语修改。
3 自动校准（Leveling），Finish后使该button不能。
4 校准过程中的真空告警清除。
5 触发距离校准完成后 喷嘴温度不归零。
6 更新PRO610屏幕材料库的材料说明。
7 LOAD时要强制为材料库的load温度。
8 隐藏材料库显示界面中的Maintain Chamber T(℃)条目,同时禁用该条目的编辑。
9 材料库中预制的材料参数不可被更改。
10 去掉Load按钮、保存按钮、insert按钮。
11 修改按钮“Append”为“New”。
12 可编辑自定义材料，且编辑后，可保存当前材料到文件。
13 Material右边工具条中的材料库编辑的入口按钮移到最下面。
14 Log对话框弹出的键盘中英文应默认大写。
15 开发者模式，在刚开机的时候系统底层不是开发者模式（正确的），但是系统界面里面“开发者模式”图标显示“打开”；应保持一致。
16 当开发者模式关闭/打开时，"Liquid cooler control"应跟着关闭/打开。
17 当开发者模式关闭/打开时，“Motor enabled”应跟着关闭/打开。
18 水平校准入口应放在维护模式下。
19 喷头更换入口应放在维护模式下。
20 喷头清洗入口应放在维护模式下。
21 Z调平校准开始时应自动开门。
22 Z调平校准界面中应去掉门锁按钮。
23 XY调平校准时，若在打印中，点击退出按钮时应直接停止打印。
24 XY调平校准时，若在打印中出现错误并进入中断状态，则“Print”按钮应变为“Resume”，应支持重新打印。
25 进入XY调平校准时，应禁止打开其它界面。
26 XY调平校准，从第一步结束时，应自动开门。
27 XY调平校准，从第一步结束时，应关闭真空。
28 XY调平校准，从第一步结束时，应禁止喷头运动。
29 Z↑和Z↓应设置成XY移动一样通过计算命令时间来控制命令的发送。避免点多次后狂上升和下降。
30 当磁盘空间不足100M时，自动删除先前最近的日志文件。
31 当舱室和热床温度都达到指定温度时，才启动预热流程；同时修改点击打印按钮时的提示语。
