Skip to content

Commit

Permalink
v0.64
Browse files Browse the repository at this point in the history
  • Loading branch information
stephenhouser committed Aug 23, 2023
1 parent c45535f commit 745c6ae
Show file tree
Hide file tree
Showing 14 changed files with 231 additions and 88 deletions.
1 change: 0 additions & 1 deletion .python-version

This file was deleted.

28 changes: 27 additions & 1 deletion Change_Log.txt
Original file line number Diff line number Diff line change
Expand Up @@ -286,8 +286,34 @@ Version 0.56:
- Added code to fix driver conflict new drivers added to Linux
- Changed default file type to svg/dxf


Version 0.57:
- Fixed problem with start position (only occurred when using a custom "x scale" factor and "home in upper right")
- Added Command line option to enable debug mode
- Some other minor change to the way icons and internal images are handled (no change for user)

Version 0.58:
- Fixed problem with right mouse click motions that occurred when using "home in upper right"

Version 0.59:
- Now automatically removes zero length features from input files (caused unnecessary movements before)
- Removed redundant data sent to laser during raster engraving. Should reduce pauses for higher speed engraving.
- Added option for reduced memory use. This can be enabled to allow for larger designs to be loaded in K40 Whisperer or just increase speed. This option does reduce the resolution of the data coming from Inkscape 500dpi vs 1000dpi. This should not visibly affect the output in most cases.

Version 0.60:
- Fixed scaling problem when loading an SVG file with 'Reduced Memory Use' enabled.
The problem only occurred if the user was prompted for additional scaling information.

Version 0.61:
- Added option in the General Settings to disable waiting for the laser to finish the job after the last data has been sent to the laser. This can be used to allow the user to start loading the next design as the laser finishes executing the the final data.

Version 0.62:
- Fixed problem when using M3 Nano board, new job finished code is now detected.
- Fixed problem when using M3 Nano board, laser no longer remains on while moving back to starting position after raster engraving.
- Fixed registration issue between raster and vector operations when custom rapid speed was used.
- Added Option in the Tools menu that may unfreeze the controller after a job is improperly terminated (will not always work)

Version 0.63:
- Fixed rapid moves with M3 Nano. Rapid moves failed if the move command filled exactly one packet of data. Sending an additional packet of data without any data after the full packet resolved the issue.

Version 0.64:
- Fixed arcs being drawn in the wrong direction when the radius value was specified as a negative number in an SVG file.
2 changes: 1 addition & 1 deletion build-macOS.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# This file executes the build command for the OS X Application bundle.
# It is here because I am lazy
# ---------------------------------------------------------------------
PYTHON_VERSION=3.9.1
PYTHON_VERSION=3.11.4

# Call getopt to validate the provided input.
VENV_DIR=build_env.$$
Expand Down
2 changes: 2 additions & 0 deletions cubicsuperpath.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ def norm(pt):
def ArcToPath(p1,params):
A=p1[:]
rx,ry,teta,longflag,sweepflag,x2,y2=params[:]
rx=abs(rx)
ry=abs(ry)
teta = teta*pi/180.0
B=[x2,y2]
if rx==0 or ry==0 or A==B:
Expand Down
3 changes: 2 additions & 1 deletion ecoords.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ def make_ecoords(self,coords,scale=1):
dxline= x2-x1
dyline= y2-y1
len_line=sqrt(dxline*dxline + dyline*dyline)

if len_line==0.0:
continue
dx = oldx - x1
dy = oldy - y1
dist = sqrt(dx*dx + dy*dy)
Expand Down
33 changes: 16 additions & 17 deletions egv.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'''
This script reads/writes egv format
Copyright (C) 2017-2020 Scorch www.scorchworks.com
Copyright (C) 2017-2022 Scorch www.scorchworks.com
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -104,22 +104,6 @@ def flush(self,laser_on=None):
self.Modal_on = laser_on
self.Modal_dist = 0


# The one wire CRC algorithm is derived from the OneWire.cpp Library
# The library location: http://www.pjrc.com/teensy/td_libs_OneWire.html
def OneWireCRC(self,line):
crc=0
for i in range(len(line)):
inbyte=line[i]
for j in range(8):
mix = (crc ^ inbyte) & 0x01
crc >>= 1
if (mix):
crc ^= 0x8C
inbyte >>= 1
return crcS


def make_distance(self,dist_mils):
dist_mils=float(dist_mils)
if abs(dist_mils-round(dist_mils,0)) > 0.000001:
Expand Down Expand Up @@ -698,13 +682,28 @@ def change_speed(self,Feed,board_name,laser_on=False,Raster_step=0,pad=True):
self.write(ord("S"))
self.write(ord("1"))
self.write(ord("E"))
self.write(ord("U"))

if pad:
self.make_dir_dist(cspad,cspad)
self.flush(laser_on=False)

if laser_on:
self.write(self.ON)

def strip_redundant_codes(self, EGV_data):
E = ord('E')
new_data=[]
modal_value = -1
for code in EGV_data:
if code == modal_value and modal_value != E:
continue
elif (code == self.RIGHT) or (code == self.LEFT) or \
(code == self.UP ) or (code == self.DOWN) or \
(code == self.ANGLE) or (code == E):
modal_value = code
new_data.append(code)
return new_data


if __name__ == "__main__":
Expand Down
Binary file modified emblem.icns
Binary file not shown.
Loading

0 comments on commit 745c6ae

Please sign in to comment.