@@ -35,6 +35,7 @@ def __init__(self):
3535 self .makergear = False
3636 self .old_marlin_offset = 0
3737 self .repetier_firmware = False
38+ self .lerdge_firmware = False
3839 self .mesh = []
3940 self .bed = {}
4041 self .bed_type = None
@@ -48,8 +49,7 @@ def __init__(self):
4849 "octoprint.plugins.bedlevelvisualizer.debug"
4950 )
5051 self .regex_mesh_data = re .compile (
51- r"^((G33.+)|(Bed.+)|(Llit.+)|(\d+\s)|(\|\s*)|(\s*\[\s+)|(\[?\s?\+?-?\d+?\.\d+\]?\s*,?)|(\s?\.\s*)|(NAN,"
52- r"?)|(nan\s?,?)|(=======\s?,?)|(;-?\+?\d?.?\d+))+(\s+\],?)?$"
52+ r"^((G33.+)|(Bed.+)|(Llit.+)|(\d+\s)|(\|\s*)|(\s*\[\s+)|(\[?\s?\+?-?\d+?\.\d+\]?\s*,?)|(\s?\.\s*)|(NAN,?)|(nan\s?,?)|(=======\s?,?)|(;-?\+?\d?.?\d+)|(?:\d\(\d+\.\d+,\d+\.\d+,(-?\d+\.\d+)\)\s?)+)+(\s+\],?)?$"
5353 )
5454 self .regex_bed_level_correction = re .compile (
5555 r"^(Mesh )?Bed Level (Correction Matrix|data):.*$"
@@ -61,6 +61,7 @@ def __init__(self):
6161 self .regex_makergear = re .compile (
6262 r"^(\s=\s\[)(\s*,?\s*\[(\s?-?\d+.\d+,?)+\])+\];?$"
6363 )
64+ self .regex_lerdge_extraction = re .compile (r"\d\(\d+\.\d+,\d+\.\d+,(-?\d+\.\d+)\)\s?" )
6465 self .regex_repetier = re .compile (r"^G33 X.+$" )
6566 self .regex_nan = re .compile (r"(nan)" )
6667 self .regex_catmull = re .compile (
@@ -250,6 +251,10 @@ def process_gcode(self, comm, line, *args, **kwargs):
250251 line = self .regex_equal_signs .sub ("0.0" , line )
251252
252253 new_line = self .regex_mesh_data_extraction .findall (line )
254+
255+ if self .lerdge_firmware :
256+ new_line = self .regex_lerdge_extraction .findall (line )
257+
253258 self ._bedlevelvisualizer_logger .debug (new_line )
254259
255260 if self .regex_old_marlin .match (line .strip ()):
@@ -284,6 +289,9 @@ def process_gcode(self, comm, line, *args, **kwargs):
284289 if self .box [0 ][1 ] > self .box [3 ][1 ]:
285290 self .flip_y = True
286291
292+ elif line .strip () == "echo: The system starts to level automatically, please wait for finishing the leveling" :
293+ self .lerdge_firmware = True
294+
287295 elif self .regex_additional_mesh_data .findall (line .strip ()):
288296 self .additional_mesh_data .append (line .strip ())
289297
0 commit comments