mirror of
https://github.com/QIDITECH/QIDI_Q1_Pro.git
synced 2026-01-30 23:48:43 +03:00
Compare commits
11 Commits
V4.4.16
...
V4.4.19_be
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb8598ec34 | ||
|
|
9618b8bfca | ||
|
|
6336e7d34e | ||
|
|
a89c84c043 | ||
|
|
039e1167ac | ||
|
|
4c0049c0d8 | ||
|
|
66ab378950 | ||
|
|
4d3616a00d | ||
|
|
6de965941a | ||
|
|
474b134e40 | ||
|
|
ded3ca4041 |
19
README.md
19
README.md
@@ -7,13 +7,22 @@ QIDI_Q1_Pro is a server-side application designed specifically for the Q1_Pro mo
|
|||||||
|
|
||||||
For convenience, QIDI provides version-specific packaged files. Please download the necessary compressed package file prefixed with "Q1_Pro." We offer several versions of the source code tailored to different needs; select the appropriate branch for download, with each branch name reflecting the corresponding version.
|
For convenience, QIDI provides version-specific packaged files. Please download the necessary compressed package file prefixed with "Q1_Pro." We offer several versions of the source code tailored to different needs; select the appropriate branch for download, with each branch name reflecting the corresponding version.
|
||||||
|
|
||||||
## Update Content for Version 4.4.16
|
|
||||||
|
|
||||||
**Note**: Post-update, the Klipper configuration file will be overwritten. The former configuration file will be renamed to printer_{datetime}.cfg as a backup, and the printer will require recalibration.
|
## Update Content for Version 4.4.18
|
||||||
|
|
||||||
**1.** Fixed an issue where, under certain conditions, WLAN settings could prevent booting.
|
**Note:** After updating, the Klipper configuration file will be replaced. The previous configuration file will be backed up as `printer_{datetime}.cfg`, printer recalibration will be required.
|
||||||
|
|
||||||
**2.** Parameters in the gcode_macro.cfg file have been modified.
|
**1.** Added port 80 to Fluidd.
|
||||||
|
|
||||||
|
**2.** Fixed the issue where power failure resume could not work.
|
||||||
|
|
||||||
|
**3.** Fixed the issue with USB device unmounting failing in certain cases.
|
||||||
|
|
||||||
|
**4.** Added Ethernet switching feature.
|
||||||
|
|
||||||
|
**5.** Added error prompt for QR code generation.
|
||||||
|
|
||||||
|
**6.** Adjusted default parameters.
|
||||||
|
|
||||||
## Detailed update process
|
## Detailed update process
|
||||||
|
|
||||||
@@ -37,7 +46,7 @@ Should you encounter any issues related to machine mechanics, slicing software,
|
|||||||
|
|
||||||
## Others
|
## Others
|
||||||
|
|
||||||
Unlike the typical method of directly accessing the Fluidd web interface via an IP address, the QIDI edition modifies the default port to 10088. Therefore, you must append :10088 to the machine's IP address to access the Fluidd page.
|
Unlike the typical method of directly accessing the Fluidd web interface via an IP address, the QIDI edition modifies the default port to 10088. Therefore, you must append :10088 to the machine's IP address to access the Fluidd page. (Default port 80 now has been added after V4.4.18)
|
||||||
|
|
||||||
QIDI's 3D printers operate based on the Klipper system. Building on the Klipper open-source project, we've tailored its source code to meet specific user requirements. Similarly, we've adapted Moonraker to ensure our designed screens align with web operations. We extend our gratitude to the developers and maintainers of these open-source projects and encourage users to explore or support these robust platforms.
|
QIDI's 3D printers operate based on the Klipper system. Building on the Klipper open-source project, we've tailored its source code to meet specific user requirements. Similarly, we've adapted Moonraker to ensure our designed screens align with web operations. We extend our gratitude to the developers and maintainers of these open-source projects and encourage users to explore or support these robust platforms.
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
build/xindi
BIN
build/xindi
Binary file not shown.
869
config/gcode_macro.cfg
Normal file
869
config/gcode_macro.cfg
Normal file
@@ -0,0 +1,869 @@
|
|||||||
|
# Q1_Pro
|
||||||
|
# V4.4.16 2024-3-14
|
||||||
|
# modify: variable change M106 & M141 & M107
|
||||||
|
# V4.4.16 2024-3-26
|
||||||
|
# modify: variable change [homing_override]->add M204 S10000
|
||||||
|
|
||||||
|
[gcode_macro test_zoffset]
|
||||||
|
gcode:
|
||||||
|
G28
|
||||||
|
get_zoffset
|
||||||
|
G1 X{120 - printer.probe["x_offset"]} Y{120 - printer.probe["y_offset"]} F9000
|
||||||
|
G1 Z10 F600
|
||||||
|
probe
|
||||||
|
G1 Z10 F600
|
||||||
|
|
||||||
|
[gcode_macro get_zoffset]
|
||||||
|
gcode:
|
||||||
|
G1 Z10 F600
|
||||||
|
Z_DOUDONG
|
||||||
|
G4 P500
|
||||||
|
QIDI_PROBE_PIN_1
|
||||||
|
probe probe_speed=10 samples=3
|
||||||
|
SET_KINEMATIC_POSITION Z=-0.1
|
||||||
|
G1 Z30 F600
|
||||||
|
QIDI_PROBE_PIN_2
|
||||||
|
|
||||||
|
[gcode_macro save_zoffset]
|
||||||
|
gcode:
|
||||||
|
{% if printer.gcode_move.homing_origin.z < 0.5 %}
|
||||||
|
SAVE_VARIABLE VARIABLE=z_offset VALUE={printer.gcode_move.homing_origin.z}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[gcode_macro set_zoffset]
|
||||||
|
gcode:
|
||||||
|
{% set z = printer.save_variables.variables.z_offset %}
|
||||||
|
SET_GCODE_OFFSET Z={z} MOVE=0
|
||||||
|
|
||||||
|
[gcode_macro CLEAR_NOZZLE_PLR]
|
||||||
|
gcode:
|
||||||
|
{% set hotendtemp = params.HOTEND|default(250)|int %}
|
||||||
|
{% if (printer.gcode_move.position.z ) < 35 %}
|
||||||
|
G90
|
||||||
|
G1 Z35 F900
|
||||||
|
{% else %}
|
||||||
|
G91
|
||||||
|
G1 Z5 F900
|
||||||
|
G90
|
||||||
|
{% endif %}
|
||||||
|
G1 X97 F9000
|
||||||
|
G1 Y254 F9000
|
||||||
|
|
||||||
|
M109 S{hotendtemp}
|
||||||
|
|
||||||
|
G92 E0
|
||||||
|
G1 E80 F400
|
||||||
|
M106 S255
|
||||||
|
|
||||||
|
G1 X98 F500
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 Y240 F9000
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[gcode_macro CLEAR_NOZZLE]
|
||||||
|
gcode:
|
||||||
|
{% set hotendtemp = params.HOTEND|int %}
|
||||||
|
{% if (printer.gcode_move.position.z ) < 35 %}
|
||||||
|
G1 Z35 F900
|
||||||
|
{% else %}
|
||||||
|
G91
|
||||||
|
G1 Z5 F900
|
||||||
|
G90
|
||||||
|
{% endif %}
|
||||||
|
G1 X97 F9000
|
||||||
|
G1 Y254 F9000
|
||||||
|
|
||||||
|
M109 S{hotendtemp}
|
||||||
|
|
||||||
|
G92 E0
|
||||||
|
G1 E80 F400
|
||||||
|
M106 S255
|
||||||
|
M400
|
||||||
|
M106 P2 S0
|
||||||
|
M104 S0
|
||||||
|
TEMPERATURE_WAIT SENSOR=extruder MAXIMUM={hotendtemp-30}
|
||||||
|
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
|
||||||
|
G1 X65 F500
|
||||||
|
G1 X88 F500
|
||||||
|
G1 X65 F500
|
||||||
|
G1 X88 F500
|
||||||
|
G1 X65 F500
|
||||||
|
|
||||||
|
G1 Y249 F500
|
||||||
|
G1 Y254 F500
|
||||||
|
G1 Y249 F500
|
||||||
|
G1 Y254 F500
|
||||||
|
G1 Y249 F500
|
||||||
|
G1 Y253.5 F500
|
||||||
|
|
||||||
|
G1 X88 F500
|
||||||
|
G1 X65 F500
|
||||||
|
G1 X88 F500
|
||||||
|
G1 X65 F500
|
||||||
|
G1 X85 F500
|
||||||
|
|
||||||
|
G1 X98 F500
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
G1 X85 F2000
|
||||||
|
G1 X98 F2000
|
||||||
|
M400
|
||||||
|
M118 Nozzle cleared
|
||||||
|
G1 Y120 F9000
|
||||||
|
G1 X230 F9000
|
||||||
|
TEMPERATURE_WAIT SENSOR=extruder MAXIMUM=140
|
||||||
|
M107
|
||||||
|
M106 P2 S0
|
||||||
|
M400
|
||||||
|
M118 Nozzle cooled
|
||||||
|
|
||||||
|
[gcode_macro PRINT_START]
|
||||||
|
gcode:
|
||||||
|
AUTOTUNE_SHAPERS
|
||||||
|
|
||||||
|
{% set bedtemp = params.BED|int %}
|
||||||
|
{% set hotendtemp = params.HOTEND|int %}
|
||||||
|
{% set chambertemp = params.CHAMBER|default(0)|int %}
|
||||||
|
set_zoffset
|
||||||
|
M104 S0
|
||||||
|
M140 S{bedtemp}
|
||||||
|
M141 S{chambertemp}
|
||||||
|
G28
|
||||||
|
CLEAR_NOZZLE HOTEND={hotendtemp}
|
||||||
|
|
||||||
|
M190 S{bedtemp}
|
||||||
|
# Z_TILT_ADJUST
|
||||||
|
G29
|
||||||
|
G0 Z50 F600
|
||||||
|
G0 X0 Y0 F6000
|
||||||
|
|
||||||
|
M191 S{chambertemp}
|
||||||
|
M109 S{hotendtemp}
|
||||||
|
M204 S10000
|
||||||
|
|
||||||
|
ENABLE_ALL_SENSOR
|
||||||
|
save_last_file
|
||||||
|
|
||||||
|
[gcode_macro ENABLE_ALL_SENSOR]
|
||||||
|
gcode:
|
||||||
|
ENABLE_FILAMENT_WIDTH_SENSOR
|
||||||
|
RESET_FILAMENT_WIDTH_SENSOR
|
||||||
|
query_filament_width
|
||||||
|
SET_FILAMENT_SENSOR SENSOR=fila ENABLE=1
|
||||||
|
|
||||||
|
[gcode_macro DISABLE_ALL_SENSOR]
|
||||||
|
gcode:
|
||||||
|
SET_FILAMENT_SENSOR SENSOR=fila ENABLE=0
|
||||||
|
DISABLE_FILAMENT_WIDTH_SENSOR
|
||||||
|
|
||||||
|
|
||||||
|
[gcode_macro AUTOTUNE_SHAPERS]
|
||||||
|
variable_autotune_shapers: 'ei'
|
||||||
|
gcode:
|
||||||
|
|
||||||
|
[gcode_macro M84]
|
||||||
|
rename_existing:M84.1
|
||||||
|
gcode:
|
||||||
|
M84.1
|
||||||
|
SET_STEPPER_ENABLE STEPPER=stepper_x enable=0
|
||||||
|
SET_STEPPER_ENABLE STEPPER=stepper_y enable=0
|
||||||
|
SET_STEPPER_ENABLE STEPPER=stepper_z enable=1
|
||||||
|
SET_STEPPER_ENABLE STEPPER=stepper_z1 enable=1
|
||||||
|
SET_STEPPER_ENABLE STEPPER=extruder enable=0
|
||||||
|
|
||||||
|
[gcode_macro KINEMATIC_POSITION]
|
||||||
|
gcode:
|
||||||
|
{% set was_interrupted = printer.save_variables.variables.was_interrupted %}
|
||||||
|
{% if was_interrupted %}
|
||||||
|
M118 Detected unexpected interruption during the last print. Do you want to resume printing? (Do not move the extruder before resuming.)
|
||||||
|
M118 Yes: RESUME_INTERRUPTED
|
||||||
|
M118 No: CLEAR_LAST_FILE
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[delayed_gcode KINEMATIC_POSITION]
|
||||||
|
initial_duration:0.2
|
||||||
|
gcode:
|
||||||
|
SET_STEPPER_ENABLE STEPPER=stepper_z enable=1
|
||||||
|
SET_STEPPER_ENABLE STEPPER=stepper_z1 enable=1
|
||||||
|
BED_MESH_CLEAR
|
||||||
|
SET_FILAMENT_SENSOR SENSOR=fila ENABLE=0
|
||||||
|
{% set was_interrupted = printer.save_variables.variables.was_interrupted %}
|
||||||
|
{% if was_interrupted %}
|
||||||
|
M118 Detected unexpected interruption during the last print. Do you want to resume printing? (Do not move the extruder before resuming.)
|
||||||
|
M118 Yes: RESUME_INTERRUPTED
|
||||||
|
M118 No: CLEAR_LAST_FILE
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[homing_override]
|
||||||
|
axes:xyz
|
||||||
|
gcode:
|
||||||
|
{% set HOME_CUR = 1 %}
|
||||||
|
{% set driver_config = printer.configfile.settings['tmc2240 stepper_x'] %}
|
||||||
|
{% set RUN_CUR = driver_config.run_current %}
|
||||||
|
{% set HOLD_CUR = driver_config.hold_current %}
|
||||||
|
M204 S10000
|
||||||
|
{% if params.X is defined %}
|
||||||
|
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR * 0.7}
|
||||||
|
G28 X
|
||||||
|
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR}
|
||||||
|
BEEP I=1 DUR=100
|
||||||
|
G1 X10 F1200
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if params.Y is defined %}
|
||||||
|
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CUR * 0.9}
|
||||||
|
G28 Y
|
||||||
|
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CUR}
|
||||||
|
BEEP I=1 DUR=100
|
||||||
|
G1 Y10 F1200
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if params.Z is defined %}
|
||||||
|
SET_KINEMATIC_POSITION Z={printer.toolhead.axis_maximum.z-5}
|
||||||
|
QIDI_PROBE_PIN_2
|
||||||
|
probe samples=2
|
||||||
|
SET_KINEMATIC_POSITION Z=1.9
|
||||||
|
G1 Z10 F600
|
||||||
|
Z_DOUDONG
|
||||||
|
QIDI_PROBE_PIN_1
|
||||||
|
probe probe_speed=10
|
||||||
|
SET_KINEMATIC_POSITION Z=-0.1
|
||||||
|
G1 Z30 F480
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if params.X is undefined %}
|
||||||
|
{% if params.Y is undefined %}
|
||||||
|
{% if params.Z is undefined %}
|
||||||
|
SET_KINEMATIC_POSITION X=0
|
||||||
|
SET_KINEMATIC_POSITION Y=0
|
||||||
|
SET_KINEMATIC_POSITION Z={printer.toolhead.axis_maximum.z-10}
|
||||||
|
G91
|
||||||
|
G1 Z7 F600
|
||||||
|
G1 X10 F2400
|
||||||
|
G1 Y10 F2400
|
||||||
|
G4 P2000
|
||||||
|
|
||||||
|
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR * 0.8}
|
||||||
|
G28 X
|
||||||
|
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR}
|
||||||
|
BEEP I=1 DUR=100
|
||||||
|
G1 X10 F1200
|
||||||
|
|
||||||
|
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CUR * 0.9}
|
||||||
|
G28 Y
|
||||||
|
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CUR}
|
||||||
|
BEEP I=1 DUR=100
|
||||||
|
G1 Y10 F1200
|
||||||
|
|
||||||
|
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR * 0.8}
|
||||||
|
G28 X
|
||||||
|
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR}
|
||||||
|
BEEP I=1 DUR=100
|
||||||
|
G1 X10 F1200
|
||||||
|
|
||||||
|
SET_KINEMATIC_POSITION Z={printer.toolhead.axis_maximum.z-10}
|
||||||
|
|
||||||
|
G90
|
||||||
|
G1 X120 Y120 F7800
|
||||||
|
G91
|
||||||
|
QIDI_PROBE_PIN_2
|
||||||
|
G28 Z
|
||||||
|
G1 Z30 F600
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CUR}
|
||||||
|
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CUR}
|
||||||
|
M204 S10000
|
||||||
|
G90
|
||||||
|
QIDI_PROBE_PIN_2
|
||||||
|
|
||||||
|
[gcode_macro SHAPER_CALIBRATE]
|
||||||
|
rename_existing: RESHAPER_CALIBRATE
|
||||||
|
gcode:
|
||||||
|
RESHAPER_CALIBRATE FREQ_START=20 FREQ_END=150
|
||||||
|
|
||||||
|
[gcode_macro PRINT_END]
|
||||||
|
gcode:
|
||||||
|
SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout} ; set timeout back to configured value
|
||||||
|
CLEAR_PAUSE
|
||||||
|
save_zoffset
|
||||||
|
M106 P2 S0
|
||||||
|
M106 P0 S0
|
||||||
|
M106 P3 S0
|
||||||
|
|
||||||
|
M104 S0
|
||||||
|
M140 S0
|
||||||
|
M141 S0
|
||||||
|
|
||||||
|
M220 S100
|
||||||
|
M221 S100
|
||||||
|
SET_STEPPER_ENABLE STEPPER=stepper_x enable=0
|
||||||
|
SET_STEPPER_ENABLE STEPPER=stepper_y enable=0
|
||||||
|
SET_STEPPER_ENABLE STEPPER=stepper_z enable=1
|
||||||
|
SET_STEPPER_ENABLE STEPPER=stepper_z1 enable=1
|
||||||
|
SET_STEPPER_ENABLE STEPPER=extruder enable=0
|
||||||
|
|
||||||
|
DISABLE_ALL_SENSOR
|
||||||
|
SET_GCODE_OFFSET Z=0 MOVE=0
|
||||||
|
BED_MESH_CLEAR
|
||||||
|
G31
|
||||||
|
CLEAR_LAST_FILE
|
||||||
|
BEEP I=2 DUR=500
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[gcode_macro CANCEL_PRINT]
|
||||||
|
rename_existing: BASE_CANCEL_PRINT
|
||||||
|
gcode:
|
||||||
|
{% if (printer.gcode_move.position.z) < 150 %} ; check that zhop doesn't exceed z max
|
||||||
|
G1 Z150 F480
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
G1 X0 Y0 F7800
|
||||||
|
|
||||||
|
SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout} ; set timeout back to configured value
|
||||||
|
CLEAR_PAUSE
|
||||||
|
save_zoffset
|
||||||
|
M106 P2 S0
|
||||||
|
M106 P0 S0
|
||||||
|
M106 P3 S0
|
||||||
|
|
||||||
|
M104 S0
|
||||||
|
M140 S0
|
||||||
|
M141 S0
|
||||||
|
|
||||||
|
M220 S100
|
||||||
|
M221 S100
|
||||||
|
SET_STEPPER_ENABLE STEPPER=stepper_x enable=0
|
||||||
|
SET_STEPPER_ENABLE STEPPER=stepper_y enable=0
|
||||||
|
SET_STEPPER_ENABLE STEPPER=stepper_z enable=1
|
||||||
|
SET_STEPPER_ENABLE STEPPER=stepper_z1 enable=1
|
||||||
|
SET_STEPPER_ENABLE STEPPER=extruder enable=0
|
||||||
|
|
||||||
|
DISABLE_ALL_SENSOR
|
||||||
|
SET_GCODE_OFFSET Z=0 MOVE=0
|
||||||
|
BED_MESH_CLEAR
|
||||||
|
G31
|
||||||
|
BEEP I=2 DUR=500
|
||||||
|
|
||||||
|
SDCARD_RESET_FILE
|
||||||
|
BASE_CANCEL_PRINT
|
||||||
|
CLEAR_LAST_FILE
|
||||||
|
|
||||||
|
[gcode_macro PAUSE]
|
||||||
|
rename_existing: BASE_PAUSE
|
||||||
|
gcode:
|
||||||
|
{% set z = params.Z|default(35)|int %} ; z hop amount
|
||||||
|
|
||||||
|
{% if printer['pause_resume'].is_paused|int == 0 %}
|
||||||
|
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=zhop VALUE={z} ; set z hop variable for reference in resume macro
|
||||||
|
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=etemp VALUE={printer['extruder'].target} ; set hotend temp variable for reference in resume macro
|
||||||
|
|
||||||
|
DISABLE_FILAMENT_WIDTH_SENSOR
|
||||||
|
SET_FILAMENT_SENSOR SENSOR=fila ENABLE=0 ; disable filament sensor
|
||||||
|
SAVE_GCODE_STATE NAME=PAUSE ; save current print position for resume
|
||||||
|
BASE_PAUSE ; pause print
|
||||||
|
G92 E0
|
||||||
|
G1 E-5 F1800
|
||||||
|
{% if (printer.gcode_move.position.z ) < z %}
|
||||||
|
G91 ; relative positioning
|
||||||
|
G1 Z{z} F900 ; raise Z up by z hop amount
|
||||||
|
{% else %}
|
||||||
|
G91 ; relative positioning
|
||||||
|
G1 Z{5} F900
|
||||||
|
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=zhop VALUE=0
|
||||||
|
{% endif %}
|
||||||
|
SAVE_GCODE_STATE NAME=PAUSEPARK2
|
||||||
|
G90 ; absolute positioning
|
||||||
|
G1 X97 F9000
|
||||||
|
G1 Y253 F9000 ; park toolhead at front center
|
||||||
|
SAVE_GCODE_STATE NAME=PAUSEPARK ; save parked position in case toolhead is moved during the pause (otherwise the return zhop can error)
|
||||||
|
M104 S0 ; turn off hotend
|
||||||
|
SET_IDLE_TIMEOUT TIMEOUT=86400 ; set timeout to 24 hours
|
||||||
|
SET_STEPPER_ENABLE STEPPER=extruder enable=0
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
|
[gcode_macro RESUME]
|
||||||
|
rename_existing: BASE_RESUME
|
||||||
|
variable_zhop: 0
|
||||||
|
variable_etemp: 0
|
||||||
|
gcode:
|
||||||
|
{% set e = params.E|default(5)|int %} ; hotend prime amount (in mm)
|
||||||
|
|
||||||
|
{% if printer['pause_resume'].is_paused|int == 1 %}
|
||||||
|
SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout} ; set timeout back to configured value
|
||||||
|
{% if etemp > 0 %}
|
||||||
|
M109 S{etemp|int} ; wait for hotend to heat back up
|
||||||
|
{% endif %}
|
||||||
|
M83 ; relative extruder positioning
|
||||||
|
G1 X97 F9000
|
||||||
|
G1 Y253 F9000
|
||||||
|
G91
|
||||||
|
G1 E{e} F300 ; prime nozzle by E, lower Z back down
|
||||||
|
G90
|
||||||
|
G1 X85 F3000
|
||||||
|
G1 X98 F3000
|
||||||
|
G1 X85 F3000
|
||||||
|
G1 X98 F3000
|
||||||
|
G1 X85 F3000
|
||||||
|
G1 X98 F3000
|
||||||
|
G1 X85 F3000
|
||||||
|
G1 X98 F3000
|
||||||
|
G1 X85 F3000
|
||||||
|
G1 X98 F3000
|
||||||
|
G1 X85 F3000
|
||||||
|
G1 X98 F3000
|
||||||
|
G1 X65 F500
|
||||||
|
G1 Y200 F3000
|
||||||
|
RESTORE_GCODE_STATE NAME=PAUSEPARK2 MOVE=1 MOVE_SPEED=200
|
||||||
|
RESTORE_GCODE_STATE NAME=PAUSE MOVE=1 MOVE_SPEED=10 ; restore position
|
||||||
|
BASE_RESUME
|
||||||
|
ENABLE_FILAMENT_WIDTH_SENSOR
|
||||||
|
RESET_FILAMENT_WIDTH_SENSOR
|
||||||
|
query_filament_width ; resume print
|
||||||
|
SET_FILAMENT_SENSOR SENSOR=fila ENABLE=1 ; enable filament sensor
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[gcode_macro BEEP]
|
||||||
|
gcode:
|
||||||
|
{% set i = params.I|default(1)|int %} ; Iterations (number of times to beep).
|
||||||
|
{% set dur = params.DUR|default(100)|int %} ; Duration/wait of each beep in ms. Default 100ms.
|
||||||
|
|
||||||
|
{% if printer["output_pin sound"].value|int == 1 %}
|
||||||
|
{% for iteration in range(i|int) %}
|
||||||
|
SET_PIN PIN=beeper VALUE=1
|
||||||
|
G4 P{dur}
|
||||||
|
SET_PIN PIN=beeper VALUE=0
|
||||||
|
G4 P{dur}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[gcode_macro M141]
|
||||||
|
gcode:
|
||||||
|
{% if printer["heater_generic chamber"] is defined %}
|
||||||
|
{% set s = params.S|float %}
|
||||||
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={([s, 60]|min)}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[gcode_macro M191]
|
||||||
|
gcode:
|
||||||
|
#Parameters
|
||||||
|
{% if printer["heater_generic chamber"] is defined %}
|
||||||
|
{% set s = params.S|float %}
|
||||||
|
|
||||||
|
M141 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %}
|
||||||
|
{% if s != 0 %}
|
||||||
|
TEMPERATURE_WAIT SENSOR="heater_generic chamber" MINIMUM={([s, 60]|min)-2} #MAXIMUM={s+1}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[gcode_macro M106]
|
||||||
|
gcode:
|
||||||
|
{% set p = params.P|default(0)|int %}
|
||||||
|
|
||||||
|
{% if p == 2 %}
|
||||||
|
{% if params.S is defined %}
|
||||||
|
SET_FAN_SPEED FAN=auxiliary_cooling_fan SPEED={(params.S|float / 255.0)}
|
||||||
|
{% else %}
|
||||||
|
SET_FAN_SPEED FAN=auxiliary_cooling_fan SPEED=1
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if p == 0 %}
|
||||||
|
{% if params.S is defined %}
|
||||||
|
SET_FAN_SPEED FAN=cooling_fan SPEED={(params.S|float / 255.0)}
|
||||||
|
{% else %}
|
||||||
|
SET_FAN_SPEED FAN=cooling_fan SPEED=1
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if p == 3 %}
|
||||||
|
{% if params.S is defined %}
|
||||||
|
SET_FAN_SPEED FAN=chamber_circulation_fan SPEED={(params.S|float / 255.0)}
|
||||||
|
{% else %}
|
||||||
|
SET_FAN_SPEED FAN=chamber_circulation_fan SPEED=1
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[gcode_macro M107]
|
||||||
|
gcode:
|
||||||
|
SET_FAN_SPEED FAN=cooling_fan SPEED=0
|
||||||
|
|
||||||
|
[gcode_macro M303]
|
||||||
|
gcode:
|
||||||
|
{% if params.E is defined %}
|
||||||
|
{% if params.S is defined %}
|
||||||
|
{% if (params.E|int)==-1 %}
|
||||||
|
PID_CALIBRATE HEATER=heater_bed TARGET={params.S|int}
|
||||||
|
{% endif %}
|
||||||
|
{% if (params.E|int)==0 %}
|
||||||
|
PID_CALIBRATE HEATER=extruder TARGET={params.S|int}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[gcode_macro M8029]
|
||||||
|
gcode:
|
||||||
|
{% if params.D is defined %}
|
||||||
|
{% if (params.D|int)==1 %}
|
||||||
|
ENABLE_FILAMENT_WIDTH_SENSOR
|
||||||
|
{% endif %}
|
||||||
|
{% if (params.D|int)==0 %}
|
||||||
|
DISABLE_FILAMENT_WIDTH_SENSOR
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[gcode_macro M900]
|
||||||
|
gcode:
|
||||||
|
{% if params.K is defined %}
|
||||||
|
SET_PRESSURE_ADVANCE ADVANCE={params.K}
|
||||||
|
{% endif %}
|
||||||
|
{% if params.T is defined %}
|
||||||
|
SET_PRESSURE_ADVANCE SMOOTH_TIME={params.T}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[gcode_macro M290]
|
||||||
|
gcode:
|
||||||
|
SET_GCODE_OFFSET Z_ADJUST={params.Z}
|
||||||
|
|
||||||
|
[gcode_macro M901]
|
||||||
|
gcode:
|
||||||
|
G28
|
||||||
|
SHAPER_CALIBRATE
|
||||||
|
M400
|
||||||
|
M118 Input shaping complete
|
||||||
|
SAVE_CONFIG
|
||||||
|
|
||||||
|
[gcode_macro M0]
|
||||||
|
gcode:
|
||||||
|
PAUSE
|
||||||
|
|
||||||
|
[gcode_macro M25]
|
||||||
|
rename_existing: M9925
|
||||||
|
gcode:
|
||||||
|
PAUSE
|
||||||
|
|
||||||
|
[gcode_macro RESPOND_INFO]
|
||||||
|
variable_S:0
|
||||||
|
gcode:
|
||||||
|
{% if params.S is defined %}
|
||||||
|
{% set s = params.S|int %}
|
||||||
|
{% if s == 0 %}
|
||||||
|
{ action_respond_info("Nozzle cooled") }
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[gcode_macro M4027]
|
||||||
|
gcode:
|
||||||
|
G1 X{120 - printer.probe["x_offset"]} Y{120 - printer.probe["y_offset"]} F9000
|
||||||
|
probe
|
||||||
|
save_meshoffset
|
||||||
|
G1 z10 F600
|
||||||
|
SET_GCODE_OFFSET Z=0 MOVE=1
|
||||||
|
BED_MESH_CALIBRATE
|
||||||
|
set_meshoffset
|
||||||
|
G0 Z50 F600
|
||||||
|
G0 X0 Y0 F9000
|
||||||
|
M400
|
||||||
|
M118 Bed mesh calibrate complete
|
||||||
|
SAVE_CONFIG
|
||||||
|
|
||||||
|
[gcode_macro M4028]
|
||||||
|
gcode:
|
||||||
|
G28
|
||||||
|
# Z_TILT_ADJUST
|
||||||
|
G28
|
||||||
|
get_zoffset
|
||||||
|
M400
|
||||||
|
M118 Position init complete
|
||||||
|
|
||||||
|
[gcode_macro M4029]
|
||||||
|
gcode:
|
||||||
|
M104 S140
|
||||||
|
SAVE_VARIABLE VARIABLE=z_offset VALUE=0
|
||||||
|
G28
|
||||||
|
M400
|
||||||
|
M118 Position init complete
|
||||||
|
|
||||||
|
CLEAR_NOZZLE HOTEND=240
|
||||||
|
# Z_TILT_ADJUST
|
||||||
|
G28
|
||||||
|
get_zoffset
|
||||||
|
|
||||||
|
[gcode_macro M4030]
|
||||||
|
gcode:
|
||||||
|
REVERSE_HOMING
|
||||||
|
G91
|
||||||
|
G1 Z-30
|
||||||
|
G90
|
||||||
|
BED_MESH_CLEAR
|
||||||
|
SET_GCODE_OFFSET Z=0 MOVE=0
|
||||||
|
G28
|
||||||
|
get_zoffset
|
||||||
|
G1 X120 Y120 F9000
|
||||||
|
G1 Z0 F600
|
||||||
|
|
||||||
|
[gcode_macro M603]
|
||||||
|
description: filament unlode
|
||||||
|
gcode:
|
||||||
|
M118 Heat up complete
|
||||||
|
G92 E0
|
||||||
|
G0 E15 F400
|
||||||
|
G4 P1000
|
||||||
|
G92 E0
|
||||||
|
G1 E-90 F800
|
||||||
|
M400
|
||||||
|
M118 Unload finish
|
||||||
|
|
||||||
|
[gcode_macro M604]
|
||||||
|
gcode:
|
||||||
|
M118 Heat up complete
|
||||||
|
M83
|
||||||
|
G1 E80 F400
|
||||||
|
M400
|
||||||
|
M118 Load finish
|
||||||
|
|
||||||
|
[output_pin sound]
|
||||||
|
pin: gpio8
|
||||||
|
value:0
|
||||||
|
|
||||||
|
[gcode_macro beep_on]
|
||||||
|
gcode:
|
||||||
|
SET_PIN PIN=sound VALUE=1
|
||||||
|
|
||||||
|
[gcode_macro beep_off]
|
||||||
|
gcode:
|
||||||
|
SET_PIN PIN=sound VALUE=0
|
||||||
|
|
||||||
|
[gcode_arcs]
|
||||||
|
resolution: 1.0
|
||||||
|
|
||||||
|
[gcode_macro M109]
|
||||||
|
rename_existing: M99109
|
||||||
|
gcode:
|
||||||
|
{% set s = params.S|float %}
|
||||||
|
|
||||||
|
M104 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} ; Set hotend temp
|
||||||
|
{% if s != 0 %}
|
||||||
|
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s} MAXIMUM={s+1} ; Wait for hotend temp (within 1 degree)
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[exclude_object]
|
||||||
|
|
||||||
|
[gcode_macro G31]
|
||||||
|
gcode:
|
||||||
|
SET_GCODE_VARIABLE MACRO=G29 VARIABLE=k VALUE=1
|
||||||
|
|
||||||
|
[gcode_macro G32]
|
||||||
|
gcode:
|
||||||
|
SET_GCODE_VARIABLE MACRO=G29 VARIABLE=k VALUE=0
|
||||||
|
|
||||||
|
[gcode_macro set_meshoffset]
|
||||||
|
variable_zoffset:0
|
||||||
|
gcode:
|
||||||
|
ADD_Z_OFFSET_TO_BED_MESH ZOFFSET={0 - zoffset}
|
||||||
|
SET_GCODE_VARIABLE MACRO=set_meshoffset VARIABLE=zoffset VALUE=0
|
||||||
|
[gcode_macro save_meshoffset]
|
||||||
|
gcode:
|
||||||
|
SET_GCODE_VARIABLE MACRO=set_meshoffset VARIABLE=zoffset VALUE={printer.probe.last_z_result}
|
||||||
|
|
||||||
|
[gcode_macro G29]
|
||||||
|
variable_k:1
|
||||||
|
gcode:
|
||||||
|
BED_MESH_CLEAR
|
||||||
|
{% if k|int==1 %}
|
||||||
|
G28
|
||||||
|
get_zoffset
|
||||||
|
G1 X{120 - printer.probe["x_offset"]} Y{120 - printer.probe["y_offset"]} F9000
|
||||||
|
G1 Z10 F600
|
||||||
|
probe
|
||||||
|
save_meshoffset
|
||||||
|
G1 z10 F600
|
||||||
|
BED_MESH_CALIBRATE PROFILE=kamp
|
||||||
|
SAVE_VARIABLE VARIABLE=profile_name VALUE='"kamp"'
|
||||||
|
set_meshoffset
|
||||||
|
SAVE_CONFIG_QD
|
||||||
|
{% else %}
|
||||||
|
g28
|
||||||
|
get_zoffset
|
||||||
|
BED_MESH_PROFILE LOAD=default
|
||||||
|
SAVE_VARIABLE VARIABLE=profile_name VALUE='"default"'
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[gcode_macro M204]
|
||||||
|
rename_existing: M99204
|
||||||
|
gcode:
|
||||||
|
{% if params.S is defined %}
|
||||||
|
{% set s = params.S|float %}
|
||||||
|
{% endif %}
|
||||||
|
{% if params.P is defined %}
|
||||||
|
{% if params.T is defined %}
|
||||||
|
{% set s = [params.P|float ,params.T|float] | min %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
SET_VELOCITY_LIMIT ACCEL={s}
|
||||||
|
SET_VELOCITY_LIMIT ACCEL_TO_DECEL={s/2}
|
||||||
|
|
||||||
|
[gcode_macro Z_DOUDONG]
|
||||||
|
gcode:
|
||||||
|
m204 S5000
|
||||||
|
G91
|
||||||
|
G1 X2 F6000
|
||||||
|
G1 X-2 F6000
|
||||||
|
G1 X2 F6000
|
||||||
|
G1 X-2 F6000
|
||||||
|
G1 X2 F6000
|
||||||
|
G1 X-2 F6000
|
||||||
|
G1 X2 F6000
|
||||||
|
G1 X-2 F6000
|
||||||
|
G1 X2 F6000
|
||||||
|
G1 X-2 F6000
|
||||||
|
G1 X2 F6000
|
||||||
|
G1 X-2 F6000
|
||||||
|
|
||||||
|
G1 Y2 F6000
|
||||||
|
G1 Y-2 F6000
|
||||||
|
G1 Y2 F6000
|
||||||
|
G1 Y-2 F6000
|
||||||
|
G1 Y2 F6000
|
||||||
|
G1 Y-2 F6000
|
||||||
|
G1 Y2 F6000
|
||||||
|
G1 Y-2 F6000
|
||||||
|
G1 Y2 F6000
|
||||||
|
G1 Y-2 F6000
|
||||||
|
G1 Y2 F6000
|
||||||
|
G1 Y-2 F6000
|
||||||
|
G1 Y2 F6000
|
||||||
|
G1 Y-2 F6000
|
||||||
|
|
||||||
|
G90
|
||||||
|
m204 S5000
|
||||||
|
SET_Z_VELOCITY_LIMIT VALUE=15
|
||||||
|
SET_PIN PIN=ctlyd VALUE=1
|
||||||
|
G91
|
||||||
|
G1 Z1 F900
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G90
|
||||||
|
SET_PIN PIN=ctlyd VALUE=0
|
||||||
|
SET_Z_VELOCITY_LIMIT VALUE=10
|
||||||
|
G4 P500
|
||||||
54
config/moonraker.conf
Normal file
54
config/moonraker.conf
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
[server]
|
||||||
|
host: 0.0.0.0
|
||||||
|
port: 7125
|
||||||
|
enable_debug_logging: False
|
||||||
|
klippy_uds_address: /tmp/klippy_uds
|
||||||
|
|
||||||
|
[authorization]
|
||||||
|
trusted_clients:
|
||||||
|
10.0.0.0/8
|
||||||
|
127.0.0.0/8
|
||||||
|
169.254.0.0/16
|
||||||
|
172.16.0.0/12
|
||||||
|
192.168.0.0/16
|
||||||
|
FE80::/10
|
||||||
|
::1/128
|
||||||
|
cors_domains:
|
||||||
|
http://*.lan
|
||||||
|
http://*.local
|
||||||
|
https://my.mainsail.xyz
|
||||||
|
http://my.mainsail.xyz
|
||||||
|
https://app.fluidd.xyz
|
||||||
|
http://app.fluidd.xyz
|
||||||
|
|
||||||
|
[database]
|
||||||
|
database_path: /home/mks/.moonraker_database
|
||||||
|
|
||||||
|
[file_manager]
|
||||||
|
config_path: /home/mks/klipper_config
|
||||||
|
log_path: /home/mks/klipper_logs
|
||||||
|
|
||||||
|
[octoprint_compat]
|
||||||
|
|
||||||
|
[history]
|
||||||
|
|
||||||
|
[timelapse]
|
||||||
|
# [update_manager]
|
||||||
|
# channel: dev
|
||||||
|
# refresh_interval: 168
|
||||||
|
# enable_system_updates: False
|
||||||
|
|
||||||
|
# [update_manager fluidd]
|
||||||
|
# type: web
|
||||||
|
# channel: stable
|
||||||
|
# repo: fluidd-core/fluidd
|
||||||
|
# path: ~/fluidd
|
||||||
|
|
||||||
|
# [update_manager KlipperScreen]
|
||||||
|
# type: git_repo
|
||||||
|
# path: /home/mks/KlipperScreen
|
||||||
|
# origin: https://github.com/jordanruthe/KlipperScreen.git
|
||||||
|
# env: /home/mks/.KlipperScreen-env/bin/python
|
||||||
|
# requirements: scripts/KlipperScreen-requirements.txt
|
||||||
|
# install_script: scripts/KlipperScreen-install.sh
|
||||||
|
|
||||||
598
config/printer.cfg
Normal file
598
config/printer.cfg
Normal file
@@ -0,0 +1,598 @@
|
|||||||
|
# Q1_Pro
|
||||||
|
# V4.4.14 2024-3-14
|
||||||
|
# modify: heater_generic hot -> chamber
|
||||||
|
# out_put_pin fan0 -> fan_generic cooling_fan
|
||||||
|
# out_put_pin fan2 -> fan_generic auxiliary_cooling_fan
|
||||||
|
# out_put_pin fan3 -> fan_generic chamber_circulation_fan
|
||||||
|
# heater_fan hot -> heater_fan chamber
|
||||||
|
# verify_heater hot -> verify_heater chamber
|
||||||
|
# V4.4.17 2024-3-29
|
||||||
|
# modify: delete comments
|
||||||
|
# add time_update macro
|
||||||
|
# [bed_mesh] 6,6 ->8,8
|
||||||
|
#V4.4.19 2024-4-16
|
||||||
|
# modify: add [chamber_fan chamber_fan]
|
||||||
|
[include timelapse.cfg]
|
||||||
|
[include Adaptive_Mesh.cfg]
|
||||||
|
[include gcode_macro.cfg]
|
||||||
|
[include plr.cfg]
|
||||||
|
[include time_update.cfg]
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/ttyS2
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[mcu U_1]
|
||||||
|
serial: /dev/ttyS0
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[respond]
|
||||||
|
default_type: echo
|
||||||
|
|
||||||
|
[save_variables]
|
||||||
|
filename =/home/mks/klipper_config/saved_variables.cfg
|
||||||
|
|
||||||
|
[resonance_tester]
|
||||||
|
accel_per_hz: 150
|
||||||
|
max_smoothing:0.5
|
||||||
|
|
||||||
|
[duplicate_pin_override]
|
||||||
|
pins:
|
||||||
|
gpio21 ,U_1:PC3
|
||||||
|
|
||||||
|
[bed_screws]
|
||||||
|
screw1:10,10
|
||||||
|
screw1_name: Front left
|
||||||
|
screw2: 230,10
|
||||||
|
screw2_name: Front right
|
||||||
|
screw3: 125,240
|
||||||
|
screw3_name: Last right
|
||||||
|
|
||||||
|
[screws_tilt_adjust]
|
||||||
|
screw1:-5,5.6
|
||||||
|
screw1_name: Front left
|
||||||
|
screw2: 216,5.6
|
||||||
|
screw2_name: Front right
|
||||||
|
screw3: 103,235.6
|
||||||
|
screw3_name: Last right
|
||||||
|
screw_thread: CW-M4
|
||||||
|
|
||||||
|
[force_move]
|
||||||
|
enable_force_move : false
|
||||||
|
|
||||||
|
[hall_filament_width_sensor]
|
||||||
|
adc1: gpio27
|
||||||
|
adc2: gpio28
|
||||||
|
cal_dia1: 1.50
|
||||||
|
cal_dia2: 2.0
|
||||||
|
raw_dia1: 14397
|
||||||
|
raw_dia2: 15058
|
||||||
|
default_nominal_filament_diameter: 1.75
|
||||||
|
max_difference: 0
|
||||||
|
measurement_delay: 50
|
||||||
|
enable: false
|
||||||
|
measurement_interval: 10
|
||||||
|
logging: False
|
||||||
|
min_diameter: 0.3
|
||||||
|
use_current_dia_while_delay: False
|
||||||
|
pause_on_runout:True
|
||||||
|
runout_gcode:
|
||||||
|
pause
|
||||||
|
RESET_FILAMENT_WIDTH_SENSOR
|
||||||
|
M118 Filament run out
|
||||||
|
event_delay: 3.0
|
||||||
|
pause_delay: 0.5
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin:gpio5
|
||||||
|
dir_pin:gpio4
|
||||||
|
enable_pin:!gpio10
|
||||||
|
rotation_distance: 53.7 #22.6789511 #Bondtech 5mm Drive Gears
|
||||||
|
gear_ratio: 1517:170
|
||||||
|
microsteps: 16
|
||||||
|
full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.75
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 360
|
||||||
|
min_extrude_temp: 175
|
||||||
|
smooth_time: 0.000001
|
||||||
|
heater_pin:gpio24
|
||||||
|
sensor_type:MAX6675
|
||||||
|
sensor_pin:gpio17
|
||||||
|
spi_speed: 100000
|
||||||
|
spi_software_sclk_pin:gpio18
|
||||||
|
spi_software_mosi_pin:gpio19
|
||||||
|
spi_software_miso_pin:gpio16
|
||||||
|
max_power: 1
|
||||||
|
|
||||||
|
control : pid
|
||||||
|
pid_Kp=33.555
|
||||||
|
pid_Ki=4.76
|
||||||
|
pid_Kd=59.141
|
||||||
|
|
||||||
|
pressure_advance: 0.032
|
||||||
|
pressure_advance_smooth_time: 0.03
|
||||||
|
max_extrude_cross_section:500
|
||||||
|
instantaneous_corner_velocity: 10.000
|
||||||
|
max_extrude_only_distance: 1000.0
|
||||||
|
max_extrude_only_velocity:5000
|
||||||
|
max_extrude_only_accel:2000
|
||||||
|
step_pulse_duration:0.000002
|
||||||
|
|
||||||
|
[tmc2209 extruder]
|
||||||
|
uart_pin:gpio6
|
||||||
|
interpolate: True
|
||||||
|
run_current: 0.714
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
|
||||||
|
[adxl345]
|
||||||
|
cs_pin:gpio13
|
||||||
|
spi_software_sclk_pin:gpio14
|
||||||
|
spi_software_mosi_pin:gpio15
|
||||||
|
spi_software_miso_pin:gpio12
|
||||||
|
axes_map: -x, z, -y
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics:corexy
|
||||||
|
max_velocity: 600
|
||||||
|
max_accel: 20000
|
||||||
|
max_accel_to_decel: 10000
|
||||||
|
max_z_velocity: 10
|
||||||
|
max_z_accel: 500
|
||||||
|
square_corner_velocity: 8
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin:U_1:PB4
|
||||||
|
dir_pin:!U_1:PB3
|
||||||
|
enable_pin:!U_1:PB5
|
||||||
|
microsteps:16
|
||||||
|
rotation_distance: 39.88
|
||||||
|
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
|
||||||
|
endstop_pin:tmc2240_stepper_x:virtual_endstop
|
||||||
|
position_min: -5.5
|
||||||
|
position_endstop: -5.5
|
||||||
|
position_max:245
|
||||||
|
homing_speed:50
|
||||||
|
homing_retract_dist:0
|
||||||
|
homing_positive_dir:False
|
||||||
|
step_pulse_duration:0.0000001
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin:U_1:PC14
|
||||||
|
dir_pin:!U_1:PC13
|
||||||
|
enable_pin:!U_1:PC15
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 39.88
|
||||||
|
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
|
||||||
|
endstop_pin:tmc2240_stepper_y:virtual_endstop
|
||||||
|
position_min: -4.5
|
||||||
|
position_endstop: -4.5
|
||||||
|
position_max: 258
|
||||||
|
homing_speed:50
|
||||||
|
homing_retract_dist:0
|
||||||
|
homing_positive_dir:False
|
||||||
|
step_pulse_duration:0.0000001
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin:U_1:PC10
|
||||||
|
dir_pin:U_1:PA15
|
||||||
|
enable_pin:!U_1:PC11
|
||||||
|
microsteps: 128
|
||||||
|
rotation_distance: 4
|
||||||
|
full_steps_per_rotation: 200
|
||||||
|
endstop_pin:probe:z_virtual_endstop #U_1:PC3 for Z-max
|
||||||
|
endstop_pin_reverse:tmc2209_stepper_z:virtual_endstop
|
||||||
|
position_endstop:-0.2
|
||||||
|
position_endstop_reverse:248
|
||||||
|
position_max:248
|
||||||
|
position_min: -4
|
||||||
|
homing_speed: 8
|
||||||
|
homing_speed_reverse: 8
|
||||||
|
second_homing_speed: 10
|
||||||
|
homing_retract_dist: 5.0
|
||||||
|
homing_positive_dir:false
|
||||||
|
homing_positive_dir_reverse:true
|
||||||
|
step_pulse_duration:0.0000001
|
||||||
|
|
||||||
|
[stepper_z1]
|
||||||
|
step_pin:U_1:PB1
|
||||||
|
dir_pin:U_1:PB6
|
||||||
|
enable_pin:!U_1:PB0
|
||||||
|
microsteps: 128
|
||||||
|
rotation_distance: 4
|
||||||
|
full_steps_per_rotation: 200
|
||||||
|
step_pulse_duration:0.0000001
|
||||||
|
endstop_pin_reverse:tmc2209_stepper_z1:virtual_endstop
|
||||||
|
|
||||||
|
[z_tilt]
|
||||||
|
z_positions:
|
||||||
|
-59,125
|
||||||
|
307.5,125
|
||||||
|
|
||||||
|
points:
|
||||||
|
0,125
|
||||||
|
215,125
|
||||||
|
|
||||||
|
speed: 150
|
||||||
|
horizontal_move_z: 5
|
||||||
|
retries: 2
|
||||||
|
retry_tolerance: 0.05
|
||||||
|
|
||||||
|
[tmc2240 stepper_y]
|
||||||
|
cs_pin:U_1:PB9
|
||||||
|
spi_software_sclk_pin:U_1:PA5
|
||||||
|
spi_software_mosi_pin:U_1:PA7
|
||||||
|
spi_software_miso_pin:U_1:PA6
|
||||||
|
spi_speed:200000
|
||||||
|
run_current: 1.07
|
||||||
|
#hold_current: 0.5
|
||||||
|
interpolate:true
|
||||||
|
stealthchop_threshold:0
|
||||||
|
diag0_pin:!U_1:PC0
|
||||||
|
driver_SGT:1
|
||||||
|
|
||||||
|
[tmc2240 stepper_x]
|
||||||
|
cs_pin:U_1:PD2
|
||||||
|
spi_software_sclk_pin:U_1:PA5
|
||||||
|
spi_software_mosi_pin:U_1:PA7
|
||||||
|
spi_software_miso_pin:U_1:PA6
|
||||||
|
spi_speed:200000
|
||||||
|
run_current: 1.07
|
||||||
|
#hold_current: 0.5
|
||||||
|
interpolate:true
|
||||||
|
stealthchop_threshold:0
|
||||||
|
diag0_pin:!U_1:PB8
|
||||||
|
driver_SGT:1
|
||||||
|
|
||||||
|
[tmc2209 stepper_z]
|
||||||
|
uart_pin:U_1: PC5
|
||||||
|
run_current: 0.6
|
||||||
|
#hold_current: 0.17
|
||||||
|
interpolate: True
|
||||||
|
stealthchop_threshold: 9999999999
|
||||||
|
diag_pin:^U_1:PC12
|
||||||
|
driver_SGTHRS:140
|
||||||
|
|
||||||
|
[tmc2209 stepper_z1]
|
||||||
|
uart_pin:U_1: PB7
|
||||||
|
run_current: 0.6
|
||||||
|
#hold_current: 0.17
|
||||||
|
interpolate: True
|
||||||
|
stealthchop_threshold: 9999999999
|
||||||
|
diag_pin:^U_1:PA13
|
||||||
|
driver_SGTHRS:140
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: U_1:PB10
|
||||||
|
sensor_type:NTC 100K MGB18-104F39050L32
|
||||||
|
sensor_pin:U_1: PA0
|
||||||
|
max_power: 1.0
|
||||||
|
control = pid
|
||||||
|
pid_Kp=63.418
|
||||||
|
pid_Ki=1.342
|
||||||
|
pid_Kd=749.125
|
||||||
|
min_temp: -60
|
||||||
|
max_temp: 125
|
||||||
|
|
||||||
|
[heater_generic chamber]
|
||||||
|
heater_pin:U_1:PC8
|
||||||
|
max_power:1.0
|
||||||
|
sensor_type:NTC 100K MGB18-104F39050L32
|
||||||
|
sensor_pin:U_1:PA1
|
||||||
|
|
||||||
|
control = pid#watermark
|
||||||
|
pid_Kp=63.418
|
||||||
|
pid_Ki=1.342
|
||||||
|
pid_Kd=749.125
|
||||||
|
|
||||||
|
min_temp:-100
|
||||||
|
max_temp:65
|
||||||
|
|
||||||
|
[verify_heater chamber]
|
||||||
|
max_error: 300
|
||||||
|
check_gain_time:480
|
||||||
|
hysteresis: 5
|
||||||
|
heating_gain: 1
|
||||||
|
|
||||||
|
[verify_heater extruder]
|
||||||
|
max_error: 120
|
||||||
|
check_gain_time:20
|
||||||
|
hysteresis: 5
|
||||||
|
heating_gain: 1
|
||||||
|
|
||||||
|
[verify_heater heater_bed]
|
||||||
|
max_error: 200
|
||||||
|
check_gain_time:60
|
||||||
|
hysteresis: 5
|
||||||
|
heating_gain: 1
|
||||||
|
|
||||||
|
[fan_generic auxiliary_cooling_fan]
|
||||||
|
pin: U_1:PA8
|
||||||
|
shutdown_speed: 0.0
|
||||||
|
cycle_time: 0.0100
|
||||||
|
hardware_pwm: false
|
||||||
|
kick_start_time: 0.100
|
||||||
|
off_below: 0.0
|
||||||
|
|
||||||
|
[fan_generic chamber_circulation_fan]
|
||||||
|
pin:U_1:PC9
|
||||||
|
shutdown_speed: 0.0
|
||||||
|
cycle_time: 0.100
|
||||||
|
hardware_pwm: false
|
||||||
|
kick_start_time: 0.100
|
||||||
|
off_below: 0.0
|
||||||
|
|
||||||
|
[chamber_fan chamber_fan]
|
||||||
|
pin:U_1:PA4
|
||||||
|
max_power: 1.0
|
||||||
|
shutdown_speed: 0
|
||||||
|
kick_start_time: 0.5
|
||||||
|
heater:chamber
|
||||||
|
fan_speed: 1.0
|
||||||
|
off_below: 0
|
||||||
|
idle_timeout:60
|
||||||
|
idle_speed:1.0
|
||||||
|
|
||||||
|
[heater_fan hotend_fan]
|
||||||
|
pin:gpio25
|
||||||
|
max_power: 1.0
|
||||||
|
shutdown_speed:1.0
|
||||||
|
kick_start_time: 0.5
|
||||||
|
heater: extruder
|
||||||
|
heater_temp: 50.0
|
||||||
|
fan_speed: 1.0
|
||||||
|
off_below: 0
|
||||||
|
|
||||||
|
[heater_fan hotend_fan2]
|
||||||
|
pin:gpio11
|
||||||
|
max_power: 1.0
|
||||||
|
shutdown_speed:1.0
|
||||||
|
kick_start_time: 0.5
|
||||||
|
heater: extruder
|
||||||
|
heater_temp: 50.0
|
||||||
|
fan_speed: 1.0
|
||||||
|
off_below: 0
|
||||||
|
|
||||||
|
[controller_fan board_fan]
|
||||||
|
pin:U_1:PC4
|
||||||
|
max_power:1.0
|
||||||
|
shutdown_speed:1.0
|
||||||
|
cycle_time:0.01
|
||||||
|
fan_speed: 0.6
|
||||||
|
stepper:stepper_z,stepper_z1
|
||||||
|
|
||||||
|
[fan_generic cooling_fan]
|
||||||
|
pin:gpio2
|
||||||
|
max_power: 1.0
|
||||||
|
shutdown_speed: 0
|
||||||
|
cycle_time: 0.0100
|
||||||
|
hardware_pwm: false
|
||||||
|
kick_start_time: 0.100
|
||||||
|
off_below: 0.0
|
||||||
|
|
||||||
|
[output_pin caselight]
|
||||||
|
pin: U_1:PC7
|
||||||
|
pwm: false
|
||||||
|
shutdown_value:1
|
||||||
|
value:1
|
||||||
|
|
||||||
|
[output_pin beeper]
|
||||||
|
pin:U_1: PA2
|
||||||
|
pwm: false
|
||||||
|
shutdown_value:0
|
||||||
|
value:0
|
||||||
|
|
||||||
|
[output_pin ctlyd]
|
||||||
|
pin:U_1: PA14
|
||||||
|
pwm: false
|
||||||
|
shutdown_value:0
|
||||||
|
value:0
|
||||||
|
|
||||||
|
[smart_effector]
|
||||||
|
pin:U_1:PC1
|
||||||
|
recovery_time:0
|
||||||
|
x_offset: 17.6
|
||||||
|
y_offset: 4.4
|
||||||
|
z_offset: 0.000001
|
||||||
|
speed:10
|
||||||
|
probe_accel:50
|
||||||
|
samples: 2
|
||||||
|
samples_result: average
|
||||||
|
sample_retract_dist: 3.0
|
||||||
|
samples_tolerance: 0.05
|
||||||
|
samples_tolerance_retries:5
|
||||||
|
|
||||||
|
[qdprobe]
|
||||||
|
pin:!gpio21
|
||||||
|
z_offset:0.000001
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
speed:150
|
||||||
|
horizontal_move_z:7
|
||||||
|
mesh_min:20,15
|
||||||
|
mesh_max:230,230
|
||||||
|
probe_count:8,8
|
||||||
|
algorithm:bicubic
|
||||||
|
bicubic_tension:0.2
|
||||||
|
mesh_pps: 2, 2
|
||||||
|
vibrate_gcode:
|
||||||
|
G90
|
||||||
|
m204 S5000
|
||||||
|
SET_Z_VELOCITY_LIMIT VALUE=15
|
||||||
|
SET_PIN PIN=ctlyd VALUE=1
|
||||||
|
G4 P500
|
||||||
|
G91
|
||||||
|
G1 Z1 F900
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G1 Z1
|
||||||
|
G1 Z-1
|
||||||
|
G90
|
||||||
|
SET_PIN PIN=ctlyd VALUE=0
|
||||||
|
SET_Z_VELOCITY_LIMIT VALUE=10
|
||||||
|
G4 P500
|
||||||
|
|
||||||
|
[filament_switch_sensor fila]
|
||||||
|
pause_on_runout: True
|
||||||
|
runout_gcode:
|
||||||
|
PAUSE
|
||||||
|
event_delay: 3.0
|
||||||
|
pause_delay: 0.5
|
||||||
|
switch_pin:U_1:PC3
|
||||||
|
|
||||||
|
[resonance_tester]
|
||||||
|
accel_chip:adxl345
|
||||||
|
probe_points:
|
||||||
|
120, 120, 10
|
||||||
|
|
||||||
|
[gcode_macro_break]
|
||||||
|
# Used for cancel print in a macro
|
||||||
|
|
||||||
|
[idle_timeout]
|
||||||
|
timeout: 43200
|
||||||
|
|
||||||
|
[pause_resume]
|
||||||
|
|
||||||
|
[display_status]
|
||||||
|
|
||||||
|
[virtual_sdcard]
|
||||||
|
path: ~/gcode_files
|
||||||
|
|
||||||
|
#*# <---------------------- SAVE_CONFIG ---------------------->
|
||||||
|
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
|
||||||
|
#*#
|
||||||
|
#*# [input_shaper]
|
||||||
|
#*# shaper_type_x = ei
|
||||||
|
#*# shaper_freq_x = 81.6
|
||||||
|
#*# shaper_type_y = ei
|
||||||
|
#*# shaper_freq_y = 39.8
|
||||||
|
#*#
|
||||||
|
#*# [adxl345]
|
||||||
|
#*# probe_pin = gpio9
|
||||||
|
#*# int_pin = int1
|
||||||
|
#*# tap_thresh = 3500
|
||||||
|
#*# tap_dur = 0.01
|
||||||
|
#*# speed = 20
|
||||||
|
#*# z_offset = -0.1
|
||||||
|
#*# samples = 3
|
||||||
|
#*# sample_retract_dist = 10.0
|
||||||
|
#*# samples_result = median
|
||||||
|
#*# samples_tolerance = 0.05
|
||||||
|
#*# samples_tolerance_retries = 3
|
||||||
|
#*#
|
||||||
|
#*# [bed_mesh default]
|
||||||
|
#*# version = 1
|
||||||
|
#*# points =
|
||||||
|
#*# 0,0,0,0,0,0
|
||||||
|
#*# 0,0,0,0,0,0
|
||||||
|
#*# 0,0,0,0,0,0
|
||||||
|
#*# 0,0,0,0,0,0
|
||||||
|
#*# 0,0,0,0,0,0
|
||||||
|
#*# 0,0,0,0,0,0
|
||||||
|
#*# tension = 0.2
|
||||||
|
#*# min_x = 20.0
|
||||||
|
#*# algo = lagrange
|
||||||
|
#*# y_count = 6
|
||||||
|
#*# mesh_y_pps = 2
|
||||||
|
#*# min_y = 10.0
|
||||||
|
#*# x_count = 6
|
||||||
|
#*# max_y = 230.0
|
||||||
|
#*# mesh_x_pps = 2
|
||||||
|
#*# max_x = 230.0
|
||||||
|
#*#
|
||||||
|
#*# [bed_mesh kamp]
|
||||||
|
#*# version = 1
|
||||||
|
#*# points =
|
||||||
|
#*# 0, 0, 0
|
||||||
|
#*# 0, 0, 0
|
||||||
|
#*# 0, 0, 0
|
||||||
|
#*# tension = 0.2
|
||||||
|
#*# min_x = 86.05
|
||||||
|
#*# algo = lagrange
|
||||||
|
#*# y_count = 3
|
||||||
|
#*# mesh_y_pps = 2
|
||||||
|
#*# min_y = 86.05
|
||||||
|
#*# x_count = 3
|
||||||
|
#*# max_y = 158.95
|
||||||
|
#*# mesh_x_pps = 2
|
||||||
|
#*# max_x = 158.93
|
||||||
441
config/time_update.cfg
Normal file
441
config/time_update.cfg
Normal file
@@ -0,0 +1,441 @@
|
|||||||
|
[gcode_shell_command UPDATE_SYSTEM_TIME]
|
||||||
|
command: bash /home/mks/scripts/time_update/time_update.sh
|
||||||
|
timeout: 60
|
||||||
|
|
||||||
|
# Usage:
|
||||||
|
# Run the following Gcode macro in fluidd console to update the printer system time
|
||||||
|
#
|
||||||
|
# RUN_SHELL_COMMAND CMD=UPDATE_SYSTEM_TIME PARAMS={TimeZone}
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# RUN_SHELL_COMMAND CMD=UPDATE_SYSTEM_TIME PARAMS=Asia/Shanghai
|
||||||
|
#
|
||||||
|
# Internet connection needed
|
||||||
|
#
|
||||||
|
# Available TimeZones
|
||||||
|
#
|
||||||
|
# Africa/Abidjan
|
||||||
|
# Africa/Accra
|
||||||
|
# Africa/Addis_Ababa
|
||||||
|
# Africa/Algiers
|
||||||
|
# Africa/Asmara
|
||||||
|
# Africa/Bamako
|
||||||
|
# Africa/Bangui
|
||||||
|
# Africa/Banjul
|
||||||
|
# Africa/Bissau
|
||||||
|
# Africa/Blantyre
|
||||||
|
# Africa/Brazzaville
|
||||||
|
# Africa/Bujumbura
|
||||||
|
# Africa/Cairo
|
||||||
|
# Africa/Casablanca
|
||||||
|
# Africa/Ceuta
|
||||||
|
# Africa/Conakry
|
||||||
|
# Africa/Dakar
|
||||||
|
# Africa/Dar_es_Salaam
|
||||||
|
# Africa/Djibouti
|
||||||
|
# Africa/Douala
|
||||||
|
# Africa/El_Aaiun
|
||||||
|
# Africa/Freetown
|
||||||
|
# Africa/Gaborone
|
||||||
|
# Africa/Harare
|
||||||
|
# Africa/Johannesburg
|
||||||
|
# Africa/Juba
|
||||||
|
# Africa/Kampala
|
||||||
|
# Africa/Khartoum
|
||||||
|
# Africa/Kigali
|
||||||
|
# Africa/Kinshasa
|
||||||
|
# Africa/Lagos
|
||||||
|
# Africa/Libreville
|
||||||
|
# Africa/Lome
|
||||||
|
# Africa/Luanda
|
||||||
|
# Africa/Lubumbashi
|
||||||
|
# Africa/Lusaka
|
||||||
|
# Africa/Malabo
|
||||||
|
# Africa/Maputo
|
||||||
|
# Africa/Maseru
|
||||||
|
# Africa/Mbabane
|
||||||
|
# Africa/Mogadishu
|
||||||
|
# Africa/Monrovia
|
||||||
|
# Africa/Nairobi
|
||||||
|
# Africa/Ndjamena
|
||||||
|
# Africa/Niamey
|
||||||
|
# Africa/Nouakchott
|
||||||
|
# Africa/Ouagadougou
|
||||||
|
# Africa/Porto-Novo
|
||||||
|
# Africa/Sao_Tome
|
||||||
|
# Africa/Tripoli
|
||||||
|
# Africa/Tunis
|
||||||
|
# Africa/Windhoek
|
||||||
|
# America/Adak
|
||||||
|
# America/Anchorage
|
||||||
|
# America/Anguilla
|
||||||
|
# America/Antigua
|
||||||
|
# America/Araguaina
|
||||||
|
# America/Argentina/Buenos_Aires
|
||||||
|
# America/Argentina/Catamarca
|
||||||
|
# America/Argentina/Cordoba
|
||||||
|
# America/Argentina/Jujuy
|
||||||
|
# America/Argentina/La_Rioja
|
||||||
|
# America/Argentina/Mendoza
|
||||||
|
# America/Argentina/Rio_Gallegos
|
||||||
|
# America/Argentina/Salta
|
||||||
|
# America/Argentina/San_Juan
|
||||||
|
# America/Argentina/San_Luis
|
||||||
|
# America/Argentina/Tucuman
|
||||||
|
# America/Argentina/Ushuaia
|
||||||
|
# America/Aruba
|
||||||
|
# America/Asuncion
|
||||||
|
# America/Atikokan
|
||||||
|
# America/Bahia
|
||||||
|
# America/Bahia_Banderas
|
||||||
|
# America/Barbados
|
||||||
|
# America/Belem
|
||||||
|
# America/Belize
|
||||||
|
# America/Blanc-Sablon
|
||||||
|
# America/Boa_Vista
|
||||||
|
# America/Bogota
|
||||||
|
# America/Boise
|
||||||
|
# America/Cambridge_Bay
|
||||||
|
# America/Campo_Grande
|
||||||
|
# America/Cancun
|
||||||
|
# America/Caracas
|
||||||
|
# America/Cayenne
|
||||||
|
# America/Cayman
|
||||||
|
# America/Chicago
|
||||||
|
# America/Chihuahua
|
||||||
|
# America/Costa_Rica
|
||||||
|
# America/Creston
|
||||||
|
# America/Cuiaba
|
||||||
|
# America/Curacao
|
||||||
|
# America/Danmarkshavn
|
||||||
|
# America/Dawson
|
||||||
|
# America/Dawson_Creek
|
||||||
|
# America/Denver
|
||||||
|
# America/Detroit
|
||||||
|
# America/Dominica
|
||||||
|
# America/Edmonton
|
||||||
|
# America/Eirunepe
|
||||||
|
# America/El_Salvador
|
||||||
|
# America/Fort_Nelson
|
||||||
|
# America/Fortaleza
|
||||||
|
# America/Glace_Bay
|
||||||
|
# America/Goose_Bay
|
||||||
|
# America/Grand_Turk
|
||||||
|
# America/Grenada
|
||||||
|
# America/Guadeloupe
|
||||||
|
# America/Guatemala
|
||||||
|
# America/Guayaquil
|
||||||
|
# America/Guyana
|
||||||
|
# America/Halifax
|
||||||
|
# America/Havana
|
||||||
|
# America/Hermosillo
|
||||||
|
# America/Indiana/Indianapolis
|
||||||
|
# America/Indiana/Knox
|
||||||
|
# America/Indiana/Marengo
|
||||||
|
# America/Indiana/Petersburg
|
||||||
|
# America/Indiana/Tell_City
|
||||||
|
# America/Indiana/Vevay
|
||||||
|
# America/Indiana/Vincennes
|
||||||
|
# America/Indiana/Winamac
|
||||||
|
# America/Inuvik
|
||||||
|
# America/Iqaluit
|
||||||
|
# America/Jamaica
|
||||||
|
# America/Juneau
|
||||||
|
# America/Kentucky/Louisville
|
||||||
|
# America/Kentucky/Monticello
|
||||||
|
# America/Kralendijk
|
||||||
|
# America/La_Paz
|
||||||
|
# America/Lima
|
||||||
|
# America/Los_Angeles
|
||||||
|
# America/Lower_Princes
|
||||||
|
# America/Maceio
|
||||||
|
# America/Managua
|
||||||
|
# America/Manaus
|
||||||
|
# America/Marigot
|
||||||
|
# America/Martinique
|
||||||
|
# America/Matamoros
|
||||||
|
# America/Mazatlan
|
||||||
|
# America/Menominee
|
||||||
|
# America/Merida
|
||||||
|
# America/Metlakatla
|
||||||
|
# America/Mexico_City
|
||||||
|
# America/Miquelon
|
||||||
|
# America/Moncton
|
||||||
|
# America/Monterrey
|
||||||
|
# America/Montevideo
|
||||||
|
# America/Montserrat
|
||||||
|
# America/Nassau
|
||||||
|
# America/New_York
|
||||||
|
# America/Nipigon
|
||||||
|
# America/Nome
|
||||||
|
# America/Noronha
|
||||||
|
# America/North_Dakota/Beulah
|
||||||
|
# America/North_Dakota/Center
|
||||||
|
# America/North_Dakota/New_Salem
|
||||||
|
# America/Nuuk
|
||||||
|
# America/Ojinaga
|
||||||
|
# America/Panama
|
||||||
|
# America/Pangnirtung
|
||||||
|
# America/Paramaribo
|
||||||
|
# America/Phoenix
|
||||||
|
# America/Port-au-Prince
|
||||||
|
# America/Port_of_Spain
|
||||||
|
# America/Porto_Velho
|
||||||
|
# America/Puerto_Rico
|
||||||
|
# America/Punta_Arenas
|
||||||
|
# America/Rainy_River
|
||||||
|
# America/Rankin_Inlet
|
||||||
|
# America/Recife
|
||||||
|
# America/Regina
|
||||||
|
# America/Resolute
|
||||||
|
# America/Rio_Branco
|
||||||
|
# America/Santarem
|
||||||
|
# America/Santiago
|
||||||
|
# America/Santo_Domingo
|
||||||
|
# America/Sao_Paulo
|
||||||
|
# America/Scoresbysund
|
||||||
|
# America/Sitka
|
||||||
|
# America/St_Barthelemy
|
||||||
|
# America/St_Johns
|
||||||
|
# America/St_Kitts
|
||||||
|
# America/St_Lucia
|
||||||
|
# America/St_Thomas
|
||||||
|
# America/St_Vincent
|
||||||
|
# America/Swift_Current
|
||||||
|
# America/Tegucigalpa
|
||||||
|
# America/Thule
|
||||||
|
# America/Thunder_Bay
|
||||||
|
# America/Tijuana
|
||||||
|
# America/Toronto
|
||||||
|
# America/Tortola
|
||||||
|
# America/Vancouver
|
||||||
|
# America/Whitehorse
|
||||||
|
# America/Winnipeg
|
||||||
|
# America/Yakutat
|
||||||
|
# America/Yellowknife
|
||||||
|
# Antarctica/Casey
|
||||||
|
# Antarctica/Davis
|
||||||
|
# Antarctica/DumontDUrville
|
||||||
|
# Antarctica/Macquarie
|
||||||
|
# Antarctica/Mawson
|
||||||
|
# Antarctica/McMurdo
|
||||||
|
# Antarctica/Palmer
|
||||||
|
# Antarctica/Rothera
|
||||||
|
# Antarctica/Syowa
|
||||||
|
# Antarctica/Troll
|
||||||
|
# Antarctica/Vostok
|
||||||
|
# Arctic/Longyearbyen
|
||||||
|
# Asia/Aden
|
||||||
|
# Asia/Almaty
|
||||||
|
# Asia/Amman
|
||||||
|
# Asia/Anadyr
|
||||||
|
# Asia/Aqtau
|
||||||
|
# Asia/Aqtobe
|
||||||
|
# Asia/Ashgabat
|
||||||
|
# Asia/Atyrau
|
||||||
|
# Asia/Baghdad
|
||||||
|
# Asia/Bahrain
|
||||||
|
# Asia/Baku
|
||||||
|
# Asia/Bangkok
|
||||||
|
# Asia/Barnaul
|
||||||
|
# Asia/Beirut
|
||||||
|
# Asia/Bishkek
|
||||||
|
# Asia/Brunei
|
||||||
|
# Asia/Chita
|
||||||
|
# Asia/Choibalsan
|
||||||
|
# Asia/Colombo
|
||||||
|
# Asia/Damascus
|
||||||
|
# Asia/Dhaka
|
||||||
|
# Asia/Dili
|
||||||
|
# Asia/Dubai
|
||||||
|
# Asia/Dushanbe
|
||||||
|
# Asia/Famagusta
|
||||||
|
# Asia/Gaza
|
||||||
|
# Asia/Hebron
|
||||||
|
# Asia/Ho_Chi_Minh
|
||||||
|
# Asia/Hong_Kong
|
||||||
|
# Asia/Hovd
|
||||||
|
# Asia/Irkutsk
|
||||||
|
# Asia/Jakarta
|
||||||
|
# Asia/Jayapura
|
||||||
|
# Asia/Jerusalem
|
||||||
|
# Asia/Kabul
|
||||||
|
# Asia/Kamchatka
|
||||||
|
# Asia/Karachi
|
||||||
|
# Asia/Kathmandu
|
||||||
|
# Asia/Khandyga
|
||||||
|
# Asia/Kolkata
|
||||||
|
# Asia/Krasnoyarsk
|
||||||
|
# Asia/Kuala_Lumpur
|
||||||
|
# Asia/Kuching
|
||||||
|
# Asia/Kuwait
|
||||||
|
# Asia/Macau
|
||||||
|
# Asia/Magadan
|
||||||
|
# Asia/Makassar
|
||||||
|
# Asia/Manila
|
||||||
|
# Asia/Muscat
|
||||||
|
# Asia/Nicosia
|
||||||
|
# Asia/Novokuznetsk
|
||||||
|
# Asia/Novosibirsk
|
||||||
|
# Asia/Omsk
|
||||||
|
# Asia/Oral
|
||||||
|
# Asia/Phnom_Penh
|
||||||
|
# Asia/Pontianak
|
||||||
|
# Asia/Pyongyang
|
||||||
|
# Asia/Qatar
|
||||||
|
# Asia/Qostanay
|
||||||
|
# Asia/Qyzylorda
|
||||||
|
# Asia/Riyadh
|
||||||
|
# Asia/Sakhalin
|
||||||
|
# Asia/Samarkand
|
||||||
|
# Asia/Seoul
|
||||||
|
# Asia/Shanghai
|
||||||
|
# Asia/Singapore
|
||||||
|
# Asia/Srednekolymsk
|
||||||
|
# Asia/Taipei
|
||||||
|
# Asia/Tashkent
|
||||||
|
# Asia/Tbilisi
|
||||||
|
# Asia/Tehran
|
||||||
|
# Asia/Thimphu
|
||||||
|
# Asia/Tokyo
|
||||||
|
# Asia/Tomsk
|
||||||
|
# Asia/Ulaanbaatar
|
||||||
|
# Asia/Urumqi
|
||||||
|
# Asia/Ust-Nera
|
||||||
|
# Asia/Vientiane
|
||||||
|
# Asia/Vladivostok
|
||||||
|
# Asia/Yakutsk
|
||||||
|
# Asia/Yangon
|
||||||
|
# Asia/Yekaterinburg
|
||||||
|
# Asia/Yerevan
|
||||||
|
# Atlantic/Azores
|
||||||
|
# Atlantic/Bermuda
|
||||||
|
# Atlantic/Canary
|
||||||
|
# Atlantic/Cape_Verde
|
||||||
|
# Atlantic/Faroe
|
||||||
|
# Atlantic/Madeira
|
||||||
|
# Atlantic/Reykjavik
|
||||||
|
# Atlantic/South_Georgia
|
||||||
|
# Atlantic/St_Helena
|
||||||
|
# Atlantic/Stanley
|
||||||
|
# Australia/Adelaide
|
||||||
|
# Australia/Brisbane
|
||||||
|
# Australia/Broken_Hill
|
||||||
|
# Australia/Darwin
|
||||||
|
# Australia/Eucla
|
||||||
|
# Australia/Hobart
|
||||||
|
# Australia/Lindeman
|
||||||
|
# Australia/Lord_Howe
|
||||||
|
# Australia/Melbourne
|
||||||
|
# Australia/Perth
|
||||||
|
# Australia/Sydney
|
||||||
|
# Europe/Amsterdam
|
||||||
|
# Europe/Andorra
|
||||||
|
# Europe/Astrakhan
|
||||||
|
# Europe/Athens
|
||||||
|
# Europe/Belgrade
|
||||||
|
# Europe/Berlin
|
||||||
|
# Europe/Bratislava
|
||||||
|
# Europe/Brussels
|
||||||
|
# Europe/Bucharest
|
||||||
|
# Europe/Budapest
|
||||||
|
# Europe/Busingen
|
||||||
|
# Europe/Chisinau
|
||||||
|
# Europe/Copenhagen
|
||||||
|
# Europe/Dublin
|
||||||
|
# Europe/Gibraltar
|
||||||
|
# Europe/Guernsey
|
||||||
|
# Europe/Helsinki
|
||||||
|
# Europe/Isle_of_Man
|
||||||
|
# Europe/Istanbul
|
||||||
|
# Europe/Jersey
|
||||||
|
# Europe/Kaliningrad
|
||||||
|
# Europe/Kiev
|
||||||
|
# Europe/Kirov
|
||||||
|
# Europe/Lisbon
|
||||||
|
# Europe/Ljubljana
|
||||||
|
# Europe/London
|
||||||
|
# Europe/Luxembourg
|
||||||
|
# Europe/Madrid
|
||||||
|
# Europe/Malta
|
||||||
|
# Europe/Mariehamn
|
||||||
|
# Europe/Minsk
|
||||||
|
# Europe/Monaco
|
||||||
|
# Europe/Moscow
|
||||||
|
# Europe/Oslo
|
||||||
|
# Europe/Paris
|
||||||
|
# Europe/Podgorica
|
||||||
|
# Europe/Prague
|
||||||
|
# Europe/Riga
|
||||||
|
# Europe/Rome
|
||||||
|
# Europe/Samara
|
||||||
|
# Europe/San_Marino
|
||||||
|
# Europe/Sarajevo
|
||||||
|
# Europe/Saratov
|
||||||
|
# Europe/Simferopol
|
||||||
|
# Europe/Skopje
|
||||||
|
# Europe/Sofia
|
||||||
|
# Europe/Stockholm
|
||||||
|
# Europe/Tallinn
|
||||||
|
# Europe/Tirane
|
||||||
|
# Europe/Ulyanovsk
|
||||||
|
# Europe/Uzhgorod
|
||||||
|
# Europe/Vaduz
|
||||||
|
# Europe/Vatican
|
||||||
|
# Europe/Vienna
|
||||||
|
# Europe/Vilnius
|
||||||
|
# Europe/Volgograd
|
||||||
|
# Europe/Warsaw
|
||||||
|
# Europe/Zagreb
|
||||||
|
# Europe/Zaporozhye
|
||||||
|
# Europe/Zurich
|
||||||
|
# Indian/Antananarivo
|
||||||
|
# Indian/Chagos
|
||||||
|
# Indian/Christmas
|
||||||
|
# Indian/Cocos
|
||||||
|
# Indian/Comoro
|
||||||
|
# Indian/Kerguelen
|
||||||
|
# Indian/Mahe
|
||||||
|
# Indian/Maldives
|
||||||
|
# Indian/Mauritius
|
||||||
|
# Indian/Mayotte
|
||||||
|
# Indian/Reunion
|
||||||
|
# Pacific/Apia
|
||||||
|
# Pacific/Auckland
|
||||||
|
# Pacific/Bougainville
|
||||||
|
# Pacific/Chatham
|
||||||
|
# Pacific/Chuuk
|
||||||
|
# Pacific/Easter
|
||||||
|
# Pacific/Efate
|
||||||
|
# Pacific/Enderbury
|
||||||
|
# Pacific/Fakaofo
|
||||||
|
# Pacific/Fiji
|
||||||
|
# Pacific/Funafuti
|
||||||
|
# Pacific/Galapagos
|
||||||
|
# Pacific/Gambier
|
||||||
|
# Pacific/Guadalcanal
|
||||||
|
# Pacific/Guam
|
||||||
|
# Pacific/Honolulu
|
||||||
|
# Pacific/Kiritimati
|
||||||
|
# Pacific/Kosrae
|
||||||
|
# Pacific/Kwajalein
|
||||||
|
# Pacific/Majuro
|
||||||
|
# Pacific/Marquesas
|
||||||
|
# Pacific/Midway
|
||||||
|
# Pacific/Nauru
|
||||||
|
# Pacific/Niue
|
||||||
|
# Pacific/Norfolk
|
||||||
|
# Pacific/Noumea
|
||||||
|
# Pacific/Pago_Pago
|
||||||
|
# Pacific/Palau
|
||||||
|
# Pacific/Pitcairn
|
||||||
|
# Pacific/Pohnpei
|
||||||
|
# Pacific/Port_Moresby
|
||||||
|
# Pacific/Rarotonga
|
||||||
|
# Pacific/Saipan
|
||||||
|
# Pacific/Tahiti
|
||||||
|
# Pacific/Tarawa
|
||||||
|
# Pacific/Tongatapu
|
||||||
|
# Pacific/Wake
|
||||||
|
# Pacific/Wallis
|
||||||
|
# UTC
|
||||||
@@ -5,5 +5,6 @@
|
|||||||
#include "./MakerbaseShell.h"
|
#include "./MakerbaseShell.h"
|
||||||
|
|
||||||
std::string get_wlan0_ip();
|
std::string get_wlan0_ip();
|
||||||
|
std::string get_eth0_ip();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -252,4 +252,9 @@ void *recevice_progress_handle(void *arg);
|
|||||||
|
|
||||||
void refresh_page_auto_unload();
|
void refresh_page_auto_unload();
|
||||||
|
|
||||||
|
int get_mks_ethernet();
|
||||||
|
void set_mks_ethernet(int target);
|
||||||
|
|
||||||
|
std::string hex_to_utf8(const std::string& hex);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
12
include/ui.h
12
include/ui.h
@@ -114,7 +114,7 @@
|
|||||||
#define TJC_PAGE_PRINT_ZOFFSET_SET_001 0x01
|
#define TJC_PAGE_PRINT_ZOFFSET_SET_001 0x01
|
||||||
#define TJC_PAGE_PRINT_ZOFFSET_SET_005 0x02
|
#define TJC_PAGE_PRINT_ZOFFSET_SET_005 0x02
|
||||||
#define TJC_PAGE_PRINT_ZOFFSET_SET_01 0x03
|
#define TJC_PAGE_PRINT_ZOFFSET_SET_01 0x03
|
||||||
#define TJC_PAGE_PRINT_ZOFFSET_SET_1 0x04
|
#define TJC_PAGE_PRINT_ZOFFSET_SET_05 0x04
|
||||||
#define TJC_PAGE_PRINT_ZOFFSET_UP 0x05
|
#define TJC_PAGE_PRINT_ZOFFSET_UP 0x05
|
||||||
#define TJC_PAGE_PRINT_ZOFFSET_DOWN 0x06
|
#define TJC_PAGE_PRINT_ZOFFSET_DOWN 0x06
|
||||||
#define TJC_PAGE_PRINT_ZOFFSET_PAUSE_RESUME 0x0a
|
#define TJC_PAGE_PRINT_ZOFFSET_PAUSE_RESUME 0x0a
|
||||||
@@ -226,7 +226,7 @@
|
|||||||
#define TJC_PAGE_PRE_BED_CALIBRATION_SET_001 0x00
|
#define TJC_PAGE_PRE_BED_CALIBRATION_SET_001 0x00
|
||||||
#define TJC_PAGE_PRE_BED_CALIBRATION_SET_005 0x01
|
#define TJC_PAGE_PRE_BED_CALIBRATION_SET_005 0x01
|
||||||
#define TJC_PAGE_PRE_BED_CALIBRATION_SET_01 0x02
|
#define TJC_PAGE_PRE_BED_CALIBRATION_SET_01 0x02
|
||||||
#define TJC_PAGE_PRE_BED_CALIBRATION_SET_1 0x03
|
#define TJC_PAGE_PRE_BED_CALIBRATION_SET_05 0x03
|
||||||
#define TJC_PAGE_PRE_BED_CALIBRATION_UP 0x04
|
#define TJC_PAGE_PRE_BED_CALIBRATION_UP 0x04
|
||||||
#define TJC_PAGE_PRE_BED_CALIBRATION_DOWN 0x05
|
#define TJC_PAGE_PRE_BED_CALIBRATION_DOWN 0x05
|
||||||
#define TJC_PAGE_PRE_BED_CALIBRATION_ENTER 0x06
|
#define TJC_PAGE_PRE_BED_CALIBRATION_ENTER 0x06
|
||||||
@@ -380,6 +380,7 @@
|
|||||||
#define TJC_PAGE_SHOW_QR_BACK 0x01
|
#define TJC_PAGE_SHOW_QR_BACK 0x01
|
||||||
#define TJC_PAGE_SHOW_QR_WIFI 0x02
|
#define TJC_PAGE_SHOW_QR_WIFI 0x02
|
||||||
#define TJC_PAGE_SHOW_QR_SET 0x03
|
#define TJC_PAGE_SHOW_QR_SET 0x03
|
||||||
|
#define TJC_PAGE_SHOW_QR_ETHERNET 0x04
|
||||||
|
|
||||||
#define TJC_PAGE_SERVER_SET 82
|
#define TJC_PAGE_SERVER_SET 82
|
||||||
#define TJC_PAGE_SERVER_SET_REFRESH 0x00
|
#define TJC_PAGE_SERVER_SET_REFRESH 0x00
|
||||||
@@ -419,6 +420,13 @@
|
|||||||
|
|
||||||
#define TJC_PAGE_INSTALLING 90
|
#define TJC_PAGE_INSTALLING 90
|
||||||
|
|
||||||
|
#define TJC_PAGE_AUTO_WARNING 91
|
||||||
|
#define TJC_PAGE_AUTO_WARNING_YES 0x00
|
||||||
|
|
||||||
|
#define TJC_PAGE_CALIBRATE_WARNING 92
|
||||||
|
#define TJC_PAGE_CALIBRATE_WARNING_NEXT 0x00
|
||||||
|
#define TJC_PAGE_CALIBRATE_WARNING_BACK 0x01
|
||||||
|
|
||||||
void parse_cmd_msg_from_tjc_screen(char *cmd);
|
void parse_cmd_msg_from_tjc_screen(char *cmd);
|
||||||
void page_to(int page_id);
|
void page_to(int page_id);
|
||||||
void tjc_event_clicked_handler(int page_id, int widget_id, int type_id);
|
void tjc_event_clicked_handler(int page_id, int widget_id, int type_id);
|
||||||
|
|||||||
37
main.cpp
37
main.cpp
@@ -1,5 +1,6 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
||||||
|
|
||||||
#include <wpa_ctrl.h>
|
#include <wpa_ctrl.h>
|
||||||
|
|
||||||
#include "include/MakerbaseClient.h"
|
#include "include/MakerbaseClient.h"
|
||||||
@@ -129,6 +130,39 @@ int main(int argc, char** argv) {
|
|||||||
system("bash /home/mks/gcode_files/sda1/mks-super.sh");
|
system("bash /home/mks/gcode_files/sda1/mks-super.sh");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//4.4.15 CCW 添加开机检测c_helper.so文件
|
||||||
|
const char *sourceFile = "/home/mks/klipper/klippy/chelper/c_helper.so";
|
||||||
|
const char *destFile = "/root/etc/c_helper.so";
|
||||||
|
|
||||||
|
std::ifstream file(sourceFile, std::ifstream::binary | std::ifstream::ate);
|
||||||
|
long size = 0;
|
||||||
|
|
||||||
|
if (!file) {
|
||||||
|
std::printf("File does not exist or could not open file: %s\n", sourceFile);
|
||||||
|
size = -1;
|
||||||
|
} else {
|
||||||
|
size = file.tellg();
|
||||||
|
}
|
||||||
|
file.close();
|
||||||
|
|
||||||
|
// 检查c_helper.so文件是否正常
|
||||||
|
if (size < 10240) {
|
||||||
|
std::printf("File %s does not exist or is less than 10KB\n", sourceFile);
|
||||||
|
|
||||||
|
std::ifstream src(destFile, std::ios::binary);
|
||||||
|
std::ofstream dst(sourceFile, std::ios::binary);
|
||||||
|
|
||||||
|
if (!src || !dst) {
|
||||||
|
std::printf("Failed to open source or destination file\n");
|
||||||
|
} else {
|
||||||
|
dst << src.rdbuf(); // Copy file content
|
||||||
|
std::printf("File %s has been replaced with %s\n", sourceFile, destFile);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
std::printf("File %s exists and is not less than 10KB, no action taken\n", sourceFile);
|
||||||
|
}
|
||||||
|
|
||||||
// pthread_t monitor_thread;
|
// pthread_t monitor_thread;
|
||||||
// pthread_t monitor_C3_thread;
|
// pthread_t monitor_C3_thread;
|
||||||
pthread_t wpa_recv_thread;
|
pthread_t wpa_recv_thread;
|
||||||
@@ -148,7 +182,6 @@ int main(int argc, char** argv) {
|
|||||||
std::string host = "localhost";
|
std::string host = "localhost";
|
||||||
std::string url = "ws://localhost:7125/websocket?";
|
std::string url = "ws://localhost:7125/websocket?";
|
||||||
MKSLOG("%s", url.data());
|
MKSLOG("%s", url.data());
|
||||||
MKSLOG_RED("TEST");
|
|
||||||
|
|
||||||
if (argc == 2) {
|
if (argc == 2) {
|
||||||
host = argv[1];
|
host = argv[1];
|
||||||
@@ -207,7 +240,7 @@ int main(int argc, char** argv) {
|
|||||||
mks_get_version();
|
mks_get_version();
|
||||||
sleep(3);
|
sleep(3);
|
||||||
|
|
||||||
send_cmd_val(tty_fd, "logo.version", "14"); // CLL 检测UI与SOC版本是否匹配4.4.14版本输出标记数字为14
|
send_cmd_val(tty_fd, "logo.version", "19"); // CLL 检测UI与SOC版本是否匹配4.4.19版本输出标记数字为19
|
||||||
if (find_screen_tft_file == false) {
|
if (find_screen_tft_file == false) {
|
||||||
previous_page_id = TJC_PAGE_LOGO;
|
previous_page_id = TJC_PAGE_LOGO;
|
||||||
if (get_mks_oobe_enabled() == true) {
|
if (get_mks_oobe_enabled() == true) {
|
||||||
|
|||||||
@@ -7,3 +7,11 @@ std::string get_wlan0_ip() {
|
|||||||
printf("%s", result);
|
printf("%s", result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string get_eth0_ip() {
|
||||||
|
char result[MAX_FILE_LEN] = {0};
|
||||||
|
std::string cmd = "ifconfig eth0 | awk 'NR==2{print $2}' | tr -d '\n\r'";
|
||||||
|
execute_cmd(cmd.data(), result);
|
||||||
|
printf("%s", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
@@ -501,9 +501,11 @@ int parse_scan_results(char* scan_results) {
|
|||||||
level_list.clear();
|
level_list.clear();
|
||||||
ssid_list.clear();
|
ssid_list.clear();
|
||||||
|
|
||||||
char* lines[1024] = {0};
|
char buffer[4096];
|
||||||
|
strcpy(buffer, scan_results);
|
||||||
|
char* lines[128] = {0};
|
||||||
int num_lines = 0;
|
int num_lines = 0;
|
||||||
char* line = strtok(scan_results, "\n");
|
char* line = strtok(buffer, "\n");
|
||||||
while (line != NULL) {
|
while (line != NULL) {
|
||||||
lines[num_lines++] = line;
|
lines[num_lines++] = line;
|
||||||
line = strtok(NULL, "\n");
|
line = strtok(NULL, "\n");
|
||||||
@@ -513,7 +515,7 @@ int parse_scan_results(char* scan_results) {
|
|||||||
char* fields[5] = {0};
|
char* fields[5] = {0};
|
||||||
int num_fields = 0;
|
int num_fields = 0;
|
||||||
|
|
||||||
char ssid_line[128] = {0};
|
char ssid_line[256] = {0};
|
||||||
memset(ssid_line, 0x00, sizeof(ssid_line));
|
memset(ssid_line, 0x00, sizeof(ssid_line));
|
||||||
strcpy(ssid_line, lines[i]);
|
strcpy(ssid_line, lines[i]);
|
||||||
int ssid_line_index = 0;
|
int ssid_line_index = 0;
|
||||||
@@ -533,8 +535,8 @@ int parse_scan_results(char* scan_results) {
|
|||||||
printf("Invalid scan result: %s\n", lines[i]);
|
printf("Invalid scan result: %s\n", lines[i]);
|
||||||
continue;
|
continue;
|
||||||
} else {
|
} else {
|
||||||
unsigned char ssid_name[64];
|
unsigned char ssid_name[192];
|
||||||
printf_decode(ssid_name, 64, ssid_line + ssid_line_index);
|
printf_decode(ssid_name, 192, ssid_line + ssid_line_index);
|
||||||
if (ssid_name[0] == '\x00') {
|
if (ssid_name[0] == '\x00') {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
276
src/event.cpp
276
src/event.cpp
@@ -38,6 +38,7 @@
|
|||||||
#include "../include/MakerbasePanel.h"
|
#include "../include/MakerbasePanel.h"
|
||||||
#include "../include/MakerbaseParseIni.h"
|
#include "../include/MakerbaseParseIni.h"
|
||||||
#include "../include/MakerbaseWiFi.h"
|
#include "../include/MakerbaseWiFi.h"
|
||||||
|
#include "../include/MakerbaseNetwork.h"
|
||||||
#include "../include/ui.h"
|
#include "../include/ui.h"
|
||||||
#include "../include/send_jpg.h"
|
#include "../include/send_jpg.h"
|
||||||
|
|
||||||
@@ -363,6 +364,8 @@ extern std::string thumbnail_path;
|
|||||||
|
|
||||||
extern bool cache_clicked;
|
extern bool cache_clicked;
|
||||||
|
|
||||||
|
int unhomed_move_mode = 0; // CLL 用于保存上次按下的移动按钮,当触发需先归位操作时进行移动, 1(x up),2(x down),3(y up),4(y down),5(z up),6(z down)
|
||||||
|
|
||||||
// CLL 以下变量用于修复gcode响应函数和refresh函数之间的冲突(gcode响应函数需设置变量在refresh_page_show中统一改变页面,否则会产生冲突)
|
// CLL 以下变量用于修复gcode响应函数和refresh函数之间的冲突(gcode响应函数需设置变量在refresh_page_show中统一改变页面,否则会产生冲突)
|
||||||
bool jump_to_move_pop_1 = false;
|
bool jump_to_move_pop_1 = false;
|
||||||
bool jump_to_move_pop_2 = false;
|
bool jump_to_move_pop_2 = false;
|
||||||
@@ -393,6 +396,8 @@ bool open_qr_refreshed = false; // CLL 第一次开机刷新时不使用脚本
|
|||||||
extern bool qr_refreshed;
|
extern bool qr_refreshed;
|
||||||
bool open_reprint_asked = false; // CLL 开机后进入主页面发出检测断电续打指令
|
bool open_reprint_asked = false; // CLL 开机后进入主页面发出检测断电续打指令
|
||||||
|
|
||||||
|
int mks_ethernet;
|
||||||
|
|
||||||
/* 更新页面处理 */
|
/* 更新页面处理 */
|
||||||
void refresh_page_show() {
|
void refresh_page_show() {
|
||||||
// CLL 以下if检测函数为无条件跳转,其在改变为true之前已经经过函数判断(跳转页面前需将对应变量置为false,否则会陷入死循环)
|
// CLL 以下if检测函数为无条件跳转,其在改变为true之前已经经过函数判断(跳转页面前需将对应变量置为false,否则会陷入死循环)
|
||||||
@@ -401,6 +406,42 @@ void refresh_page_show() {
|
|||||||
page_to(TJC_PAGE_MOVE_POP_1);
|
page_to(TJC_PAGE_MOVE_POP_1);
|
||||||
}
|
}
|
||||||
if (jump_to_move_pop_2 == true) {
|
if (jump_to_move_pop_2 == true) {
|
||||||
|
switch (unhomed_move_mode)
|
||||||
|
{
|
||||||
|
case 1: // X_UP
|
||||||
|
ep->Send(json_run_a_gcode("SET_KINEMATIC_POSITION Z=150\nSET_KINEMATIC_POSITION X=150\nSET_KINEMATIC_POSITION Y=150\n"));
|
||||||
|
ep->Send(json_run_a_gcode("G91\nG1 X10 F3000\nG90\nM84\n"));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2: // X_DOWN
|
||||||
|
ep->Send(json_run_a_gcode("SET_KINEMATIC_POSITION Z=150\nSET_KINEMATIC_POSITION X=150\nSET_KINEMATIC_POSITION Y=150\n"));
|
||||||
|
ep->Send(json_run_a_gcode("G91\nG1 X-10 F3000\nG90\nM84\n"));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3: // Y_UP
|
||||||
|
ep->Send(json_run_a_gcode("SET_KINEMATIC_POSITION Z=150\nSET_KINEMATIC_POSITION X=150\nSET_KINEMATIC_POSITION Y=150\n"));
|
||||||
|
ep->Send(json_run_a_gcode("G91\nG1 Y10 F3000\nG90\nM84\n"));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4: // Y_DOWN
|
||||||
|
ep->Send(json_run_a_gcode("SET_KINEMATIC_POSITION Z=150\nSET_KINEMATIC_POSITION X=150\nSET_KINEMATIC_POSITION Y=150\n"));
|
||||||
|
ep->Send(json_run_a_gcode("G91\nG1 Y-10 F3000\nG90\nM84\n"));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 5: // Z_UP
|
||||||
|
ep->Send(json_run_a_gcode("SET_KINEMATIC_POSITION Z=150\nSET_KINEMATIC_POSITION X=150\nSET_KINEMATIC_POSITION Y=150\n"));
|
||||||
|
ep->Send(json_run_a_gcode("G91\nG1 Z-10 F600\nG90\nM84\n"));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 6: // Z_DOWN
|
||||||
|
ep->Send(json_run_a_gcode("SET_KINEMATIC_POSITION Z=150\nSET_KINEMATIC_POSITION X=150\nSET_KINEMATIC_POSITION Y=150\n"));
|
||||||
|
ep->Send(json_run_a_gcode("G91\nG1 Z10 F600\nG90\nM84\n"));
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
unhomed_move_mode = 0;
|
||||||
jump_to_move_pop_2 = false;
|
jump_to_move_pop_2 = false;
|
||||||
page_to(TJC_PAGE_MOVE_POP_2);
|
page_to(TJC_PAGE_MOVE_POP_2);
|
||||||
}
|
}
|
||||||
@@ -751,7 +792,7 @@ void refresh_page_auto_level() {
|
|||||||
send_cmd_picc2(tty_fd, "b1", "115");
|
send_cmd_picc2(tty_fd, "b1", "115");
|
||||||
send_cmd_picc2(tty_fd, "b2", "116");
|
send_cmd_picc2(tty_fd, "b2", "116");
|
||||||
send_cmd_picc2(tty_fd, "b3", "115");
|
send_cmd_picc2(tty_fd, "b3", "115");
|
||||||
} else if (auto_level_dist == (float)1) {
|
} else if (auto_level_dist == (float)0.5) {
|
||||||
send_cmd_picc(tty_fd, "b0", "114");
|
send_cmd_picc(tty_fd, "b0", "114");
|
||||||
send_cmd_picc(tty_fd, "b1", "114");
|
send_cmd_picc(tty_fd, "b1", "114");
|
||||||
send_cmd_picc(tty_fd, "b2", "114");
|
send_cmd_picc(tty_fd, "b2", "114");
|
||||||
@@ -784,6 +825,7 @@ void refresh_page_syntony_move() {
|
|||||||
if (step_1 == true) {
|
if (step_1 == true) {
|
||||||
sleep(15);
|
sleep(15);
|
||||||
page_to(TJC_PAGE_SYNTONY_FINISH);
|
page_to(TJC_PAGE_SYNTONY_FINISH);
|
||||||
|
step_1 = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -851,6 +893,7 @@ void refresh_page_auto_finish() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void refresh_page_auto_moving() {
|
void refresh_page_auto_moving() {
|
||||||
|
send_cmd_txt(tty_fd, "t5", "(" + std::to_string(printer_heater_bed_temperature) + "/" + std::to_string(printer_heater_bed_target) + ")");
|
||||||
if (step_1 == true) {
|
if (step_1 == true) {
|
||||||
send_cmd_picc(tty_fd, "q0", "109");
|
send_cmd_picc(tty_fd, "q0", "109");
|
||||||
send_cmd_pco(tty_fd, "t1", "65535");
|
send_cmd_pco(tty_fd, "t1", "65535");
|
||||||
@@ -948,6 +991,44 @@ void refresh_page_printing_zoffset() {
|
|||||||
send_cmd_txt(tty_fd, "t1", show_time(get_cal_printing_time((int)(printer_print_stats_print_duration), file_metadata_estimated_time, printer_display_status_progress)));
|
send_cmd_txt(tty_fd, "t1", show_time(get_cal_printing_time((int)(printer_print_stats_print_duration), file_metadata_estimated_time, printer_display_status_progress)));
|
||||||
send_cmd_val(tty_fd, "j0", std::to_string(printer_display_status_progress));
|
send_cmd_val(tty_fd, "j0", std::to_string(printer_display_status_progress));
|
||||||
|
|
||||||
|
if (printer_set_offset == (float)0.01) {
|
||||||
|
send_cmd_picc(tty_fd, "b1", std::to_string(57));
|
||||||
|
send_cmd_picc2(tty_fd, "b1", std::to_string(60));
|
||||||
|
send_cmd_picc(tty_fd, "b2", std::to_string(58));
|
||||||
|
send_cmd_picc2(tty_fd, "b2", std::to_string(59));
|
||||||
|
send_cmd_picc(tty_fd, "b3", std::to_string(58));
|
||||||
|
send_cmd_picc2(tty_fd, "b3", std::to_string(59));
|
||||||
|
send_cmd_picc(tty_fd, "b4", std::to_string(58));
|
||||||
|
send_cmd_picc2(tty_fd, "b4", std::to_string(59));
|
||||||
|
} else if (printer_set_offset == (float)0.05) {
|
||||||
|
send_cmd_picc(tty_fd, "b1", std::to_string(58));
|
||||||
|
send_cmd_picc2(tty_fd, "b1", std::to_string(59));
|
||||||
|
send_cmd_picc(tty_fd, "b2", std::to_string(57));
|
||||||
|
send_cmd_picc2(tty_fd, "b2", std::to_string(60));
|
||||||
|
send_cmd_picc(tty_fd, "b3", std::to_string(58));
|
||||||
|
send_cmd_picc2(tty_fd, "b3", std::to_string(59));
|
||||||
|
send_cmd_picc(tty_fd, "b4", std::to_string(58));
|
||||||
|
send_cmd_picc2(tty_fd, "b4", std::to_string(59));
|
||||||
|
} else if (printer_set_offset == (float)0.1) {
|
||||||
|
send_cmd_picc(tty_fd, "b1", std::to_string(58));
|
||||||
|
send_cmd_picc2(tty_fd, "b1", std::to_string(59));
|
||||||
|
send_cmd_picc(tty_fd, "b2", std::to_string(58));
|
||||||
|
send_cmd_picc2(tty_fd, "b2", std::to_string(59));
|
||||||
|
send_cmd_picc(tty_fd, "b3", std::to_string(57));
|
||||||
|
send_cmd_picc2(tty_fd, "b3", std::to_string(60));
|
||||||
|
send_cmd_picc(tty_fd, "b4", std::to_string(58));
|
||||||
|
send_cmd_picc2(tty_fd, "b4", std::to_string(59));
|
||||||
|
} else if (printer_set_offset == (float)0.5) {
|
||||||
|
send_cmd_picc(tty_fd, "b1", std::to_string(58));
|
||||||
|
send_cmd_picc2(tty_fd, "b1", std::to_string(59));
|
||||||
|
send_cmd_picc(tty_fd, "b2", std::to_string(58));
|
||||||
|
send_cmd_picc2(tty_fd, "b2", std::to_string(59));
|
||||||
|
send_cmd_picc(tty_fd, "b3", std::to_string(58));
|
||||||
|
send_cmd_picc2(tty_fd, "b3", std::to_string(59));
|
||||||
|
send_cmd_picc(tty_fd, "b4", std::to_string(57));
|
||||||
|
send_cmd_picc2(tty_fd, "b4", std::to_string(60));
|
||||||
|
}
|
||||||
|
|
||||||
if (printer_print_stats_state == "printing") {
|
if (printer_print_stats_state == "printing") {
|
||||||
printer_ready = true;
|
printer_ready = true;
|
||||||
}
|
}
|
||||||
@@ -995,44 +1076,6 @@ void refresh_page_printing_zoffset() {
|
|||||||
clear_previous_data();
|
clear_previous_data();
|
||||||
send_cmd_txt(tty_fd , "t0", "gcode error:" + error_message);
|
send_cmd_txt(tty_fd , "t0", "gcode error:" + error_message);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (printer_set_offset == (float)0.01) {
|
|
||||||
send_cmd_picc(tty_fd, "b1", std::to_string(57));
|
|
||||||
send_cmd_picc2(tty_fd, "b1", std::to_string(60));
|
|
||||||
send_cmd_picc(tty_fd, "b2", std::to_string(58));
|
|
||||||
send_cmd_picc2(tty_fd, "b2", std::to_string(59));
|
|
||||||
send_cmd_picc(tty_fd, "b3", std::to_string(58));
|
|
||||||
send_cmd_picc2(tty_fd, "b3", std::to_string(59));
|
|
||||||
send_cmd_picc(tty_fd, "b4", std::to_string(58));
|
|
||||||
send_cmd_picc2(tty_fd, "b4", std::to_string(59));
|
|
||||||
} else if (printer_set_offset == (float)0.05) {
|
|
||||||
send_cmd_picc(tty_fd, "b1", std::to_string(58));
|
|
||||||
send_cmd_picc2(tty_fd, "b1", std::to_string(59));
|
|
||||||
send_cmd_picc(tty_fd, "b2", std::to_string(57));
|
|
||||||
send_cmd_picc2(tty_fd, "b2", std::to_string(60));
|
|
||||||
send_cmd_picc(tty_fd, "b3", std::to_string(58));
|
|
||||||
send_cmd_picc2(tty_fd, "b3", std::to_string(59));
|
|
||||||
send_cmd_picc(tty_fd, "b4", std::to_string(58));
|
|
||||||
send_cmd_picc2(tty_fd, "b4", std::to_string(59));
|
|
||||||
} else if (printer_set_offset == (float)0.1) {
|
|
||||||
send_cmd_picc(tty_fd, "b1", std::to_string(58));
|
|
||||||
send_cmd_picc2(tty_fd, "b1", std::to_string(59));
|
|
||||||
send_cmd_picc(tty_fd, "b2", std::to_string(58));
|
|
||||||
send_cmd_picc2(tty_fd, "b2", std::to_string(59));
|
|
||||||
send_cmd_picc(tty_fd, "b3", std::to_string(57));
|
|
||||||
send_cmd_picc2(tty_fd, "b3", std::to_string(60));
|
|
||||||
send_cmd_picc(tty_fd, "b4", std::to_string(58));
|
|
||||||
send_cmd_picc2(tty_fd, "b4", std::to_string(59));
|
|
||||||
} else if (printer_set_offset == (float)1) {
|
|
||||||
send_cmd_picc(tty_fd, "b1", std::to_string(58));
|
|
||||||
send_cmd_picc2(tty_fd, "b1", std::to_string(59));
|
|
||||||
send_cmd_picc(tty_fd, "b2", std::to_string(58));
|
|
||||||
send_cmd_picc2(tty_fd, "b2", std::to_string(59));
|
|
||||||
send_cmd_picc(tty_fd, "b3", std::to_string(58));
|
|
||||||
send_cmd_picc2(tty_fd, "b3", std::to_string(59));
|
|
||||||
send_cmd_picc(tty_fd, "b4", std::to_string(57));
|
|
||||||
send_cmd_picc2(tty_fd, "b4", std::to_string(60));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void refresh_page_printing() {
|
void refresh_page_printing() {
|
||||||
@@ -1630,7 +1673,7 @@ void set_heater_bed_target(int target) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void set_hot_target(int target) {
|
void set_hot_target(int target) {
|
||||||
set_target("chamber", target);
|
ep->Send(json_run_a_gcode("M141 S" + std::to_string(target)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_fan(int speed) {
|
void set_fan(int speed) {
|
||||||
@@ -1655,6 +1698,13 @@ void set_intern_zoffset(float offset) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void set_zoffset(bool positive) {
|
void set_zoffset(bool positive) {
|
||||||
|
// std::string command;
|
||||||
|
// if (positive) {
|
||||||
|
// command = "curl -s -X POST http://127.0.0.1:7125/printer/modifybabystep?ADJUST=" + std::to_string(printer_set_offset);
|
||||||
|
// } else {
|
||||||
|
// command = "curl -s -X POST http://127.0.0.1:7125/printer/modifybabystep?ADJUST=-" + std::to_string(printer_set_offset);
|
||||||
|
// }
|
||||||
|
// system(command.c_str());
|
||||||
if (positive == true) {
|
if (positive == true) {
|
||||||
ep->Send(json_run_a_gcode("SET_GCODE_OFFSET Z_ADJUST=+" + std::to_string(printer_set_offset) + " MOVE=1"));
|
ep->Send(json_run_a_gcode("SET_GCODE_OFFSET Z_ADJUST=+" + std::to_string(printer_set_offset) + " MOVE=1"));
|
||||||
} else {
|
} else {
|
||||||
@@ -1685,26 +1735,32 @@ void move_home() {
|
|||||||
|
|
||||||
void move_x_decrease() {
|
void move_x_decrease() {
|
||||||
ep->Send(move(AXIS_X, "-" + std::to_string(printer_move_dist), 130));
|
ep->Send(move(AXIS_X, "-" + std::to_string(printer_move_dist), 130));
|
||||||
|
unhomed_move_mode = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
void move_x_increase() {
|
void move_x_increase() {
|
||||||
ep->Send(move(AXIS_X, "+" + std::to_string(printer_move_dist), 130));
|
ep->Send(move(AXIS_X, "+" + std::to_string(printer_move_dist), 130));
|
||||||
|
unhomed_move_mode = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void move_y_decrease() {
|
void move_y_decrease() {
|
||||||
ep->Send(move(AXIS_Y, "-" + std::to_string(printer_move_dist), 130));
|
ep->Send(move(AXIS_Y, "-" + std::to_string(printer_move_dist), 130));
|
||||||
|
unhomed_move_mode = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
void move_y_increase() {
|
void move_y_increase() {
|
||||||
ep->Send(move(AXIS_Y, "+" + std::to_string(printer_move_dist), 130));
|
ep->Send(move(AXIS_Y, "+" + std::to_string(printer_move_dist), 130));
|
||||||
|
unhomed_move_mode = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
void move_z_decrease() {
|
void move_z_decrease() {
|
||||||
ep->Send(move(AXIS_Z, "-" + std::to_string(printer_move_dist), 10));
|
ep->Send(move(AXIS_Z, "-" + std::to_string(printer_move_dist), 10));
|
||||||
|
unhomed_move_mode = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
void move_z_increase() {
|
void move_z_increase() {
|
||||||
ep->Send(move(AXIS_Z, "+" + std::to_string(printer_move_dist), 10));
|
ep->Send(move(AXIS_Z, "+" + std::to_string(printer_move_dist), 10));
|
||||||
|
unhomed_move_mode = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool get_filament_detected() {
|
bool get_filament_detected() {
|
||||||
@@ -1737,6 +1793,8 @@ void set_print_resume() {
|
|||||||
|
|
||||||
void cancel_print() {
|
void cancel_print() {
|
||||||
printer_print_stats_filename = "";
|
printer_print_stats_filename = "";
|
||||||
|
system("curl -X POST http://127.0.0.1:7125/printer/breakmacro");
|
||||||
|
system("curl -X POST http://127.0.0.1:7125/printer/breakheater");
|
||||||
ep->Send(json_run_a_gcode("CANCEL_PRINT"));
|
ep->Send(json_run_a_gcode("CANCEL_PRINT"));
|
||||||
int printed_minutes = get_cal_printed_time((int)(printer_print_stats_print_duration));
|
int printed_minutes = get_cal_printed_time((int)(printer_print_stats_print_duration));
|
||||||
get_mks_total_printed_time();
|
get_mks_total_printed_time();
|
||||||
@@ -1827,10 +1885,18 @@ void move_home_tips() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void filament_tips() {
|
void filament_tips() {
|
||||||
if (current_page_id == TJC_PAGE_PRINT_FILAMENT) {
|
switch (current_page_id)
|
||||||
|
{
|
||||||
|
case TJC_PAGE_OPEN_FILAMENTVIDEO_3:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TJC_PAGE_PRINT_FILAMENT:
|
||||||
jump_to_print_low_temp = true;
|
jump_to_print_low_temp = true;
|
||||||
} else {
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
jump_to_filament_pop_1 = true;
|
jump_to_filament_pop_1 = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2063,7 +2129,19 @@ void go_to_reset() {
|
|||||||
if (printer_webhooks_state == "shutdown") {
|
if (printer_webhooks_state == "shutdown") {
|
||||||
page_to(TJC_PAGE_RESET);
|
page_to(TJC_PAGE_RESET);
|
||||||
} else {
|
} else {
|
||||||
|
std::ifstream infile("/dev_info.txt");
|
||||||
|
if (!infile) {
|
||||||
|
std::cerr << "无法打开文件 " << "/dev_info.txt" << std::endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
std::stringstream buffer;
|
||||||
|
buffer << infile.rdbuf();
|
||||||
|
std::string machine_type = buffer.str();
|
||||||
|
infile.close();
|
||||||
|
machine_type = machine_type.substr(machine_type.find("@") + 1);
|
||||||
page_to(TJC_PAGE_SYS_OK);
|
page_to(TJC_PAGE_SYS_OK);
|
||||||
|
std::cout << "machine_type:" << machine_type << std::endl;
|
||||||
|
send_cmd_txt(tty_fd, "t2", machine_type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2082,7 +2160,7 @@ void go_to_network() {
|
|||||||
scan_ssid_and_show();
|
scan_ssid_and_show();
|
||||||
get_wlan0_status();
|
get_wlan0_status();
|
||||||
if (strcmp(status_result.wpa_state, "COMPLETED") == 0) {
|
if (strcmp(status_result.wpa_state, "COMPLETED") == 0) {
|
||||||
current_connected_ssid_name = status_result.ssid; // 如果已经连接wifi,获取wifi的名字
|
current_connected_ssid_name = hex_to_utf8(status_result.ssid); // 如果已经连接wifi,获取wifi的名字
|
||||||
} else if (strcmp(status_result.wpa_state, "INACTIVE")) {
|
} else if (strcmp(status_result.wpa_state, "INACTIVE")) {
|
||||||
current_connected_ssid_name.clear(); // 如果没连接wifi,清除掉当前已连接wifi的名字
|
current_connected_ssid_name.clear(); // 如果没连接wifi,清除掉当前已连接wifi的名字
|
||||||
}
|
}
|
||||||
@@ -2092,12 +2170,16 @@ void go_to_network() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void scan_ssid_and_show() {
|
void scan_ssid_and_show() {
|
||||||
get_wlan0_status();
|
if (access("/var/run/wpa_supplicant/wlan0", F_OK) == 0){
|
||||||
mks_wpa_scan_scanresults();
|
get_wlan0_status();
|
||||||
get_ssid_list_pages();
|
mks_wpa_scan_scanresults();
|
||||||
page_wifi_current_pages = 0;
|
get_ssid_list_pages();
|
||||||
set_page_wifi_ssid_list(page_wifi_current_pages);
|
page_wifi_current_pages = 0;
|
||||||
refresh_page_wifi_list();
|
set_page_wifi_ssid_list(page_wifi_current_pages);
|
||||||
|
refresh_page_wifi_list();
|
||||||
|
} else {
|
||||||
|
page_to(TJC_PAGE_INTERNET);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void refresh_page_wifi_list() {
|
void refresh_page_wifi_list() {
|
||||||
@@ -2106,7 +2188,7 @@ void refresh_page_wifi_list() {
|
|||||||
if (0 == page_wifi_current_pages) {
|
if (0 == page_wifi_current_pages) {
|
||||||
if (0 == i) {
|
if (0 == i) {
|
||||||
if (strcmp(status_result.wpa_state, "COMPLETED") == 0) {
|
if (strcmp(status_result.wpa_state, "COMPLETED") == 0) {
|
||||||
send_cmd_txt(tty_fd, "t" + std::to_string(i+1), status_result.ssid);
|
send_cmd_txt(tty_fd, "t" + std::to_string(i+1), hex_to_utf8(status_result.ssid));
|
||||||
} else {
|
} else {
|
||||||
send_cmd_txt(tty_fd, "t" + std::to_string(i+1), page_wifi_ssid_list[i]);
|
send_cmd_txt(tty_fd, "t" + std::to_string(i+1), page_wifi_ssid_list[i]);
|
||||||
}
|
}
|
||||||
@@ -2284,6 +2366,7 @@ void init_mks_status() {
|
|||||||
get_mks_total_printed_time();
|
get_mks_total_printed_time();
|
||||||
get_mks_babystep();
|
get_mks_babystep();
|
||||||
get_mks_connection_method();
|
get_mks_connection_method();
|
||||||
|
get_mks_ethernet();
|
||||||
// 不再使用xindi获取zoffset
|
// 不再使用xindi获取zoffset
|
||||||
// printer_set_babystep();
|
// printer_set_babystep();
|
||||||
/*
|
/*
|
||||||
@@ -2458,7 +2541,10 @@ void level_mode_printing_print_file() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void update_finished_tips() {
|
void update_finished_tips() {
|
||||||
page_to(TJC_PAGE_UPDATE_FINISH);
|
// page_to(TJC_PAGE_UPDATE_FINISH);
|
||||||
|
sleep(5);
|
||||||
|
system("sync");
|
||||||
|
system("systemctl restart makerbase-client.service");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool get_mks_oobe_enabled() {
|
bool get_mks_oobe_enabled() {
|
||||||
@@ -2847,6 +2933,7 @@ void bed_calibrate() {
|
|||||||
if (manual_count == 4) {
|
if (manual_count == 4) {
|
||||||
bed_offset = 0;
|
bed_offset = 0;
|
||||||
printer_idle_timeout_state = "Printing";
|
printer_idle_timeout_state = "Printing";
|
||||||
|
ep->Send(json_run_a_gcode("ABORT\n"));
|
||||||
ep->Send(json_run_a_gcode("M4030"));
|
ep->Send(json_run_a_gcode("M4030"));
|
||||||
page_to(TJC_PAGE_BED_MOVING);
|
page_to(TJC_PAGE_BED_MOVING);
|
||||||
}else if (manual_count == 3) {
|
}else if (manual_count == 3) {
|
||||||
@@ -3012,8 +3099,12 @@ void print_log() {
|
|||||||
page_to(TJC_PAGE_PRINT_LOG_F); // CLL 若U盘未插入,提示导出失败,请客户检查U盘插入
|
page_to(TJC_PAGE_PRINT_LOG_F); // CLL 若U盘未插入,提示导出失败,请客户检查U盘插入
|
||||||
} else {
|
} else {
|
||||||
system("mkdir /home/mks/gcode_files/sda1/QD_Log");
|
system("mkdir /home/mks/gcode_files/sda1/QD_Log");
|
||||||
system("cp /home/mks/klipper_logs/klippy.log /home/mks/gcode_files/sda1/QD_Log/klippy.log\n");
|
system("bash -c 'cp /home/mks/klipper_logs/klippy.log* /home/mks/gcode_files/sda1/QD_Log/'");
|
||||||
system("cp /home/mks/klipper_logs/moonraker.log /home/mks/gcode_files/sda1/QD_Log/moonraker.log\n");
|
system("bash -c 'cp /home/mks/klipper_logs/moonraker.log* /home/mks/gcode_files/sda1/QD_Log/'");
|
||||||
|
system("bash -c 'cp /home/mks/klipper_logs/auto_update.log* /home/mks/gcode_files/sda1/QD_Log/'");
|
||||||
|
system("bash -c 'cp /root/frp/frpc.log* /home/mks/gcode_files/sda1/QD_Log/'");
|
||||||
|
system("bash -c 'cp /root/frp/frpc.*.log /home/mks/gcode_files/sda1/QD_Log/'");
|
||||||
|
system("cp /root/frp/frpc.toml /home/mks/gcode_files/sda1/QD_Log/server.cfg");
|
||||||
page_to(TJC_PAGE_PRINT_LOG_S);
|
page_to(TJC_PAGE_PRINT_LOG_S);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3168,19 +3259,38 @@ void set_mks_connection_method(int target) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void refresh_page_show_qr() {
|
void refresh_page_show_qr() {
|
||||||
send_cmd_txt(tty_fd, "t0", status_result.ip_address);
|
if (mks_ethernet == 0) {
|
||||||
|
send_cmd_txt(tty_fd, "t0", status_result.ip_address);
|
||||||
|
send_cmd_picc(tty_fd, "b4", "268");
|
||||||
|
send_cmd_picc2(tty_fd, "b4", "214");
|
||||||
|
} else {
|
||||||
|
std::string local_ip = get_eth0_ip();
|
||||||
|
send_cmd_txt(tty_fd, "t0", local_ip);
|
||||||
|
send_cmd_picc(tty_fd, "b4", "269");
|
||||||
|
send_cmd_picc2(tty_fd, "b4", "215");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void go_to_showqr() {
|
void go_to_showqr() {
|
||||||
|
std::string qrmessage;
|
||||||
get_mks_connection_method();
|
get_mks_connection_method();
|
||||||
page_to(TJC_PAGE_SHOW_QR);
|
page_to(TJC_PAGE_SHOW_QR);
|
||||||
if (strcmp(status_result.wpa_state, "COMPLETED") == 0) {
|
if (strcmp(status_result.wpa_state, "COMPLETED") == 0 || mks_ethernet) {
|
||||||
if (qr_refreshed == false) {
|
if (qr_refreshed == false) {
|
||||||
|
send_cmd_cp_close(tty_fd, "cp0");
|
||||||
if (open_qr_refreshed == true || access("/home/mks/qrcode/qrcode.jpg", F_OK) == -1)
|
if (open_qr_refreshed == true || access("/home/mks/qrcode/qrcode.jpg", F_OK) == -1)
|
||||||
system("python3 /home/mks/qrcode/qrcode_QD.py 176\n");
|
qrmessage = run_python_code("python3 /home/mks/qrcode/qrcode_QD.py 176\n");
|
||||||
open_qr_refreshed = true;
|
std::cout << "qrmessage:" << qrmessage << std::endl;
|
||||||
refresh_files_list_picture("/home/mks/qrcode/qrcode.jpg", 176, 0);
|
if (qrmessage.find("Missing or invalid") != -1) {
|
||||||
qr_refreshed = true;
|
send_cmd_txt(tty_fd, "t4", qrmessage);
|
||||||
|
send_cmd_vis(tty_fd, "t4", "1");
|
||||||
|
} else if (qrmessage.find("No") != -1) {
|
||||||
|
send_cmd_vis(tty_fd, "t4", "1");
|
||||||
|
} else {
|
||||||
|
open_qr_refreshed = true;
|
||||||
|
refresh_files_list_picture("/home/mks/qrcode/qrcode.jpg", 176, 0);
|
||||||
|
qr_refreshed = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
send_cmd_vis(tty_fd, "t4", "1");
|
send_cmd_vis(tty_fd, "t4", "1");
|
||||||
@@ -3199,7 +3309,7 @@ void go_to_server_set(int n) {
|
|||||||
current_server_page = n;
|
current_server_page = n;
|
||||||
total_server_count = 0;
|
total_server_count = 0;
|
||||||
serverConfigs.clear();
|
serverConfigs.clear();
|
||||||
if (connection_method == 1) {
|
if (connection_method == 1 && strcmp(status_result.wpa_state, "COMPLETED") == 0) {
|
||||||
page_to(TJC_PAGE_SEARCH_SERVER);
|
page_to(TJC_PAGE_SEARCH_SERVER);
|
||||||
update_server(0);
|
update_server(0);
|
||||||
get_mks_selected_server();
|
get_mks_selected_server();
|
||||||
@@ -3329,12 +3439,23 @@ void update_server(int choice)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void refresh_page_server_set() {
|
void refresh_page_server_set() {
|
||||||
if (connection_method == 0) {
|
if (connection_method == 0 || strcmp(status_result.wpa_state, "COMPLETED") != 0) {
|
||||||
send_cmd_picc(tty_fd, "b2", "217");
|
send_cmd_picc(tty_fd, "b2", "217");
|
||||||
send_cmd_picc2(tty_fd, "b2", "220");
|
send_cmd_picc2(tty_fd, "b2", "220");
|
||||||
|
send_cmd_vis(tty_fd, "t3", "1");
|
||||||
|
send_cmd_vis(tty_fd, "t0", "0");
|
||||||
|
send_cmd_vis(tty_fd, "b3", "0");
|
||||||
|
send_cmd_vis(tty_fd, "b4", "0");
|
||||||
|
send_cmd_vis(tty_fd, "b0", "0");
|
||||||
} else {
|
} else {
|
||||||
send_cmd_picc(tty_fd, "b2", "218");
|
send_cmd_picc(tty_fd, "b2", "218");
|
||||||
send_cmd_picc2(tty_fd, "b2", "219");
|
send_cmd_picc2(tty_fd, "b2", "219");
|
||||||
|
send_cmd_vis(tty_fd, "t3", "0");
|
||||||
|
send_cmd_vis(tty_fd, "t0", "1");
|
||||||
|
send_cmd_vis(tty_fd, "b3", "1");
|
||||||
|
send_cmd_vis(tty_fd, "b4", "1");
|
||||||
|
send_cmd_vis(tty_fd, "b0", "1");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (current_server_page == 0) {
|
if (current_server_page == 0) {
|
||||||
@@ -3494,3 +3615,36 @@ void refresh_page_auto_unload() {
|
|||||||
send_cmd_vis(tty_fd, "b1", "1");
|
send_cmd_vis(tty_fd, "b1", "1");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int get_mks_ethernet() {
|
||||||
|
mksini_load();
|
||||||
|
mks_ethernet = mksini_getboolean("mks_ethernet", "enable", 0);
|
||||||
|
mksini_free();
|
||||||
|
return mks_ethernet;
|
||||||
|
}
|
||||||
|
|
||||||
|
void set_mks_ethernet(int target) {
|
||||||
|
std::cout << "设置以太网:" << target << std::endl;
|
||||||
|
mksini_load();
|
||||||
|
mksini_set("mks_ethernet", "enable", std::to_string(target));
|
||||||
|
mksini_save();
|
||||||
|
mksini_free();
|
||||||
|
mks_ethernet = target;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string hex_to_utf8(const std::string& hex) {
|
||||||
|
std::ostringstream utf8;
|
||||||
|
size_t i = 0;
|
||||||
|
while (i < hex.size()) {
|
||||||
|
if (i + 3 < hex.size() && hex[i] == '\\' && hex[i + 1] == 'x') {
|
||||||
|
std::string hex_byte = hex.substr(i + 2, 2);
|
||||||
|
int value;
|
||||||
|
std::istringstream(hex_byte) >> std::hex >> value;
|
||||||
|
utf8 << static_cast<char>(value);
|
||||||
|
i += 4;
|
||||||
|
} else {
|
||||||
|
utf8 << hex[i++];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return utf8.str();
|
||||||
|
}
|
||||||
@@ -177,6 +177,8 @@ void parse_gcode_response(nlohmann::json params) {
|
|||||||
}
|
}
|
||||||
} else if (params0 == "!! Insufficient disk space, unable to read the file.") {
|
} else if (params0 == "!! Insufficient disk space, unable to read the file.") {
|
||||||
jump_to_memory_warning = true;
|
jump_to_memory_warning = true;
|
||||||
|
} else if (params0.find("!! Printer is not ready") != -1) {
|
||||||
|
// CLL 不做处理
|
||||||
} else if (params0.substr(0, 2) == "!!") {
|
} else if (params0.substr(0, 2) == "!!") {
|
||||||
error_message = params0;
|
error_message = params0;
|
||||||
detect_error();
|
detect_error();
|
||||||
|
|||||||
@@ -122,38 +122,65 @@ bool detect_update()
|
|||||||
// 4.4.3 CLL 新增deb文件也能更新
|
// 4.4.3 CLL 新增deb文件也能更新
|
||||||
int fd_soc_deb;
|
int fd_soc_deb;
|
||||||
|
|
||||||
fd_soc_data = access("/home/mks/gcode_files/sda1/QD_Update/QD_Mates3_SOC", F_OK);
|
// fd_soc_data = access("/home/mks/gcode_files/sda1/QD_Update/QD_Mates3_SOC", F_OK);
|
||||||
if (fd_soc_data == 0)
|
// if (fd_soc_data == 0)
|
||||||
{
|
// {
|
||||||
detected_soc_data = true;
|
// detected_soc_data = true;
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
detected_soc_data = false;
|
// detected_soc_data = false;
|
||||||
fd_soc_data = access("/home/mks/gcode_files/sda1/QD_Update/QD_Q1_SOC", F_OK);
|
// fd_soc_data = access("/home/mks/gcode_files/sda1/QD_Update/QD_Q1_SOC", F_OK);
|
||||||
if (fd_soc_data == 0)
|
// if (fd_soc_data == 0)
|
||||||
{
|
// {
|
||||||
detected_q1_soc_data = true;
|
// detected_q1_soc_data = true;
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
detected_q1_soc_data = false;
|
// detected_q1_soc_data = false;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
if ((dir = opendir(base_path.c_str())) != nullptr)
|
if ((dir = opendir(base_path.c_str())) != nullptr)
|
||||||
{
|
{
|
||||||
while ((entry = readdir(dir)) != nullptr)
|
while ((entry = readdir(dir)) != nullptr)
|
||||||
{
|
{
|
||||||
std::string filename = entry->d_name;
|
std::string filename = entry->d_name;
|
||||||
|
// 跳过以 .bak 结尾的文件
|
||||||
|
if (filename.rfind(".bak") == filename.length() - 4) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (filename.find("QD_Q1_PATCH") == 0)
|
if (filename.find("QD_Q1_PATCH") == 0)
|
||||||
{
|
{
|
||||||
detected_q1_patch_data = true; // 找到 QD_Q1_PATCH 开头文件
|
detected_q1_patch_data = true;
|
||||||
break;
|
continue;
|
||||||
|
}
|
||||||
|
if (filename.find("QD_Q1_UI") == 0)
|
||||||
|
{
|
||||||
|
detected_q1_ui_data = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (filename.find("QD_Q1_SOC") == 0)
|
||||||
|
{
|
||||||
|
detected_q1_soc_data = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (filename.find("QD_Mates3_UI") == 0)
|
||||||
|
{
|
||||||
|
detected_ui_data = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (filename.find("QD_Mates3_SOC") == 0)
|
||||||
|
{
|
||||||
|
detected_soc_data = true;
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
closedir(dir);
|
closedir(dir);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
printf("Usb device path not found: %s\n", base_path.c_str());
|
||||||
|
|
||||||
fd_mcu_data = access("/home/mks/gcode_files/sda1/QD_MCU/MCU", F_OK);
|
fd_mcu_data = access("/home/mks/gcode_files/sda1/QD_MCU/MCU", F_OK);
|
||||||
if (fd_mcu_data == 0)
|
if (fd_mcu_data == 0)
|
||||||
@@ -165,25 +192,25 @@ bool detect_update()
|
|||||||
detected_mcu_data = false;
|
detected_mcu_data = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
fd_ui_data = access("/home/mks/gcode_files/sda1/QD_Update/QD_Mates3_UI", F_OK);
|
// fd_ui_data = access("/home/mks/gcode_files/sda1/QD_Update/QD_Mates3_UI", F_OK);
|
||||||
|
|
||||||
if (fd_ui_data == 0)
|
// if (fd_ui_data == 0)
|
||||||
{
|
// {
|
||||||
detected_ui_data = true;
|
// detected_ui_data = true;
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
detected_ui_data = false;
|
// detected_ui_data = false;
|
||||||
fd_ui_data = access("/home/mks/gcode_files/sda1/QD_Update/QD_Q1_UI", F_OK);
|
// fd_ui_data = access("/home/mks/gcode_files/sda1/QD_Update/QD_Q1_UI", F_OK);
|
||||||
if (fd_ui_data == 0)
|
// if (fd_ui_data == 0)
|
||||||
{
|
// {
|
||||||
detected_q1_ui_data = true;
|
// detected_q1_ui_data = true;
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
detected_q1_ui_data = false;
|
// detected_q1_ui_data = false;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
fd_gcode_cfg = access("/home/mks/gcode_files/sda1/QD_Update/gcode_macro.cfg", F_OK);
|
fd_gcode_cfg = access("/home/mks/gcode_files/sda1/QD_Update/gcode_macro.cfg", F_OK);
|
||||||
if (fd_gcode_cfg == 0)
|
if (fd_gcode_cfg == 0)
|
||||||
@@ -246,6 +273,11 @@ void start_update()
|
|||||||
{
|
{
|
||||||
system("rm /home/mks/gcode_files/.cache/*");
|
system("rm /home/mks/gcode_files/.cache/*");
|
||||||
|
|
||||||
|
bool factory_mode = (
|
||||||
|
access("/home/mks/gcode_files/sda1/QD_factory_mode.txt", F_OK) != -1 ||
|
||||||
|
access("/home/mks/gcode_files/sda1/QD_Update/QD_factory_mode.txt", F_OK) != -1
|
||||||
|
);
|
||||||
|
|
||||||
if (detected_mcu_data == true)
|
if (detected_mcu_data == true)
|
||||||
{
|
{
|
||||||
if (access("/home/mks/gcode_files/sda1/QD_factory_mode.txt", F_OK) == 0)
|
if (access("/home/mks/gcode_files/sda1/QD_factory_mode.txt", F_OK) == 0)
|
||||||
@@ -282,42 +314,42 @@ void start_update()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (detected_ui_data == true)
|
// if (detected_ui_data == true)
|
||||||
{
|
// {
|
||||||
if (access("/home/mks/gcode_files/sda1/QD_factory_mode.txt", F_OK) == 0)
|
// if (access("/home/mks/gcode_files/sda1/QD_factory_mode.txt", F_OK) == 0)
|
||||||
{
|
// {
|
||||||
system("cp /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_UI /root/800_480.tft; sync");
|
// system("cp /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_UI /root/800_480.tft; sync");
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
if (access("/home/mks/gcode_files/sda1/QD_Update/QD_factory_mode.txt", F_OK) == 0)
|
// if (access("/home/mks/gcode_files/sda1/QD_Update/QD_factory_mode.txt", F_OK) == 0)
|
||||||
{
|
// {
|
||||||
system("cp /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_UI /root/800_480.tft; sync");
|
// system("cp /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_UI /root/800_480.tft; sync");
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
system("cp /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_UI /root/800_480.tft; mv /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_UI /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_UI.bak; sync");
|
// system("cp /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_UI /root/800_480.tft; mv /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_UI /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_UI.bak; sync");
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
else if (detected_q1_ui_data == true)
|
// else if (detected_q1_ui_data == true)
|
||||||
{
|
// {
|
||||||
if (access("/home/mks/gcode_files/sda1/QD_factory_mode.txt", F_OK) == 0)
|
// if (access("/home/mks/gcode_files/sda1/QD_factory_mode.txt", F_OK) == 0)
|
||||||
{
|
// {
|
||||||
system("cp /home/mks/gcode_files/sda1/QD_Update/QD_Q1_UI /root/800_480.tft; sync");
|
// system("cp /home/mks/gcode_files/sda1/QD_Update/QD_Q1_UI /root/800_480.tft; sync");
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
if (access("/home/mks/gcode_files/sda1/QD_Update/QD_factory_mode.txt", F_OK) == 0)
|
// if (access("/home/mks/gcode_files/sda1/QD_Update/QD_factory_mode.txt", F_OK) == 0)
|
||||||
{
|
// {
|
||||||
system("cp /home/mks/gcode_files/sda1/QD_Update/QD_Q1_UI /root/800_480.tft; sync");
|
// system("cp /home/mks/gcode_files/sda1/QD_Update/QD_Q1_UI /root/800_480.tft; sync");
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
system("cp /home/mks/gcode_files/sda1/QD_Update/QD_Q1_UI /root/800_480.tft; mv /home/mks/gcode_files/sda1/QD_Update/QD_Q1_UI /home/mks/gcode_files/sda1/QD_Update/QD_Q1_UI.bak; sync");
|
// system("cp /home/mks/gcode_files/sda1/QD_Update/QD_Q1_UI /root/800_480.tft; mv /home/mks/gcode_files/sda1/QD_Update/QD_Q1_UI /home/mks/gcode_files/sda1/QD_Update/QD_Q1_UI.bak; sync");
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (detected_gcode_cfg == true)
|
if (detected_gcode_cfg == true)
|
||||||
{
|
{
|
||||||
@@ -384,19 +416,52 @@ void start_update()
|
|||||||
system("systemctl stop moonraker.service\n");
|
system("systemctl stop moonraker.service\n");
|
||||||
system("find /home/mks/gcode_files -maxdepth 1 -type d ! -name sd* -a ! -name '.*' | grep gcode_files/ | xargs rm -rf");
|
system("find /home/mks/gcode_files -maxdepth 1 -type d ! -name sd* -a ! -name '.*' | grep gcode_files/ | xargs rm -rf");
|
||||||
system("cp /home/mks/gcode_files/sda1/QD_Update/QD_gcode/*.gcode /home/mks/gcode_files; chmod 777 /home/mks/gcode_files/*.gcode; sync");
|
system("cp /home/mks/gcode_files/sda1/QD_Update/QD_gcode/*.gcode /home/mks/gcode_files; chmod 777 /home/mks/gcode_files/*.gcode; sync");
|
||||||
|
sleep(3);
|
||||||
|
system("systemctl restart moonraker.service\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 检测到补丁文件
|
// 检测到UI文件
|
||||||
if (detected_q1_patch_data)
|
if (detected_ui_data || detected_q1_ui_data) {
|
||||||
{
|
|
||||||
bool factory_mode = (access("/home/mks/gcode_files/sda1/QD_factory_mode.txt", F_OK) != -1);
|
|
||||||
|
|
||||||
if ((dir = opendir(base_path.c_str())) != nullptr)
|
if ((dir = opendir(base_path.c_str())) != nullptr)
|
||||||
{
|
{
|
||||||
while ((entry = readdir(dir)) != nullptr)
|
while ((entry = readdir(dir)) != nullptr)
|
||||||
{
|
{
|
||||||
std::string filename = entry->d_name;
|
std::string filename = entry->d_name;
|
||||||
if (filename.find("QD_Q1_PATCH") == 0)
|
|
||||||
|
// 模糊匹配UI文件
|
||||||
|
if (filename.find("QD_Q1_UI") == 0 || filename.find("QD_Mates3_UI") == 0)
|
||||||
|
{
|
||||||
|
std::string filePath = base_path + filename;
|
||||||
|
std::string command = "cp " + filePath + " /root/800_480.tft; ";
|
||||||
|
|
||||||
|
if (!factory_mode) {
|
||||||
|
command += "mv " + filePath + " " + filePath + ".bak; ";
|
||||||
|
}
|
||||||
|
command += "sync";
|
||||||
|
system(command.c_str());
|
||||||
|
break; // 每次更新只处理一个UI文件
|
||||||
|
}
|
||||||
|
}
|
||||||
|
closedir(dir);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("Directory not found: %s\n", base_path.c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检测到SOC或者PATCH文件
|
||||||
|
if (detected_q1_patch_data || detected_q1_soc_data || detected_soc_data)
|
||||||
|
{
|
||||||
|
|
||||||
|
if ((dir = opendir(base_path.c_str())) != nullptr)
|
||||||
|
{
|
||||||
|
while ((entry = readdir(dir)) != nullptr)
|
||||||
|
{
|
||||||
|
std::string filename = entry->d_name;
|
||||||
|
if (filename.rfind(".bak") != std::string::npos) continue;
|
||||||
|
if (filename.find("QD_Q1_PATCH") == 0 || filename.find("QD_Q1_SOC") == 0 || filename.find("QD_Mates3_SOC") == 0)
|
||||||
{
|
{
|
||||||
std::string file_path = base_path + filename;
|
std::string file_path = base_path + filename;
|
||||||
std::string command = "mv " + file_path + " " + base_path + "mks.deb; dpkg -i --force-overwrite " + base_path + "mks.deb;";
|
std::string command = "mv " + file_path + " " + base_path + "mks.deb; dpkg -i --force-overwrite " + base_path + "mks.deb;";
|
||||||
@@ -408,64 +473,68 @@ void start_update()
|
|||||||
{
|
{
|
||||||
new_file_name += ".bak";
|
new_file_name += ".bak";
|
||||||
}
|
}
|
||||||
|
|
||||||
command = "mv " + base_path + "mks.deb " + new_file_name + "; sync";
|
command = "mv " + base_path + "mks.deb " + new_file_name + "; sync";
|
||||||
system(command.c_str());
|
system(command.c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
closedir(dir);
|
closedir(dir);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (detected_soc_data == true)
|
|
||||||
{
|
|
||||||
if (access("/home/mks/gcode_files/sda1/QD_factory_mode.txt", F_OK) == 0)
|
|
||||||
{
|
|
||||||
std::cout << "检测到qidi文件" << std::endl;
|
|
||||||
system("mv /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_SOC /home/mks/gcode_files/sda1/QD_Update/mks.deb; dpkg -i --force-overwrite /home/mks/gcode_files/sda1/QD_Update/mks.deb; mv /home/mks/gcode_files/sda1/QD_Update/mks.deb /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_SOC; sync;");
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (access("/home/mks/gcode_files/sda1/QD_Update/QD_factory_mode.txt", F_OK) == 0)
|
printf("Directory not found: %s\n", base_path.c_str());
|
||||||
{
|
|
||||||
std::cout << "检测到qidi文件" << std::endl;
|
|
||||||
system("mv /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_SOC /home/mks/gcode_files/sda1/QD_Update/mks.deb; dpkg -i --force-overwrite /home/mks/gcode_files/sda1/QD_Update/mks.deb; mv /home/mks/gcode_files/sda1/QD_Update/mks.deb /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_SOC; sync;");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
std::cout << "没有检测到qidi文件" << std::endl;
|
|
||||||
system("mv /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_SOC /home/mks/gcode_files/sda1/QD_Update/mks.deb; dpkg -i --force-overwrite /home/mks/gcode_files/sda1/QD_Update/mks.deb; mv /home/mks/gcode_files/sda1/QD_Update/mks.deb /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_SOC.bak; sync;");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (detected_soc_deb == true)
|
|
||||||
|
// if (detected_soc_data == true)
|
||||||
|
// {
|
||||||
|
// if (access("/home/mks/gcode_files/sda1/QD_factory_mode.txt", F_OK) == 0)
|
||||||
|
// {
|
||||||
|
// std::cout << "检测到qidi文件" << std::endl;
|
||||||
|
// system("mv /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_SOC /home/mks/gcode_files/sda1/QD_Update/mks.deb; dpkg -i --force-overwrite /home/mks/gcode_files/sda1/QD_Update/mks.deb; mv /home/mks/gcode_files/sda1/QD_Update/mks.deb /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_SOC; sync;");
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// if (access("/home/mks/gcode_files/sda1/QD_Update/QD_factory_mode.txt", F_OK) == 0)
|
||||||
|
// {
|
||||||
|
// std::cout << "检测到qidi文件" << std::endl;
|
||||||
|
// system("mv /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_SOC /home/mks/gcode_files/sda1/QD_Update/mks.deb; dpkg -i --force-overwrite /home/mks/gcode_files/sda1/QD_Update/mks.deb; mv /home/mks/gcode_files/sda1/QD_Update/mks.deb /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_SOC; sync;");
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// std::cout << "没有检测到qidi文件" << std::endl;
|
||||||
|
// system("mv /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_SOC /home/mks/gcode_files/sda1/QD_Update/mks.deb; dpkg -i --force-overwrite /home/mks/gcode_files/sda1/QD_Update/mks.deb; mv /home/mks/gcode_files/sda1/QD_Update/mks.deb /home/mks/gcode_files/sda1/QD_Update/QD_Mates3_SOC.bak; sync;");
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else if (detected_soc_deb == true)
|
||||||
|
if (detected_soc_deb == true)
|
||||||
{ // 4.4.3 CLL 修改deb文件可以更新
|
{ // 4.4.3 CLL 修改deb文件可以更新
|
||||||
if (access("/home/mks/gcode_files/sda1/QD_factory_mode.txt", F_OK) == 0)
|
if (access("/home/mks/gcode_files/sda1/QD_factory_mode.txt", F_OK) == 0)
|
||||||
{
|
{
|
||||||
system("dpkg -i --force-overwrite /home/mks/gcode_files/sda1/QD_Update/mks.deb;sync");
|
system("dpkg -i --force-overwrite /home/mks/gcode_files/sda1/QD_Update/mks.deb;sync");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (detected_q1_soc_data == true)
|
// else if (detected_q1_soc_data == true)
|
||||||
{
|
// {
|
||||||
if (access("/home/mks/gcode_files/sda1/QD_factory_mode.txt", F_OK) == 0)
|
// if (access("/home/mks/gcode_files/sda1/QD_factory_mode.txt", F_OK) == 0)
|
||||||
{
|
// {
|
||||||
std::cout << "检测到qidi文件" << std::endl;
|
// std::cout << "检测到qidi文件" << std::endl;
|
||||||
system("mv /home/mks/gcode_files/sda1/QD_Update/QD_Q1_SOC /home/mks/gcode_files/sda1/QD_Update/mks.deb; dpkg -i --force-overwrite /home/mks/gcode_files/sda1/QD_Update/mks.deb; mv /home/mks/gcode_files/sda1/QD_Update/mks.deb /home/mks/gcode_files/sda1/QD_Update/QD_Q1_SOC; sync;");
|
// system("mv /home/mks/gcode_files/sda1/QD_Update/QD_Q1_SOC /home/mks/gcode_files/sda1/QD_Update/mks.deb; dpkg -i --force-overwrite /home/mks/gcode_files/sda1/QD_Update/mks.deb; mv /home/mks/gcode_files/sda1/QD_Update/mks.deb /home/mks/gcode_files/sda1/QD_Update/QD_Q1_SOC; sync;");
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
if (access("/home/mks/gcode_files/sda1/QD_Update/QD_factory_mode.txt", F_OK) == 0)
|
// if (access("/home/mks/gcode_files/sda1/QD_Update/QD_factory_mode.txt", F_OK) == 0)
|
||||||
{
|
// {
|
||||||
std::cout << "检测到qidi文件" << std::endl;
|
// std::cout << "检测到qidi文件" << std::endl;
|
||||||
system("mv /home/mks/gcode_files/sda1/QD_Update/QD_Q1_SOC /home/mks/gcode_files/sda1/QD_Update/mks.deb; dpkg -i --force-overwrite /home/mks/gcode_files/sda1/QD_Update/mks.deb; mv /home/mks/gcode_files/sda1/QD_Update/mks.deb /home/mks/gcode_files/sda1/QD_Update/QD_Q1_SOC; sync;");
|
// system("mv /home/mks/gcode_files/sda1/QD_Update/QD_Q1_SOC /home/mks/gcode_files/sda1/QD_Update/mks.deb; dpkg -i --force-overwrite /home/mks/gcode_files/sda1/QD_Update/mks.deb; mv /home/mks/gcode_files/sda1/QD_Update/mks.deb /home/mks/gcode_files/sda1/QD_Update/QD_Q1_SOC; sync;");
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
std::cout << "没有检测到qidi文件" << std::endl;
|
// std::cout << "没有检测到qidi文件" << std::endl;
|
||||||
system("mv /home/mks/gcode_files/sda1/QD_Update/QD_Q1_SOC /home/mks/gcode_files/sda1/QD_Update/mks.deb; dpkg -i --force-overwrite /home/mks/gcode_files/sda1/QD_Update/mks.deb; mv /home/mks/gcode_files/sda1/QD_Update/mks.deb /home/mks/gcode_files/sda1/QD_Update/QD_Q1_SOC.bak; sync;");
|
// system("mv /home/mks/gcode_files/sda1/QD_Update/QD_Q1_SOC /home/mks/gcode_files/sda1/QD_Update/mks.deb; dpkg -i --force-overwrite /home/mks/gcode_files/sda1/QD_Update/mks.deb; mv /home/mks/gcode_files/sda1/QD_Update/mks.deb /home/mks/gcode_files/sda1/QD_Update/QD_Q1_SOC.bak; sync;");
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
update_finished_tips();
|
update_finished_tips();
|
||||||
}
|
}
|
||||||
|
|||||||
83
src/ui.cpp
83
src/ui.cpp
@@ -39,6 +39,7 @@ extern std::string str_gimage;
|
|||||||
// preview
|
// preview
|
||||||
|
|
||||||
// wifi start
|
// wifi start
|
||||||
|
extern struct mks_wifi_status_result_t status_result;
|
||||||
extern int page_wifi_ssid_list_pages;
|
extern int page_wifi_ssid_list_pages;
|
||||||
extern int page_wifi_current_pages;
|
extern int page_wifi_current_pages;
|
||||||
// wifi end
|
// wifi end
|
||||||
@@ -103,6 +104,8 @@ extern bool mks_file_parse_finished;
|
|||||||
extern int printer_extruder_temperature;
|
extern int printer_extruder_temperature;
|
||||||
extern int printer_extruder_target;
|
extern int printer_extruder_target;
|
||||||
|
|
||||||
|
extern int printer_heater_bed_target;
|
||||||
|
|
||||||
extern std::string printer_webhooks_state;
|
extern std::string printer_webhooks_state;
|
||||||
|
|
||||||
extern bool printer_ready;
|
extern bool printer_ready;
|
||||||
@@ -155,6 +158,8 @@ extern int connection_method;
|
|||||||
extern int current_server_page;
|
extern int current_server_page;
|
||||||
extern int total_server_count;
|
extern int total_server_count;
|
||||||
|
|
||||||
|
extern int mks_ethernet;
|
||||||
|
|
||||||
bool qr_refreshed = false; // CLL 此变量用于标记二维码刷新,仅在切换wifi、切换本地/互联网连接、修改服务器后需要重新刷新
|
bool qr_refreshed = false; // CLL 此变量用于标记二维码刷新,仅在切换wifi、切换本地/互联网连接、修改服务器后需要重新刷新
|
||||||
|
|
||||||
void parse_cmd_msg_from_tjc_screen(char *cmd) {
|
void parse_cmd_msg_from_tjc_screen(char *cmd) {
|
||||||
@@ -639,18 +644,30 @@ void tjc_event_clicked_handler(int page_id, int widget_id, int type_id) {
|
|||||||
switch (widget_id)
|
switch (widget_id)
|
||||||
{
|
{
|
||||||
case TJC_PAGE_ALL_TO_MAIN:
|
case TJC_PAGE_ALL_TO_MAIN:
|
||||||
page_to(TJC_PAGE_MAIN);
|
if (printer_print_stats_state == "printing" || printer_print_stats_state == "paused") {
|
||||||
|
page_to(TJC_PAGE_PRINTING);
|
||||||
|
jump_to_print = false;
|
||||||
|
} else
|
||||||
|
page_to(TJC_PAGE_MAIN);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TJC_PAGE_ALL_TO_FILE_LIST:
|
case TJC_PAGE_ALL_TO_FILE_LIST:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TJC_PAGE_ALL_TO_ADJUST:
|
case TJC_PAGE_ALL_TO_ADJUST:
|
||||||
go_to_adjust();
|
if (printer_print_stats_state == "printing" || printer_print_stats_state == "paused") {
|
||||||
|
page_to(TJC_PAGE_PRINTING);
|
||||||
|
jump_to_print = false;
|
||||||
|
} else
|
||||||
|
go_to_adjust();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TJC_PAGE_ALL_TO_SETTING:
|
case TJC_PAGE_ALL_TO_SETTING:
|
||||||
go_to_setting();
|
if (printer_print_stats_state == "printing" || printer_print_stats_state == "paused") {
|
||||||
|
page_to(TJC_PAGE_PRINTING);
|
||||||
|
jump_to_print = false;
|
||||||
|
} else
|
||||||
|
go_to_setting();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TJC_PAGE_PREVIEW_BACK:
|
case TJC_PAGE_PREVIEW_BACK:
|
||||||
@@ -696,6 +713,11 @@ void tjc_event_clicked_handler(int page_id, int widget_id, int type_id) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case TJC_PAGE_PREVIEW_BED_LEVELING:
|
case TJC_PAGE_PREVIEW_BED_LEVELING:
|
||||||
|
if (printer_print_stats_state == "printing" || printer_print_stats_state == "paused") {
|
||||||
|
page_to(TJC_PAGE_PRINTING);
|
||||||
|
jump_to_print = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (printer_bed_leveling == true) {
|
if (printer_bed_leveling == true) {
|
||||||
printer_bed_leveling = false;
|
printer_bed_leveling = false;
|
||||||
}else {
|
}else {
|
||||||
@@ -816,8 +838,8 @@ void tjc_event_clicked_handler(int page_id, int widget_id, int type_id) {
|
|||||||
set_intern_zoffset(0.1);
|
set_intern_zoffset(0.1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TJC_PAGE_PRINT_ZOFFSET_SET_1:
|
case TJC_PAGE_PRINT_ZOFFSET_SET_05:
|
||||||
set_intern_zoffset(1);
|
set_intern_zoffset(0.5);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TJC_PAGE_PRINT_ZOFFSET_UP:
|
case TJC_PAGE_PRINT_ZOFFSET_UP:
|
||||||
@@ -1366,8 +1388,7 @@ void tjc_event_clicked_handler(int page_id, int widget_id, int type_id) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case TJC_PAGE_LEVEL_MODE_BED_CALIBRATION:
|
case TJC_PAGE_LEVEL_MODE_BED_CALIBRATION:
|
||||||
manual_count = 4;
|
page_to(TJC_PAGE_CALIBRATE_WARNING);
|
||||||
bed_calibrate();
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TJC_PAGE_LEVEL_MODE_TO_COMMON_SETTING:
|
case TJC_PAGE_LEVEL_MODE_TO_COMMON_SETTING:
|
||||||
@@ -1416,6 +1437,10 @@ void tjc_event_clicked_handler(int page_id, int widget_id, int type_id) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case TJC_PAGE_AUTO_HEATERBED_NEXT:
|
case TJC_PAGE_AUTO_HEATERBED_NEXT:
|
||||||
|
if (printer_heater_bed_target < 35) {
|
||||||
|
page_to(TJC_PAGE_AUTO_WARNING);
|
||||||
|
break;
|
||||||
|
}
|
||||||
auto_level_button_enabled = true;
|
auto_level_button_enabled = true;
|
||||||
printer_idle_timeout_state = "Printing";
|
printer_idle_timeout_state = "Printing";
|
||||||
start_auto_level();
|
start_auto_level();
|
||||||
@@ -1454,8 +1479,8 @@ void tjc_event_clicked_handler(int page_id, int widget_id, int type_id) {
|
|||||||
set_auto_level_dist(0.1);
|
set_auto_level_dist(0.1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TJC_PAGE_PRE_BED_CALIBRATION_SET_1:
|
case TJC_PAGE_PRE_BED_CALIBRATION_SET_05:
|
||||||
set_auto_level_dist(1);
|
set_auto_level_dist(0.5);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TJC_PAGE_PRE_BED_CALIBRATION_UP:
|
case TJC_PAGE_PRE_BED_CALIBRATION_UP:
|
||||||
@@ -2120,6 +2145,15 @@ void tjc_event_clicked_handler(int page_id, int widget_id, int type_id) {
|
|||||||
go_to_network();
|
go_to_network();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TJC_PAGE_SHOW_QR_ETHERNET:
|
||||||
|
if (mks_ethernet == 1)
|
||||||
|
set_mks_ethernet(0);
|
||||||
|
else
|
||||||
|
set_mks_ethernet(1);
|
||||||
|
qr_refreshed = false;
|
||||||
|
go_to_showqr();
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2151,6 +2185,8 @@ void tjc_event_clicked_handler(int page_id, int widget_id, int type_id) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case TJC_PAGE_SERVER_SET_LOCAL:
|
case TJC_PAGE_SERVER_SET_LOCAL:
|
||||||
|
if (strcmp(status_result.wpa_state, "COMPLETED") != 0)
|
||||||
|
break;
|
||||||
if (connection_method == 1) {
|
if (connection_method == 1) {
|
||||||
set_mks_connection_method(0);
|
set_mks_connection_method(0);
|
||||||
connection_method = 0;
|
connection_method = 0;
|
||||||
@@ -2332,6 +2368,35 @@ void tjc_event_clicked_handler(int page_id, int widget_id, int type_id) {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TJC_PAGE_AUTO_WARNING:
|
||||||
|
switch (widget_id)
|
||||||
|
{
|
||||||
|
case TJC_PAGE_AUTO_WARNING_YES:
|
||||||
|
page_to(TJC_PAGE_AUTO_HEATERBED);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TJC_PAGE_CALIBRATE_WARNING:
|
||||||
|
switch (widget_id)
|
||||||
|
{
|
||||||
|
case TJC_PAGE_CALIBRATE_WARNING_NEXT:
|
||||||
|
manual_count = 4;
|
||||||
|
bed_calibrate();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TJC_PAGE_CALIBRATE_WARNING_BACK:
|
||||||
|
page_to(TJC_PAGE_LEVEL_MODE);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user