Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
9f21fcc
Added control of Omnicure with Aerotech.
RobWks Aug 1, 2017
461fc1d
First test of omnicure intensity control and Alicat control.
RobWks Aug 2, 2017
0ca4fb7
Working omnicure intensity control, Alicat control and fixed duplicat…
RobWks Aug 3, 2017
29d6319
Fixed minor formatting issue in footer.
RobWks Aug 3, 2017
80027ce
First working version of spiral function.
RobWks Sep 15, 2017
4753e0a
Tested version of spiral function.
RobWks Sep 15, 2017
46e6e32
Removed extra comment left from debugging.
RobWks Sep 18, 2017
3715576
Working version of gradient spiral function.
RobWks Nov 6, 2017
f9e443f
Final version of gradient spiral function.
RobWks Nov 25, 2017
7a16bb8
clean up
RobWks Dec 4, 2017
052694a
Added read laser function to shapie specific functions.
RobWks Dec 15, 2017
b9c0fe9
Fixed the printer object interface to work with the current rambo setup.
RobWks Dec 19, 2017
bfbc9df
Added read_laser function for shapie automation.
RobWks Dec 19, 2017
3653428
Updated original spiral function with some of the functionality that …
RobWks Jan 9, 2018
1b037e2
Removed unecessary files.
RobWks Jan 9, 2018
b58e1b7
Cleaned up g.view() to be compatible with a variety of prints.
RobWks Jan 9, 2018
c797960
Added omnicure function for set irradiance set point, enables the omn…
RobWks Feb 14, 2018
8084b08
Cleaning up viewer function, removing unecessary 3d plot square aspec…
RobWks Mar 12, 2018
9fdabd0
Merge branch 'master' of https://github.com/RobWks/mecode
RobWks Mar 12, 2018
d3b8c4f
First commmit of new vpython backend for visualizing animations of pr…
RobWks Jul 24, 2018
b56ee19
Added flowrate as an argument to the purge meander function.
RobWks Aug 2, 2018
78b1a33
Added various parameters to the view function to control the behavior…
RobWks Sep 18, 2018
555162e
Added in linearized arcs, rounded rectangles, output to APE and remov…
RobWks Sep 18, 2019
c45336f
Added more docstrings to various functions.
RobWks Sep 19, 2019
04d2541
Added scad and vpython test cases. Added gen_geometry function and cl…
RobWks Oct 24, 2019
4ce1ed6
Fixed auto-radius error, by setting the radius automatically before use.
RobWks Nov 26, 2019
3f3c753
Added labels for axes when plotting in 3D.
RobWks Nov 26, 2019
b003523
Added test.scad for geometry generation.
RobWks Nov 26, 2019
9c245aa
Added in ros3da specific functions & fixed some typos with 'gen_geome…
RobWks Jan 16, 2020
c577d53
Fixed a typo.
RobWks Jan 16, 2020
109b940
specify encoding
rtellez700 Aug 3, 2021
bdb93a6
fix omnicure carriage return issue
rtellez700 Aug 6, 2021
9bf7786
Absolute positioning flag, rewrote the comment insertion to allow use…
Jan 6, 2022
a9b6ace
Note how the new commenting stuff works.
Jan 6, 2022
2a06625
Well that's a dumb issue.
Jan 6, 2022
52751b6
Mixed indentation. How did this ever work?
Jan 6, 2022
7c99f12
Fix tests for new space between comment character and actual comment …
Jan 6, 2022
e1206a6
Add the ability to add comments to dwell commands.
Jan 12, 2022
2d845e6
use != instead of 'is not' with literals
DerAndere1 Mar 13, 2022
33af199
update installation workflow
rtellez700 Aug 19, 2022
9749387
update 3d projection to newer matplotlib
rtellez700 Mar 14, 2023
a8c5460
Merge pull request #1 from rtellez700/update-reqs
rtellez700 Mar 14, 2023
caef06e
add color kwarg
rtellez700 Mar 18, 2023
34ffc8f
fix typo -- to string
rtellez700 Mar 18, 2023
0cb138d
view() color_on working now
rtellez700 Mar 20, 2023
18410a4
fix is not literal warning
rtellez700 Mar 20, 2023
43d6d41
version bump
rtellez700 Mar 20, 2023
8f273e3
update travis ci
rtellez700 Mar 20, 2023
e595fbc
Create python-package.yml
rtellez700 Mar 20, 2023
293cda2
fix mixed tabs/spaces
rtellez700 Mar 20, 2023
4479521
remove flake8, add mac + windows testing support
rtellez700 Mar 20, 2023
348e208
update python testing badge
rtellez700 Mar 20, 2023
05fbb4c
update github action
rtellez700 Mar 20, 2023
6841fa0
refactor reqs and test reqs
rtellez700 Mar 20, 2023
b6a8e3b
change pytest to unitesting
rtellez700 Mar 20, 2023
37bbb07
use bash as default shell
rtellez700 Mar 20, 2023
7072a6b
refactor unitests and actual feature development
rtellez700 Mar 20, 2023
c817d2b
fix: missing linearize
rtellez700 Mar 20, 2023
ed2dddd
bug fixes
rtellez700 Mar 20, 2023
3ab0625
fix some unittest issues
rtellez700 Mar 20, 2023
0fb314a
add circle function with color support
rtellez700 Mar 21, 2023
9081041
version bump
rtellez700 Mar 21, 2023
74a7905
remove print statement
rtellez700 Mar 21, 2023
e8ea844
fix typo
rtellez700 Mar 21, 2023
7362946
update todo
rtellez700 Mar 21, 2023
fba94e4
Merge branch 'add-features'
rtellez700 Mar 21, 2023
5d68d99
Added control of Omnicure with Aerotech.
RobWks Aug 1, 2017
fb71fe0
First test of omnicure intensity control and Alicat control.
RobWks Aug 2, 2017
fdfe9c6
Working omnicure intensity control, Alicat control and fixed duplicat…
RobWks Aug 3, 2017
e84d0f5
Fixed minor formatting issue in footer.
RobWks Aug 3, 2017
dc88aa5
First working version of spiral function.
RobWks Sep 15, 2017
0e446df
Tested version of spiral function.
RobWks Sep 15, 2017
fad8433
Removed extra comment left from debugging.
RobWks Sep 18, 2017
4b0565b
Working version of gradient spiral function.
RobWks Nov 6, 2017
e237df0
Final version of gradient spiral function.
RobWks Nov 25, 2017
cdb829e
clean up
RobWks Dec 4, 2017
1da4776
Added read laser function to shapie specific functions.
RobWks Dec 15, 2017
640d75a
Fixed the printer object interface to work with the current rambo setup.
RobWks Dec 19, 2017
925f874
Added read_laser function for shapie automation.
RobWks Dec 19, 2017
558cff9
Updated original spiral function with some of the functionality that …
RobWks Jan 9, 2018
1a80bc8
Removed unecessary files.
RobWks Jan 9, 2018
213d661
Cleaned up g.view() to be compatible with a variety of prints.
RobWks Jan 9, 2018
6db24ce
Cleaning up viewer function, removing unecessary 3d plot square aspec…
RobWks Mar 12, 2018
ac785d1
Added omnicure function for set irradiance set point, enables the omn…
RobWks Feb 14, 2018
2d7527e
First commmit of new vpython backend for visualizing animations of pr…
RobWks Jul 24, 2018
ddf24e3
Added flowrate as an argument to the purge meander function.
RobWks Aug 2, 2018
9eac2a7
Added various parameters to the view function to control the behavior…
RobWks Sep 18, 2018
496bf2f
Added in linearized arcs, rounded rectangles, output to APE and remov…
RobWks Sep 18, 2019
d23870d
Added more docstrings to various functions.
RobWks Sep 19, 2019
cd9b3a3
Added scad and vpython test cases. Added gen_geometry function and cl…
RobWks Oct 24, 2019
2400587
Fixed auto-radius error, by setting the radius automatically before use.
RobWks Nov 26, 2019
9742a7e
Added labels for axes when plotting in 3D.
RobWks Nov 26, 2019
dbb8281
Added test.scad for geometry generation.
RobWks Nov 26, 2019
e0376a3
Added in ros3da specific functions & fixed some typos with 'gen_geome…
RobWks Jan 16, 2020
06dab80
Fixed a typo.
RobWks Jan 16, 2020
c2ea49f
Merge remote-tracking branch 'robwks/master' into robwks
xloem May 10, 2023
8b526fa
specify encoding
rtellez700 Aug 3, 2021
7a9420c
fix omnicure carriage return issue
rtellez700 Aug 6, 2021
c65e765
update installation workflow
rtellez700 Aug 19, 2022
f9e7a8c
update 3d projection to newer matplotlib
rtellez700 Mar 14, 2023
40e336c
add color kwarg
rtellez700 Mar 18, 2023
53e9b6a
fix typo -- to string
rtellez700 Mar 18, 2023
dcfe092
view() color_on working now
rtellez700 Mar 20, 2023
33968b9
fix is not literal warning
rtellez700 Mar 20, 2023
7f23320
version bump
rtellez700 Mar 20, 2023
0a58f50
update travis ci
rtellez700 Mar 20, 2023
550c24e
Create python-package.yml
rtellez700 Mar 20, 2023
2222870
fix mixed tabs/spaces
rtellez700 Mar 20, 2023
9abd0b0
remove flake8, add mac + windows testing support
rtellez700 Mar 20, 2023
5a51e9a
update python testing badge
rtellez700 Mar 20, 2023
b8b2049
update github action
rtellez700 Mar 20, 2023
ccf4137
refactor reqs and test reqs
rtellez700 Mar 20, 2023
f546d18
change pytest to unitesting
rtellez700 Mar 20, 2023
5f5fcaf
use bash as default shell
rtellez700 Mar 20, 2023
d094aed
refactor unitests and actual feature development
rtellez700 Mar 20, 2023
4abf161
fix: missing linearize
rtellez700 Mar 20, 2023
7a8ae71
bug fixes
rtellez700 Mar 20, 2023
c1032b4
fix some unittest issues
rtellez700 Mar 20, 2023
f076657
add circle function with color support
rtellez700 Mar 21, 2023
1c36d38
version bump
rtellez700 Mar 21, 2023
f8222d5
remove print statement
rtellez700 Mar 21, 2023
a6c5195
fix typo
rtellez700 Mar 21, 2023
860d5b1
update todo
rtellez700 Mar 21, 2023
60fd310
Merge remote-tracking branch 'origin/master'
xloem May 10, 2023
71a669f
Add .circleci/config.yml
xloem May 10, 2023
0a5bd1c
Updated config.yml
xloem May 10, 2023
b2c94b6
add versions to requirements.txt so that python2.7 tests can run
xloem May 10, 2023
1ebb35f
circle: install dev requirements
xloem May 10, 2023
ebe3d57
python2: use list constructor
xloem May 10, 2023
dc58c97
arc: fix treating dict keys as list indices
xloem May 10, 2023
aa42715
arc: do not linearize by default, for legacy test
xloem May 10, 2023
9002752
arc: consolidate linearization code to test for zero dist
xloem May 10, 2023
efdc4ab
remove python 3.4 from travis as it is not tested on circle
xloem May 10, 2023
60f0aed
circleci: remove tutorial commentary
xloem May 10, 2023
0859a16
Merge pull request #2 from DerAndere1/not_equal
xloem May 10, 2023
cae4132
circleci: fix matrix
xloem May 10, 2023
03a0f53
use environment marker to specify vpython version
xloem May 10, 2023
f5816a7
circleci: python updates
xloem May 10, 2023
459fa80
Merge branch 'main' into fake-name
xloem May 10, 2023
4524841
remove spurious trailing whitespace in test data
xloem May 10, 2023
b3c6135
updated github workflow to include python 2.7 again
xloem May 10, 2023
a970b43
for now, comment out failing github workflows
xloem May 10, 2023
99dede6
rebased code to publish tags to pypi from wheecode
xloem Jun 8, 2023
3b6bfdd
update .travis.yml
xloem May 13, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
version: 2.1
orbs:
# https://circleci.com/developer/orbs/orb/circleci/python
python: circleci/python@2.1.1
jobs:
test: # This is the name of the job, feel free to change it to better match what you're trying to do!
parameters:
python-version:
type: string
docker:
- image: cimg/python:<< parameters.python-version >>
steps:
- when: # for python >= 3, upgrade pip all the way
condition:
not:
equal: [ "2.7", << parameters.python-version >> ]
steps:
- python/install-packages:
args: --upgrade pip
pkg-manager: pip
pip-dependency-file: /dev/null
cache-version: "{{ .Environment.CACHE_VERSION }}"
- checkout
- python/install-packages:
pkg-manager: pip
pip-dependency-file: requirements.txt
cache-version: "{{ .Environment.CACHE_VERSION }}"
- python/install-packages:
pkg-manager: pip
pip-dependency-file: requirements.dev.txt
- run:
name: Run tests
command: python -m unittest discover mecode/tests

workflows:
ci: # This is the name of the workflow, feel free to change it to better match your workflow.
jobs:
- test:
matrix:
parameters:
python-version:
- "2.7"
- "3.5"
- "3.6"
- "3.7"
- "3.8"
- "3.9"
- "3.10"
66 changes: 66 additions & 0 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Python package

on:
push:
branches: [ "master", "main" ]
tags: [ "*" ]
pull_request:
branches: [ "master", "main" ]

jobs:
test:

strategy:
fail-fast: false
matrix:
host-os: ["ubuntu-latest", "macos-latest"] # windows-latest
python-version: ["2.7","3.7","3.8","3.9","3.10"] # 3.5, 3.6

runs-on: ${{ matrix.host-os }}

defaults:
run:
shell: bash -l {0}

steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip\<20
#python -m pip install flake8 pytest
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
if [ -f requirements.dev.txt ]; then pip install -r requirements.dev.txt; fi
# - name: Lint with flake8
# run: |
# # stop the build if there are Python syntax errors or undefined names
# flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
# flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest or unittest
run: |
python -m unittest discover mecode/tests

publish:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- name: Install pypa/build
run: |
python -m pip install build
- name: Build a binary wheel and a source tarball
run: |
python -m build --sdist --wheel --outdir dist/
- name: Publish distribution package to PyPI
if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
.delete

*.log
*.py[cod]
.DS_Store
.ropeproject
Expand Down
5 changes: 4 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
language: python
python:
- "2.7"
- "3.5"
- "3.6"
- "3.7"
install: "pip install -r requirements.txt"
- "3.8"
- "3.9"
install: "pip install -r requirements.txt && pip install -r requirements.dev.txt"
script: "python -m unittest discover mecode/tests"
36 changes: 21 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Mecode
======

[![Build Status](https://travis-ci.org/jminardi/mecode.svg?branch=master)](https://travis-ci.org/jminardi/mecode)
`
[![Unit Tests](https://github.com/rtellez700/mecode/actions/workflows/python-package.yml/badge.svg)](https://github.com/rtellez700/mecode/actions/workflows/python-package.yml)

### GCode for all

Expand Down Expand Up @@ -128,16 +128,16 @@ rename it.
Installation
------------

The easiest method to install mecode is with pip:
*Outdated* The easiest method to install mecode is with pip:

```bash
sudo pip install mecode
pip install git+https://github.com/rtellez700/mecode.git
```

To install from source:

```bash
$ git clone https://github.com/jminardi/mecode.git
$ git clone https://github.com/rtellez700/mecode.git
$ cd mecode
$ pip install -r requirements.txt
$ python setup.py install
Expand All @@ -146,25 +146,31 @@ $ python setup.py install
Optional Dependencies
---------------------
The following dependencies are optional, and are only needed for
visualization. An easy way to install them is to use
[Canopy][0] or [conda][1].
visualization. An easy way to install them is to use [conda][1].

* numpy
* mayavi
* matplotlib
* vpython
* mayavi

[0]: https://www.enthought.com/products/canopy/
[1]: https://store.continuum.io/cshop/anaconda/
[1]: https://www.anaconda.com/

TODO
----
* add pressure box comport to `__init__()` method
* build out multi-nozzle support
* include multi-nozzle support in view method.
* factor out aerotech specific methods into their own class

- [ ] add pressure box comport to `__init__()` method
- [ ] build out multi-nozzle support
- [ ] include multi-nozzle support in view method.
- [ ] factor out aerotech specific methods into their own class
- [ ] auto set MFO=100% before each print
- [ ] add ability to read current status of aerotech
- [ ] turn off omnicure after aborted runs
- [ ] add formal sphinx documentation
- [ ] create github page


Credits
-------
This software was developed by the [Lewis Lab][2] at Harvard University.
This software was developed by the [Lewis Lab][2] at Harvard University. It is based on Jack Minardi's (jack@minardi.org) codebase (https://github.com/jminardi/mecode) which is not maintained anymore.

[2]: http://lewisgroup.seas.harvard.edu/
Loading