meerk40t 0.9.7910__py2.py3-none-any.whl → 0.9.7930__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- meerk40t/balormk/controller.py +46 -13
- meerk40t/balormk/livelightjob.py +34 -7
- meerk40t/core/cutcode/plotcut.py +2 -1
- meerk40t/core/elements/branches.py +35 -14
- meerk40t/core/elements/clipboard.py +10 -12
- meerk40t/core/elements/elements.py +23 -0
- meerk40t/core/elements/geometry.py +48 -14
- meerk40t/core/elements/grid.py +56 -24
- meerk40t/core/elements/offset_clpr.py +2 -4
- meerk40t/core/elements/placements.py +17 -22
- meerk40t/core/elements/render.py +30 -11
- meerk40t/core/elements/shapes.py +205 -125
- meerk40t/core/spoolers.py +1 -1
- meerk40t/core/units.py +4 -0
- meerk40t/grbl/emulator.py +10 -8
- meerk40t/grbl/gcodejob.py +11 -3
- meerk40t/grbl/plugin.py +10 -1
- meerk40t/gui/wxmmain.py +7 -0
- meerk40t/lihuiyu/driver.py +2 -5
- meerk40t/main.py +1 -1
- meerk40t/ruida/emulator.py +12 -9
- meerk40t/ruida/plugin.py +5 -0
- meerk40t/ruida/rdjob.py +5 -5
- meerk40t/tools/geomstr.py +15 -0
- {meerk40t-0.9.7910.dist-info → meerk40t-0.9.7930.dist-info}/METADATA +1 -1
- {meerk40t-0.9.7910.dist-info → meerk40t-0.9.7930.dist-info}/RECORD +31 -31
- {meerk40t-0.9.7910.dist-info → meerk40t-0.9.7930.dist-info}/LICENSE +0 -0
- {meerk40t-0.9.7910.dist-info → meerk40t-0.9.7930.dist-info}/WHEEL +0 -0
- {meerk40t-0.9.7910.dist-info → meerk40t-0.9.7930.dist-info}/entry_points.txt +0 -0
- {meerk40t-0.9.7910.dist-info → meerk40t-0.9.7930.dist-info}/top_level.txt +0 -0
- {meerk40t-0.9.7910.dist-info → meerk40t-0.9.7930.dist-info}/zip-safe +0 -0
meerk40t/grbl/gcodejob.py
CHANGED
@@ -574,8 +574,10 @@ class GcodeJob:
|
|
574
574
|
# Numeric value format is not valid or missing an expected value.
|
575
575
|
return ERROR_NUMERIC_VALUE_INVALID
|
576
576
|
if 0.0 < v <= 1.0:
|
577
|
-
v *= 1000 # numbers between 0-1 are taken to be in range 0-
|
577
|
+
v *= 1000 # numbers between 0-1 are taken to be in range 0-1000.
|
578
578
|
if self.power != v:
|
579
|
+
# print(f"Setting power to {v}")
|
580
|
+
self.plot_commit() # Power change means plot change
|
579
581
|
try:
|
580
582
|
self._driver.set("power", v)
|
581
583
|
except AttributeError:
|
@@ -707,12 +709,18 @@ class GcodeJob:
|
|
707
709
|
if power is None:
|
708
710
|
power = 1000
|
709
711
|
power = min(1000, power)
|
712
|
+
# print (f"Plotting location: ({x}, {y}) with power {power} (self.power={self.power})")
|
710
713
|
if self.plotcut is None:
|
711
714
|
ox, oy = matrix.transform_point([self.x, self.y])
|
712
|
-
|
715
|
+
p = power if power else self.power
|
716
|
+
if p is None:
|
717
|
+
p = 1000
|
718
|
+
settings = {"speed": self.speed, "power": p}
|
719
|
+
self.plotcut = PlotCut(settings=settings)
|
713
720
|
self.plotcut.plot_init(int(round(ox)), int(round(oy)))
|
714
721
|
tx, ty = matrix.transform_point([x, y])
|
715
|
-
self.
|
722
|
+
on = power / self.power if self.power else 0
|
723
|
+
self.plotcut.plot_append(int(round(tx)), int(round(ty)), on)
|
716
724
|
if not self.program_mode:
|
717
725
|
self.plot_commit()
|
718
726
|
self.x = x
|
meerk40t/grbl/plugin.py
CHANGED
@@ -175,7 +175,9 @@ def plugin(kernel, lifecycle=None):
|
|
175
175
|
{
|
176
176
|
"provider": "provider/device/grbl",
|
177
177
|
"friendly_name": _("Longer Ray5 (GRBL)"),
|
178
|
-
"extended_info": _(
|
178
|
+
"extended_info": _(
|
179
|
+
"Longer-branded 5w/10w/20w grbl diode laser.\nMake sure you verify your bed size! This machine has several upgrade kits."
|
180
|
+
),
|
179
181
|
"priority": 21,
|
180
182
|
"family": _("Longer Diode-Laser"),
|
181
183
|
"choices": [
|
@@ -229,9 +231,13 @@ def plugin(kernel, lifecycle=None):
|
|
229
231
|
hidden=True,
|
230
232
|
)
|
231
233
|
def grblserver(
|
234
|
+
command,
|
235
|
+
channel,
|
236
|
+
_,
|
232
237
|
port=23,
|
233
238
|
verbose=False,
|
234
239
|
quit=False,
|
240
|
+
remainder=None,
|
235
241
|
**kwargs,
|
236
242
|
):
|
237
243
|
"""
|
@@ -239,10 +245,13 @@ def plugin(kernel, lifecycle=None):
|
|
239
245
|
this emulates a grbl devices in order to be compatible with software that
|
240
246
|
controls that type of device.
|
241
247
|
"""
|
248
|
+
if remainder and remainder.lower() in ("stop", "quit"):
|
249
|
+
quit = True
|
242
250
|
root = kernel.root
|
243
251
|
grblcontrol = root.device.lookup("grblcontrol")
|
244
252
|
if grblcontrol is None:
|
245
253
|
if quit:
|
254
|
+
channel(_("No control instance to stop."))
|
246
255
|
return
|
247
256
|
grblcontrol = GRBLControl(root)
|
248
257
|
root.device.register("grblcontrol", grblcontrol)
|
meerk40t/gui/wxmmain.py
CHANGED
@@ -4836,6 +4836,13 @@ class MeerK40t(MWindow):
|
|
4836
4836
|
return True
|
4837
4837
|
if answer == wx.CANCEL:
|
4838
4838
|
return True # VETO
|
4839
|
+
for job in self.context.device.spooler.queue:
|
4840
|
+
if job.is_running():
|
4841
|
+
print(f"{job.label} was still running, stopping...")
|
4842
|
+
try:
|
4843
|
+
job.stop()
|
4844
|
+
except Exception as e:
|
4845
|
+
print(f"Error stopping job {job.label}: {e}")
|
4839
4846
|
return False
|
4840
4847
|
|
4841
4848
|
def window_close(self):
|
meerk40t/lihuiyu/driver.py
CHANGED
@@ -1068,11 +1068,8 @@ class LihuiyuDriver(Parameters):
|
|
1068
1068
|
self.state = DRIVER_STATE_MODECHANGE
|
1069
1069
|
|
1070
1070
|
def _set_power(self, power=1000.0):
|
1071
|
-
self.power = power
|
1072
|
-
|
1073
|
-
self.power = 1000.0
|
1074
|
-
if self.power <= 0:
|
1075
|
-
self.power = 0.0
|
1071
|
+
self.power = min(1000, max(0, power))
|
1072
|
+
self.settings["power"] = self.power
|
1076
1073
|
if self.service.supports_pwm:
|
1077
1074
|
self.send_at_pwm_code(self.power)
|
1078
1075
|
|
meerk40t/main.py
CHANGED
meerk40t/ruida/emulator.py
CHANGED
@@ -161,6 +161,15 @@ class RuidaEmulator:
|
|
161
161
|
if self.channel:
|
162
162
|
self.channel(f"Process Failure: {str(bytes(array).hex())}")
|
163
163
|
|
164
|
+
def _home_device(self):
|
165
|
+
if hasattr(self.device.driver, "physical_home"):
|
166
|
+
# If the driver has a physical home, we can use that.
|
167
|
+
self.device.driver.physical_home()
|
168
|
+
elif hasattr(self.device.driver, "home"):
|
169
|
+
self.device.driver.home()
|
170
|
+
else:
|
171
|
+
self.device.driver.move_abs(0, 0)
|
172
|
+
|
164
173
|
def _channel(self, text):
|
165
174
|
if self.channel:
|
166
175
|
self.channel(text)
|
@@ -357,7 +366,7 @@ class RuidaEmulator:
|
|
357
366
|
self._describe(array, "Stop Process")
|
358
367
|
try:
|
359
368
|
self.device.driver.reset()
|
360
|
-
self.
|
369
|
+
self._home_device()
|
361
370
|
except AttributeError:
|
362
371
|
pass
|
363
372
|
return True
|
@@ -383,10 +392,7 @@ class RuidaEmulator:
|
|
383
392
|
return True
|
384
393
|
elif array[1] == 0x2A:
|
385
394
|
self._describe(array, "Home XY")
|
386
|
-
|
387
|
-
self.device.driver.home()
|
388
|
-
except AttributeError:
|
389
|
-
pass
|
395
|
+
self._home_device()
|
390
396
|
return True
|
391
397
|
elif array[1] == 0x2E:
|
392
398
|
self._describe(array, "FocusZ")
|
@@ -637,10 +643,7 @@ class RuidaEmulator:
|
|
637
643
|
except AttributeError:
|
638
644
|
pass
|
639
645
|
else:
|
640
|
-
|
641
|
-
self.device.driver.home()
|
642
|
-
except AttributeError:
|
643
|
-
pass
|
646
|
+
self._home_device()
|
644
647
|
elif array[1] == 0x30 or array[1] == 0x70:
|
645
648
|
x = abscoord(array[3:8])
|
646
649
|
y = abscoord(array[8:13])
|
meerk40t/ruida/plugin.py
CHANGED
@@ -93,6 +93,7 @@ def plugin(kernel, lifecycle=None):
|
|
93
93
|
jogless=False,
|
94
94
|
man_in_the_middle=None,
|
95
95
|
bridge=False,
|
96
|
+
remainder=None,
|
96
97
|
**kwargs,
|
97
98
|
):
|
98
99
|
"""
|
@@ -101,10 +102,14 @@ def plugin(kernel, lifecycle=None):
|
|
101
102
|
controls that type of device. This would then be sent to the device in a
|
102
103
|
somewhat agnostic fashion.
|
103
104
|
"""
|
105
|
+
if remainder and remainder.lower() in ("stop", "quit"):
|
106
|
+
quit = True
|
107
|
+
|
104
108
|
root = kernel.root
|
105
109
|
ruidacontrol = root.device.lookup("ruidacontrol")
|
106
110
|
if ruidacontrol is None:
|
107
111
|
if quit:
|
112
|
+
channel(_("No control instance to stop."))
|
108
113
|
return
|
109
114
|
ruidacontrol = RuidaControl(root)
|
110
115
|
root.device.register("ruidacontrol", ruidacontrol)
|
meerk40t/ruida/rdjob.py
CHANGED
@@ -663,6 +663,7 @@ class RDJob:
|
|
663
663
|
self.x = x
|
664
664
|
self.y = y
|
665
665
|
ox, oy = matrix.transform_point([self.x, self.y])
|
666
|
+
# print (f"Will generate plotcut with power: {self.power}")
|
666
667
|
self.plotcut = PlotCut(
|
667
668
|
settings={
|
668
669
|
"speed": self.speed,
|
@@ -672,9 +673,8 @@ class RDJob:
|
|
672
673
|
)
|
673
674
|
self.plotcut.plot_init(int(round(ox)), int(round(oy)))
|
674
675
|
tx, ty = matrix.transform_point([x, y])
|
675
|
-
self.
|
676
|
-
|
677
|
-
)
|
676
|
+
# power is not a fraction of self.power, but just denoting laser on or off.
|
677
|
+
self.plotcut.plot_append(int(round(tx)), int(round(ty)), power)
|
678
678
|
self.x = x
|
679
679
|
self.y = y
|
680
680
|
|
@@ -1276,7 +1276,7 @@ class RDJob:
|
|
1276
1276
|
else:
|
1277
1277
|
desc = "Unknown Command!"
|
1278
1278
|
if self.channel:
|
1279
|
-
prefix = f"{offset:06x}" if offset is not None else
|
1279
|
+
prefix = f"{offset:06x}" if offset is not None else ""
|
1280
1280
|
self.channel(f"{prefix}-**-> {str(bytes(array).hex())}\t({desc})")
|
1281
1281
|
|
1282
1282
|
def unswizzle(self, data):
|
@@ -1422,7 +1422,7 @@ class RDJob:
|
|
1422
1422
|
self.laser_device_0()
|
1423
1423
|
if air == 1:
|
1424
1424
|
self.air_assist_on()
|
1425
|
-
elif air==2:
|
1425
|
+
elif air == 2:
|
1426
1426
|
self.air_assist_off()
|
1427
1427
|
self.speed_laser_1(speed)
|
1428
1428
|
self.laser_on_delay(0)
|
meerk40t/tools/geomstr.py
CHANGED
@@ -658,6 +658,14 @@ class Pattern:
|
|
658
658
|
current = 0j
|
659
659
|
|
660
660
|
for entry in pattern(a, b, *args, **kwargs):
|
661
|
+
if (
|
662
|
+
not isinstance(entry, (list, tuple))
|
663
|
+
or len(entry) < 3
|
664
|
+
or np.isnan(entry[1])
|
665
|
+
or np.isnan(entry[2])
|
666
|
+
):
|
667
|
+
# If the entry is not a list or tuple, or if the first element is NaN, we just skip it.
|
668
|
+
continue
|
661
669
|
key = entry[0].lower()
|
662
670
|
if key == "m":
|
663
671
|
current = complex(entry[1], entry[2])
|
@@ -715,6 +723,13 @@ class Pattern:
|
|
715
723
|
@param y1:
|
716
724
|
@return:
|
717
725
|
"""
|
726
|
+
try:
|
727
|
+
if np.isnan(x0) or np.isnan(y0) or np.isnan(x1) or np.isnan(y1):
|
728
|
+
# If any of the coordinates are NaN, we cannot generate a pattern.
|
729
|
+
return Geomstr()
|
730
|
+
except TypeError:
|
731
|
+
# If the coordinates are not numbers, we cannot generate a pattern.
|
732
|
+
return Geomstr()
|
718
733
|
cw = self.cell_width
|
719
734
|
ch = self.cell_height
|
720
735
|
px = self.padding_x
|
@@ -3,17 +3,17 @@ meerk40t/constants.py,sha256=iTcOFJF_MLo3Ugms_A5kyz5MM0Ln9ZlZweMepW6Peto,203
|
|
3
3
|
meerk40t/external_plugins.py,sha256=OQ2475hUr9KJDmrIip4zyf-851igd5n6IIMrsAvnA-U,2126
|
4
4
|
meerk40t/external_plugins_build.py,sha256=8pwgdxSpsQMdiXJAX9kXQUc0-Dw9AMBgBfcLbTLAKfI,857
|
5
5
|
meerk40t/internal_plugins.py,sha256=lMslowIIev1t1mf_VTewNwNgFLn1W2xTCqa9Je00Bjw,3455
|
6
|
-
meerk40t/main.py,sha256=
|
6
|
+
meerk40t/main.py,sha256=U3iU2hf4cLWHDjPvtdmN_Kue-HllcQtyJ_eBQ1ZJ354,7572
|
7
7
|
meerk40t/svgelements.py,sha256=OlHkjm9kDgx6ARGJ3M2Fyd2kMi06kWJizEt8zzV5xX8,333052
|
8
8
|
meerk40t/balormk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
9
|
meerk40t/balormk/balor_params.py,sha256=S-kwGaHfBtXWDgtZlaudvQN_HkXPqlQyp8xVh5iSxW0,4290
|
10
10
|
meerk40t/balormk/clone_loader.py,sha256=L2aMhCgvbKynqXcX3bVnvEtrL9EN26PBXNABUuEAJlU,20815
|
11
|
-
meerk40t/balormk/controller.py,sha256=
|
11
|
+
meerk40t/balormk/controller.py,sha256=cOrSTNuu9z8l2AfiHr8j4q5ATv9Na72U2seWEf6CJss,50229
|
12
12
|
meerk40t/balormk/cylindermod.py,sha256=uHcH9gDJffr9hoLwkFp0frFeBRsUiGg9MJZjMx3F0z0,2223
|
13
13
|
meerk40t/balormk/device.py,sha256=LjKr8lvACsKpb57RsGPo7m38IElJAotajMMzWlmqzgU,33735
|
14
14
|
meerk40t/balormk/driver.py,sha256=iFgQ6EoSTvCNDjJGqJTIeRmTw-HE1x7gRO47U0fjb7U,27909
|
15
15
|
meerk40t/balormk/galvo_commands.py,sha256=b09BinrPWwo4KYTMVdUFGtk_jGl1wEwngfSGwaqsK7g,42584
|
16
|
-
meerk40t/balormk/livelightjob.py,sha256=
|
16
|
+
meerk40t/balormk/livelightjob.py,sha256=sios52dTkUnE_z6Zek0L0WYbVS-h9lKD5HcugIVk2Fk,17962
|
17
17
|
meerk40t/balormk/mock_connection.py,sha256=FCaInibW3wkGAL8GTqsB1As4Yfv0u33k6soTpC6hjcs,4295
|
18
18
|
meerk40t/balormk/plugin.py,sha256=NhZ0oGJM_msmradpn2QkBgjukPO4_r_-aonLNTZcaVM,4887
|
19
19
|
meerk40t/balormk/usb_connection.py,sha256=A6xgGKfjH95xdwJi2ytsKVj-GtsvhFeItkjykVRrgfI,11374
|
@@ -46,11 +46,11 @@ meerk40t/core/parameters.py,sha256=cJYN0KAmvP8Iho2JdDucP2Q68vlj0nRI6aVK-Qdr3PE,1
|
|
46
46
|
meerk40t/core/planner.py,sha256=CG7ygD96hWUZdGYPqpMR1qvevB929oIs0QbYnv55Syg,36711
|
47
47
|
meerk40t/core/plotplanner.py,sha256=p_YsaSoPAdvCL1aAsY2q8sfHwCMwRPP-SG9ebcTnZbo,23177
|
48
48
|
meerk40t/core/space.py,sha256=0Epmr5hYHkw1shU1OiEt_tK9eq7BRc8XWhRn7tQ6Po8,4002
|
49
|
-
meerk40t/core/spoolers.py,sha256=
|
49
|
+
meerk40t/core/spoolers.py,sha256=PMG-BR78EfroPTnjh--fYbfh_-j1yx5dT0qzX_mpRuQ,25091
|
50
50
|
meerk40t/core/svg_io.py,sha256=aBIHEGiAp5q3xTPFumA0kfhFb0Yd9Wp-uIU1zOsMS1Y,70520
|
51
51
|
meerk40t/core/treeop.py,sha256=_L8Vv5Gp2JPxFzOZxsU17XiVFVrusmzLOHo5QtCH5CA,15190
|
52
52
|
meerk40t/core/undos.py,sha256=VAvR4RZXp-jQC498JdqXYqyy2g28e3e6P7rnIfdH50A,11049
|
53
|
-
meerk40t/core/units.py,sha256=
|
53
|
+
meerk40t/core/units.py,sha256=82L3aJGPqd_eIPkuo28dH_Y9O03y2k3BHWmoqooysps,23352
|
54
54
|
meerk40t/core/view.py,sha256=4y5DI0b9C0FTSQvMo-5Sf2c-Qvc3zZjwUM2zLqr5UI0,12641
|
55
55
|
meerk40t/core/webhelp.py,sha256=2IuysYKzjQnIObombd1tTQmEqsdvpumh-xBTyr3Z4iM,2807
|
56
56
|
meerk40t/core/wordlist.py,sha256=Rta262IKuSdNwYliLhgNUI0lcR2nOlvtMH10zKvD7eo,18325
|
@@ -65,28 +65,28 @@ meerk40t/core/cutcode/homecut.py,sha256=fsYY2MPU68hY5WScM2atnRhWcKtReb9ePzB_L0uC
|
|
65
65
|
meerk40t/core/cutcode/inputcut.py,sha256=-xyCRLjxT-CoKIU0LfITWmwnKzW75HGd_yDhKUZK8WM,742
|
66
66
|
meerk40t/core/cutcode/linecut.py,sha256=QRXfSTa0iAQFKBFhBO2qXGt5vF_LZMeP-BGa0QX35TA,919
|
67
67
|
meerk40t/core/cutcode/outputcut.py,sha256=xiYWfGw0L17Fc6QHXIgjbHfNGnHeMlW_VPIIZy9KBr0,752
|
68
|
-
meerk40t/core/cutcode/plotcut.py,sha256=
|
68
|
+
meerk40t/core/cutcode/plotcut.py,sha256=FUufzVnT_k2X5Ni3sh78oRUJW-0ePb1Nu9ISDqieJBw,10737
|
69
69
|
meerk40t/core/cutcode/quadcut.py,sha256=zMZ_KRv0fWdXwrZgPTidZ6UqqzTV9hP63POivxXmVIk,1592
|
70
70
|
meerk40t/core/cutcode/rastercut.py,sha256=azBJhFJS1zhRhjUUvB553HHKDpts_eDijKdXerUKwTg,4793
|
71
71
|
meerk40t/core/cutcode/waitcut.py,sha256=E5dOO5-LBUVBcP9_qClPkChYBNhQ8ElwucWqEkTlgRE,866
|
72
72
|
meerk40t/core/elements/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
73
73
|
meerk40t/core/elements/align.py,sha256=r68DOSr9DgkwbT8BvjoPGxtgJv52Hyz0YDMIFFIgMkA,30177
|
74
|
-
meerk40t/core/elements/branches.py,sha256=
|
75
|
-
meerk40t/core/elements/clipboard.py,sha256=
|
74
|
+
meerk40t/core/elements/branches.py,sha256=TH6VXV9rtwCnOqP_RrtDW_YPhWfhAlA4HeYT6KsF0L0,67382
|
75
|
+
meerk40t/core/elements/clipboard.py,sha256=RXS3nYKmDmonYDIyYQTSaQTy19ezTLYXelwJ2dciILo,8190
|
76
76
|
meerk40t/core/elements/element_treeops.py,sha256=D2PzNY9NbMU_Qp9tVvs9G5IGdiSHruI1-Ik91nrYm6M,174699
|
77
77
|
meerk40t/core/elements/element_types.py,sha256=MvHz7cYG1s4wAB215ZlEd1i4zanc2vv8iOxWzU0J4ys,2334
|
78
|
-
meerk40t/core/elements/elements.py,sha256=
|
78
|
+
meerk40t/core/elements/elements.py,sha256=pkzMO1xUunhr1RvbMPR5QHJY-1JzsImAWJL4NdZ38hE,181797
|
79
79
|
meerk40t/core/elements/files.py,sha256=cuZPrRmvLqdhQ0Nft4Bm4yDQjI44mMR08AMEHSYAfOQ,4548
|
80
|
-
meerk40t/core/elements/geometry.py,sha256=
|
81
|
-
meerk40t/core/elements/grid.py,sha256=
|
80
|
+
meerk40t/core/elements/geometry.py,sha256=tvIz3Rbr-yhwwcJjlAL8zQqhfHlDvi7CJ9M6NYtQ5vU,19464
|
81
|
+
meerk40t/core/elements/grid.py,sha256=ub3AV44gFjqz3RecaQl-nQWpPgQZaaCY08D29toBApk,19639
|
82
82
|
meerk40t/core/elements/materials.py,sha256=FvypUyQ7hVf3fP8_cyLKYFGra9c-4rRgnUF1F_hd6Es,5873
|
83
83
|
meerk40t/core/elements/notes.py,sha256=tReyNmqe5YwC2IntMJZ8f0qvKw0oH0RU5He34TKfgt4,1781
|
84
|
-
meerk40t/core/elements/offset_clpr.py,sha256=
|
84
|
+
meerk40t/core/elements/offset_clpr.py,sha256=XZ7fA9nUdbhBUdJUD6qkyDirmBLOs7-DBJM44yWOhWI,35562
|
85
85
|
meerk40t/core/elements/offset_mk.py,sha256=LUjGbVgvPsHyy5T6AsB65Icok-SYl-GBJWyigdcRgfQ,37917
|
86
86
|
meerk40t/core/elements/penbox.py,sha256=kW162SViOSMxJukBHafQa1i0H0qfgPhiPWbw3NrB8fs,12837
|
87
|
-
meerk40t/core/elements/placements.py,sha256=
|
88
|
-
meerk40t/core/elements/render.py,sha256=
|
89
|
-
meerk40t/core/elements/shapes.py,sha256=
|
87
|
+
meerk40t/core/elements/placements.py,sha256=4h45hmeSBhhxd6Bi_peq_-dNmUmHHXCFAY9df5UP3gs,10901
|
88
|
+
meerk40t/core/elements/render.py,sha256=x9wU_cGjXPWOjcTl_X4dtAIAJEs4YzIJpJPrH2TGriQ,27806
|
89
|
+
meerk40t/core/elements/shapes.py,sha256=wkH68VLcl2jM1f7geQbV--lKIBOhBGjDkCnk7R5Tvg8,111438
|
90
90
|
meerk40t/core/elements/testcases.py,sha256=4Oqq2ruNh_E71LmxHkSUC93Bo6_A8GPDamw73xJolHk,3758
|
91
91
|
meerk40t/core/elements/trace.py,sha256=OT2hWFKAVflHJS1BHu12zoUyohFpIFzvEvlfGArgZug,20427
|
92
92
|
meerk40t/core/elements/tree_commands.py,sha256=KkB1h3FSNNpflBEsJfLEhFGDR3q2IsJHCSGyXYS4BQE,14612
|
@@ -179,12 +179,12 @@ meerk40t/grbl/control.py,sha256=WiWMOzXOvmIu1EWHHsGYN0o2sg5Pe33svWsfbRjuCPg,2622
|
|
179
179
|
meerk40t/grbl/controller.py,sha256=zxQ733MFzgEssaQ1NlxPyAqzqf3fLH39evDxVjyMHK4,42040
|
180
180
|
meerk40t/grbl/device.py,sha256=C30K5_9uwKjy9mrc6TYBM2gKW1Xc3lvvQJcSnNQPbo4,44216
|
181
181
|
meerk40t/grbl/driver.py,sha256=npde5mUwUkP3ZdCrnwx3TdF_O5F0LF6XbRXLHNFIYY4,33286
|
182
|
-
meerk40t/grbl/emulator.py,sha256=
|
183
|
-
meerk40t/grbl/gcodejob.py,sha256=
|
182
|
+
meerk40t/grbl/emulator.py,sha256=tTBipjjzH6VGRamyHG_paQqIbJQxAIed9t__Sr8l1No,21910
|
183
|
+
meerk40t/grbl/gcodejob.py,sha256=lkxlmUE8-aTcZxYt7XbUzXct2cR0MZacr1iBqWMmEcU,29644
|
184
184
|
meerk40t/grbl/interpreter.py,sha256=jzUess5Ywxj_O9pkZL3gAWdRmBiGvRetRWt9SDC39sY,1569
|
185
185
|
meerk40t/grbl/loader.py,sha256=UbXfTCJdkRbQBrEvlKcrZ2cfGiz8NJC8heyIOGYpyqo,596
|
186
186
|
meerk40t/grbl/mock_connection.py,sha256=p-J8u1znNdNJ7olprZF-A5Ki9Kd_5Wls_oHH_85aVv4,1797
|
187
|
-
meerk40t/grbl/plugin.py,sha256=
|
187
|
+
meerk40t/grbl/plugin.py,sha256=nbZ4T9lj8K6SZco2eAvbS9jqUyvS3KGgu1tXyASa_U4,10856
|
188
188
|
meerk40t/grbl/serial_connection.py,sha256=n0Uqvx_4K3KNpPWpvveRUF19uQ1gFDSVQ2-TFTfaCus,3188
|
189
189
|
meerk40t/grbl/tcp_connection.py,sha256=Wlr2CXGBCiedfEuxArgLqPLpO9ybaYzk-WEqt93nAvQ,2741
|
190
190
|
meerk40t/grbl/ws_connection.py,sha256=Vr2EqJvtgrEHPIJPpb5-FO7gOz1H5o6Qto5T0se_iz8,4028
|
@@ -240,7 +240,7 @@ meerk40t/gui/tips.py,sha256=gJhKbNA7UKeJXgfTC3UYjAX8OHfcXjb0Ew6XwM2BOwo,22132
|
|
240
240
|
meerk40t/gui/usbconnect.py,sha256=1kznvNlXlT14NCev1PngYFmvmTKXLGxoti94FuoWF28,3018
|
241
241
|
meerk40t/gui/wordlisteditor.py,sha256=PHuz9wEkyGtK2IuoRTZvI1xHJ_rC6p6kEmUnLFQZlxI,36955
|
242
242
|
meerk40t/gui/wxmeerk40t.py,sha256=VlIn5N2vxt6a9rEUd-2XgX67pHwo20kJI-J-XcGXKFo,55540
|
243
|
-
meerk40t/gui/wxmmain.py,sha256=
|
243
|
+
meerk40t/gui/wxmmain.py,sha256=xqM8SmX0qataIvcz6nZwbJNsUTuUXax3v4npsskG-1U,215072
|
244
244
|
meerk40t/gui/wxmribbon.py,sha256=-qiWL0c2fNfl6d-bwHF_PROKy3i34aTs9ujCaw37tYU,61708
|
245
245
|
meerk40t/gui/wxmscene.py,sha256=KVx8DMjWwWd1HidaldYKChhYTlaSz5QzvGm-dFPyzYU,71657
|
246
246
|
meerk40t/gui/wxmtree.py,sha256=_guVz39SxL7xQ_OoX7U6OvqrQ9eSbXnPzlI40G03VMc,93430
|
@@ -359,7 +359,7 @@ meerk40t/kernel/states.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
359
359
|
meerk40t/lihuiyu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
360
360
|
meerk40t/lihuiyu/controller.py,sha256=VGnoWfs13JMUNXg7t2nzGW3OIt27UYXkzFoT1Lv1yWs,32973
|
361
361
|
meerk40t/lihuiyu/device.py,sha256=lhNQ__lnLhARhuCDUwl54vDtzOXSrSArk7tFblkMy7Y,49802
|
362
|
-
meerk40t/lihuiyu/driver.py,sha256=
|
362
|
+
meerk40t/lihuiyu/driver.py,sha256=TeFjAKOK4pnjRWNhhBf9_rmcynBi1UtRvKIFPaS2BQg,49991
|
363
363
|
meerk40t/lihuiyu/interpreter.py,sha256=BzzWGREVHnmqO1E3hRWA5vLdwqE59oiDo7ePqtP1RZo,1639
|
364
364
|
meerk40t/lihuiyu/laserspeed.py,sha256=GkcUlOVjkSwtybhosS05Wd7tVo8EM0dIfqpIPf2hta0,16351
|
365
365
|
meerk40t/lihuiyu/loader.py,sha256=zwOINnkqfVlVjY-MQIBpF6BtpiTRGO7EzaaH-oRUOAY,2618
|
@@ -412,12 +412,12 @@ meerk40t/ruida/control.py,sha256=ir9uddn_hZ-QjPxGWBKLc6xy1JtqXVBE904lLR63dUA,104
|
|
412
412
|
meerk40t/ruida/controller.py,sha256=RIdFegB_tuaI1q2Asl3pXNTERMVvl8ltYL9kQNy4mTU,3460
|
413
413
|
meerk40t/ruida/device.py,sha256=iojk8_ry5chLCBGnYfgG7tPddhFQQf-ncS5UOFi5P8Y,23656
|
414
414
|
meerk40t/ruida/driver.py,sha256=4Hgm5ptXjARThqf76k1AqznpHl7PgJ7FIZwswnFlKPg,17340
|
415
|
-
meerk40t/ruida/emulator.py,sha256=
|
415
|
+
meerk40t/ruida/emulator.py,sha256=IUaJv-7JwARa6AyJFKanYtJBjJS6aJkF-Yaqe3lg2XI,55517
|
416
416
|
meerk40t/ruida/exceptions.py,sha256=xJtpaxuLOLANQuo15p6Fl0Lgq3eUwODCIsWw0TQm78s,116
|
417
417
|
meerk40t/ruida/loader.py,sha256=8gHnKX3D5V7qQltvueO-m6X9-xARjVEl8rjYIpKqLbk,1516
|
418
418
|
meerk40t/ruida/mock_connection.py,sha256=Qig2x5s01f6U3BKHNlZockyaJTWHhfgcVV6w895R8R4,1577
|
419
|
-
meerk40t/ruida/plugin.py,sha256=
|
420
|
-
meerk40t/ruida/rdjob.py,sha256=
|
419
|
+
meerk40t/ruida/plugin.py,sha256=NRuDolYS-HNrxShEPRxhFlcLS8LCHJllWZd038agXOY,4279
|
420
|
+
meerk40t/ruida/rdjob.py,sha256=JzQl4lEWnMdv33OiIdrW3C3JD6gEPJvu_u4UuK1eJJY,71977
|
421
421
|
meerk40t/ruida/serial_connection.py,sha256=RJ95TX933rAD3eUL2Uz48xwhm-7wm1m3Jo-Tv6jsypk,3573
|
422
422
|
meerk40t/ruida/tcp_connection.py,sha256=3utEZQDDUI6DzYJP83RABoXAFB-wEYGVRaoNsuWqCqE,4657
|
423
423
|
meerk40t/ruida/udp_connection.py,sha256=S6eSoh9smYWmax6VdSOTJyc9ixEStgvy7bWVkHgqtDU,2130
|
@@ -428,7 +428,7 @@ meerk40t/ruida/gui/ruidacontroller.py,sha256=nJpZPW-dy7YbxxLnHzmYcU6guc-6tK1oJIw
|
|
428
428
|
meerk40t/ruida/gui/ruidaoperationproperties.py,sha256=pMEZFyWHDsbzoIfIKrFrKsw2IDPEK2HhHDw3HDQM3dw,1002
|
429
429
|
meerk40t/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
430
430
|
meerk40t/tools/driver_to_path.py,sha256=eeQOGZO-08CJBqeF9epQv-P7T3dcpP2grMILW5LLd3U,20851
|
431
|
-
meerk40t/tools/geomstr.py,sha256=
|
431
|
+
meerk40t/tools/geomstr.py,sha256=kSR9E-LRxZuA1hzYCnk1nf_YwHB5RqQee1QoMG4CPJg,208380
|
432
432
|
meerk40t/tools/jhfparser.py,sha256=CGC9C2cthrMWfUfumFs5EBzVCUP4PldwIqkf1Qhq52k,14395
|
433
433
|
meerk40t/tools/kerftest.py,sha256=dtm4sP-cXQdwr3tkEImif30lnd1tyEYGxnN6vUTWe2M,36449
|
434
434
|
meerk40t/tools/livinghinges.py,sha256=oO9ERPh2ILXpJj3-DvYyA3P7Y6FR2ACf3dbBehJlgR4,46949
|
@@ -440,10 +440,10 @@ meerk40t/tools/rasterplotter.py,sha256=pfIIwWjBaVnJQH2dSyfj7nj-cAK7AGmTU0kD6dBzz
|
|
440
440
|
meerk40t/tools/shxparser.py,sha256=5CPV4HW5ulH71hWtiIFMFj0-Jn4-OqXRCdaimjOSfOs,35169
|
441
441
|
meerk40t/tools/ttfparser.py,sha256=Dqd8msoqiaJAyFQ-Kdr3sBGyi5QxJFq0EOVf6-LM4Ac,61301
|
442
442
|
meerk40t/tools/zinglplotter.py,sha256=wsXA9jnORb0AR0Bvrhcow-hROJhgDeLRcE8DmnEbiWo,20164
|
443
|
-
meerk40t-0.9.
|
444
|
-
meerk40t-0.9.
|
445
|
-
meerk40t-0.9.
|
446
|
-
meerk40t-0.9.
|
447
|
-
meerk40t-0.9.
|
448
|
-
meerk40t-0.9.
|
449
|
-
meerk40t-0.9.
|
443
|
+
meerk40t-0.9.7930.dist-info/LICENSE,sha256=sMsd9pY-cLfcNzUkQ2DvZobE0qpiiLMmoPfJMBTznNY,1065
|
444
|
+
meerk40t-0.9.7930.dist-info/METADATA,sha256=Z6pG-w2XQmvbJfn9Ih7qz0alxr3beE4ZZcnHUDClk0s,8014
|
445
|
+
meerk40t-0.9.7930.dist-info/WHEEL,sha256=Ll72iyqtt6Rbxp-Q7FSafYA1LeRv98X15xcZWRsFEmY,109
|
446
|
+
meerk40t-0.9.7930.dist-info/entry_points.txt,sha256=5KjPHpJvgQq3-SwLWJQtLE1BvfGeINBae3Josx6fgpk,47
|
447
|
+
meerk40t-0.9.7930.dist-info/top_level.txt,sha256=ng4SDtNom2u-smf8sCHERr74HYQIOJOjZbBlDdlpvjU,9
|
448
|
+
meerk40t-0.9.7930.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
449
|
+
meerk40t-0.9.7930.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|