Skip to content

Commit

Permalink
Version 3.4
Browse files Browse the repository at this point in the history
Changes to reorder options; adding a "strict" option
New configuration file option for adjusting preview colors
Add readout of current setpoint and input voltage
Ignore Inkscape-template SVG object

Bug fixes
  • Loading branch information
oskay committed Jul 24, 2022
1 parent 272634d commit 2cfb245
Show file tree
Hide file tree
Showing 11 changed files with 405 additions and 243 deletions.
13 changes: 7 additions & 6 deletions cli/axicli/axidraw_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
from plotink.plot_utils_import import from_dependency_import # plotink
exit_status = from_dependency_import("ink_extensions_utils.exit_status")

cli_version = "AxiDraw Command Line Interface 3.3.0"
cli_version = "AxiDraw Command Line Interface 3.4.0"

quick_help = '''
Basic syntax to plot a file: axicli svg_in [OPTIONS]
Expand Down Expand Up @@ -187,10 +187,11 @@ def axidraw_CLI(dev = False):

parser.add_argument("-G","--reordering", \
metavar='VALUE', type=int, \
help="SVG reordering option (0-2)."\
+ " 0: None; Preserve order of objects given in SVG file."\
+ " 1: Reorder objects, preserving path orientation."\
+ " 2: Reorder objects, allow path reversal.")
help="SVG reordering option (0-4; 3 deprecated)."\
+ " 0: Least; Only connect adjoining paths."\
+ " 1: Basic; Also reorder paths for speed."\
+ " 2: Full; Also allow path reversal."\
+ " 4: None; Strictly preserve file order.")

parser.add_argument("-Y","--random_start", \
action="store_const", const='True', \
Expand Down Expand Up @@ -283,7 +284,7 @@ def axidraw_CLI(dev = False):

print("Re-ordering SVG File.")
print("This can take a while for large files.")
print("(Note: reorder mode is deprecated and will be removed in a future version.)")
print("(Warning: Reorder mode is deprecated and will be removed in a future version.)")

exit_status.run(adc.effect) # Sort the document

Expand Down
109 changes: 98 additions & 11 deletions cli/pyaxidraw/changelog.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,46 @@
AxiDraw API Change Log
AxiDraw API Change Log

This document notes changes that affect the various interfaces. It does
This document notes changes that affect the APIs. It does
not cover all internal changes nor bug fixes.

Please see https://axidraw.com/doc/cli_api/ for full documentation
Please see https://axidraw.com/doc/cli_api/ for current CLI API documentation and
and https://axidraw.com/doc/py_api/ for current Python API documentation.

=========================================

v 3.4 (July 2022)

Added a new "strict" value to reordering that disables all optimizations including
path joining. Changed description (but not behavior) of the other values for clarity.

New parameters in the axidraw_conf.py configuration file: preview_color_up and preview_color_down
allow one to set the colors used in preview rendering.

Archive release at:
https://cdn.evilmadscientist.com/dl/ad/public/ad_api/AxiDraw_API_340.zip

=========================================

v 3.3 (June 2022)

Expand model option values with AxiDraw V3/B6.

Archived release at:
https://cdn.evilmadscientist.com/dl/ad/public/ad_api/AxiDraw_API_330.zip

=========================================

v 3.2.1 (February 2022)

Bugfix release.

Add two new python example files.

Archived release at:
https://cdn.evilmadscientist.com/dl/ad/public/ad_api/AxiDraw_API_321.zip

=========================================

v 3.2 (February 2022)

Expand model option values with AxiDraw SE/A1, SE/A2.
Expand All @@ -22,6 +52,10 @@ New walk_home command added to the list of manual commands.

Plots underway can now be paused with Control+C in addition to the physical pause button.

Archived release at:
https://cdn.evilmadscientist.com/dl/ad/public/ad_api/AxiDraw_API_320.zip

=========================================

v 3.1 (January 2022)

Expand All @@ -33,6 +67,11 @@ New Webhook notifications feature. Added webhook and webhook_url options.
New parameter in the axidraw_conf.py configuration file: report_lifts enables
reporting the number of pen lifts in a plot.

Archived release at:
https://cdn.evilmadscientist.com/dl/ad/public/ad_api/AxiDraw_API_310r1.zip

=========================================

v 3.0 (October 2021)

Significant changes to plot optimization:
Expand Down Expand Up @@ -61,10 +100,13 @@ Breaking changes:
0: Preserve order of objects given in SVG file (Default).
1: Reorder objects, preserving path orientation
2: Reorder objects, allow path reversal
3: Use value of 2 (deprecated)

A value of 3 will behave identically to 2 for compatibility, however this
option value is now deprecated.
3: [Deprecated]

A value of 3 will behave identically to 2 for compatibility for the time being,
however this option value is now deprecated.

Archived release at:
https://cdn.evilmadscientist.com/dl/ad/public/ad_api/AxiDraw_API_302r1.zip

=========================================

Expand Down Expand Up @@ -95,6 +137,22 @@ the turtle position is outside of the plotting bounds.
* New parameter in the axidraw_conf.py configuration file: auto_clip_lift, which
can disable automatic pen lifts at plotting bounds and the new behavior of pendown.

Archived release at:
https://cdn.evilmadscientist.com/dl/ad/public/ad_api/AxiDraw_API_275r2.zip

=========================================

v 2.7.4 (June 2021)

Drop support for Python 3.5. Python 3.6 or newer is now required.

Results returned by the "usb_query" function in the Python API are
now stripped of whitespace; previously, they were not.

Archived release at:
https://cdn.evilmadscientist.com/dl/ad/public/ad_api/AxiDraw_API_274r1.zip


=========================================

v 2.7.0 (November 2020)
Expand All @@ -103,24 +161,49 @@ Add support for macOS 11 Big Sur.

Drop support for Python 2. Python 3.5-3.9 now supported.

New version posted 2020-11-21 (no version number change) includes dependency updates
for compatibility with Mac computers using Apple Silicon.

=========================================

v 2.6.3 (August 2020)

Add new turtle_pos and current_pos functions.

Several new example scripts added for Python API, along with a section
in this documentation listing what the different example scripts do.

This is the last point release of the software supporting Python 2, and is
archived for download at:
https://cdn.evilmadscientist.com/dl/ad/public/ad_api/AxiDraw_API_263_r2.zip

You can also install it via:
pip install https://cdn.evilmadscientist.com/dl/ad/public/ad_api/AxiDraw_API_263_r2.zip

=========================================

v 2.6.0 (July 2020)

Add usb_command and usb_query functions in interactive context.
Last major release to support both Python 2 and Python 3.
Future releases starting with 2.7.0 will require Python 3.5+.

Add "one line" installation instructions.

Add usb_command and usb_query functions in Python interactive context.

Add walk_mmx and walk_mmy parameters, for manual walk in millimeter units.

Renamed ebb_version to fw_version. The deprecated option
Add mm units for interactive moves in Python API, in addition to cm, inch units.

Add direct access to additional parameters, using new "params" syntax.

Renamed ebb_version to fw_version. The deprecated manual command
name (ebb_version) is still functional but will be removed
in a future version.

Certain operations that print output now also populate Python variables:
"version" mode, "fw_version" manual command, "report_time" option.

New parameters are available in the axidraw_conf.py configuration
file: servo_timeout and use_b3_out

Expand All @@ -130,6 +213,8 @@ v 2.5.x -- 2020-01-02

Deprecated a value for port_config.

list_names populates an accessible Python variable in the python API.

v 2.5.6 -- 2019-12-13

Add support for new AxiDraw MiniKit model
Expand Down Expand Up @@ -161,6 +246,8 @@ Changed names of some parameters in axidraw_conf.py.

v 2.4.0 (April 2019)

Changed names of some parameters in axidraw_conf.py.

Refactoring of CLI and python interfaces. CLI is now
accessible system-wide and called as "axicli" directly
rather than as "python axicli.py".
Expand Down Expand Up @@ -235,7 +322,7 @@ XY interactive mode.

=========================================

v. 2.0.x (July 2018)
v. 2.0 (July 2018)
Significant changes to options, names, and syntax, for clarity and
compatibility moving forward.

Expand Down Expand Up @@ -431,4 +518,4 @@ The --fileOutput option was removed in favor of being able to directly specify
the output file name on the command line argument.


~~~ Copyright 2019 Windell H. Oskay, Evil Mad Scientist Laboratories ~~~
~~~ Copyright 2022 Windell H. Oskay, Evil Mad Scientist Laboratories ~~~
4 changes: 2 additions & 2 deletions cli/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ def replacement_setup(*args, **kwargs):

replacement_setup(
name='axicli',
version='3.3.0',
version='3.4.0',
python_requires='>=3.6.0',
long_description=long_description,
long_description_content_type='text/plain',
Expand All @@ -80,7 +80,7 @@ def replacement_setup(*args, **kwargs):
install_requires=[
# this only includes publicly available dependencies
'ink_extensions>=1.1.0',
'lxml>=4.6.5',
'lxml>=4.9.1',
'plotink>=1.6.1',
'pyserial>=3.5',
'requests', # just for the certificates for now
Expand Down
11 changes: 5 additions & 6 deletions inkscape driver/axidraw.inx
Original file line number Diff line number Diff line change
Expand Up @@ -121,11 +121,11 @@ _gui-text="Pen height: DOWN, (%):">30</param>
<param indent="1" name="random_start" type="boolean" _gui-text="Randomize starts of closed paths">false</param>
<param indent="1" name="report_time" type="boolean" _gui-text="Report time elapsed">false</param>


<param indent="1" name="reordering" type="optiongroup" appearance="minimal" _gui-text="Plot optimization:">
<_option value="0">None: Preserve file order</_option>
<_option value="1">Basic: Reorder but preserve direction</_option>
<_option value="2">Full: Reorder and allow path reversal</_option>
<_option value="0">Least; Only connect adjoining paths</_option>
<_option value="1">Basic; Also reorder paths for speed</_option>
<_option value="2">Full; Also allow path reversal</_option>
<_option value="4">None; Strictly preserve file order</_option>
</param>

<param indent="1" name="resolution" type="optiongroup" appearance="minimal" _gui-text="Motor Resolution:">
Expand All @@ -135,7 +135,6 @@ _gui-text="Pen height: DOWN, (%):">30</param>

</page>


<page name="sysinfo" _gui-text="Config">
<_param name="instructions_config1" type="description" appearance="header">Hardware configuration</_param>
<param name="model" type="optiongroup" appearance="minimal" indent="1" _gui-text="AxiDraw model:">
Expand Down Expand Up @@ -259,7 +258,7 @@ the Return to Home Corner command.

</param>
<_param name="copyright" type="description" indent="5" xml:space="preserve"
>Version 3.3.0 — Copyright 2022 Evil Mad Scientist</_param>
>Version 3.4.0 — Copyright 2022 Evil Mad Scientist</_param>



Expand Down
Loading

0 comments on commit 2cfb245

Please sign in to comment.