Commit Graph

1129 Commits

Author SHA1 Message Date
jbernardis a1b0dac6af Configtool: use --save-temps=obj again.
It has turned out developers use Configtool, too, so it makes
sense to keep temporary files for inspection.
2015-04-21 02:51:30 +02:00
jbernardis ee8f5f9170 Configtool: some code prettifications.
Pure whitespace changes.
2015-04-21 02:51:30 +02:00
jbernardis 2436ac2865 Configtool: a few more apperance enhancements. 2015-04-21 02:51:30 +02:00
jbernardis cbc87fc526 Configtool: align labels and choices vertically.
wxPython apparently doesn't allow to do this automatically,
so do it kind of manually, with a constand in data.py.
--Traumflug
2015-04-21 02:51:30 +02:00
jbernardis be8b0da71a Configtool: remove "Load default" menu entry.
This one is pretty pointless, because every user has a different
printer, so we can't deliver a meaningful default with the
distribution.
2015-04-21 02:51:30 +02:00
jbernardis 73f7e43227 Configtool: enforce correct configuration file names.
Previously one could save a board or printer configuration with
a name which wouldn't allow to load it again.
2015-04-21 02:51:30 +02:00
jbernardis 706ccf0637 Configtool: protect original config files.
Likely users don't care too much about the name of the saved file,
so they likely use the default ones. If they mess up, they also
likely want to return to the original, but, d'oh, it's overwritten.
Don't let this happen, enforce a non-original file name for user
saves.

In other words: don't let users shoot themselfs into their foot.
2015-04-21 02:51:27 +02:00
Markus Hitter 1cd21251d2 Get rid of STEP_INTERRUPT_INTERRUPTIBLE.
It was certainly a good idea, but also always a suspect of
malfunctions and as such, almost never used. Newer code
organisation moves most of the code behind it to dda_clock()
anyways, so it also became mostly obsolete.

Rest In Peace, STEP_INTERRUPT_INTERRUPTIBLE, you were matter
of quite a number of interesting discussions and investigations.

Changes for Configtool by jbernardis <jeff.bernardis@gmail.com>
2015-04-21 02:11:01 +02:00
Markus Hitter e2e77ae927 Configtool: remove version information.
Teacup doesn't do releases, it's a rolling release :-)
2015-04-21 02:11:01 +02:00
Markus Hitter 6e19270f43 Configtool: rename to configtool.py.
All the stuff is in configtool/, there's configtool.ini, config.py
can be easily confused with config.h, ... quite a number of
reasons.
2015-04-21 02:11:01 +02:00
jbernardis 74f0c88df9 Configtool: added REPORT_TARGET_TEMPS ...
... in anticipation of it's being adopted.

This also nicely shows how simple it is to add (or remove) a
configurable option to the config tool.
2015-04-21 02:11:01 +02:00
jbernardis bb29d50f31 temp.c: also report target temperatures.
It's handy and some hosts actually expect this.
2015-04-21 02:11:01 +02:00
Markus Hitter 443c3eb8ad Configtool: swap Edit and Build menu.
This should match typical menu layout guidelines better.
2015-04-21 02:11:01 +02:00
jbernardis 552b21b76e board.ramps-v1.3.h: add predefined fan output. 2015-04-21 02:11:01 +02:00
jbernardis 9985c3936d Configtool: many changes.
1) If variables are missing from .h files, they are added.
2) Settings file now modifiable from within the program.
3) A few cosmetic fixes.
2015-04-21 02:11:01 +02:00
jbernardis b9f524d256 Configtool: add the ability to build and upload. 2015-04-21 02:11:01 +02:00
jbernardis d6b2a2293e Configtool: incorporate most of previous comments.
See discussion to Issue #111 on Github.
2015-04-21 02:10:58 +02:00
jbernardis d7789ee217 Configtool: major restructuring.
We distinguish between printers and boards now. Most of the
code was split into one file per tab/window and moved into
configtool/.
2015-04-21 02:07:12 +02:00
jbernardis 943a8326a9 Configtool: new version.
This time a tabbed design. Requires quite a bit more code, but
visual appearance is also much much better.
2015-02-05 21:03:39 +01:00
Markus Hitter 0d956511f9 Configtool: first steps for a user friendly configuration tool.
Contribution by jbernardis.

This attempt uses a rarther simple tree-type dialog. Also only
half done, which is entirely sufficient for evaluation.
2015-02-05 21:03:30 +01:00
Markus Hitter 86f1fc418f Enforce Unix line endings (LF).
This should convert all files checked into the repository to
LF line endings, with exception of pictures and PDFs. Trying
to commit CRLF text on Unix will issue a warning when doing
"git add" or "git commit -a".

Users prefering CRLF (Windows) can set their local copy of the
repository to convert files on the fly at checkout with

  git config --local core.autocrlf = true

Note: Git acts pretty stubborn on files which don't match the
.gitattributes rules, but are already committed. This can
happen after every change to .gitattributes. Git doesn't want
to keep these files as-is in the repository and insists on
conversion as soon as they're touched somehow. The only way to
deal with this is to either edit .gitattributes again (in case
these enforced conversions don't match the intention) or to
commit the enforced changes immediately.

To put a bit more oil into the fire, Git doesn't recognize all
misalignments immediately, but trusts its cache. Accordingly
it's a good idea to clear this cache after any change to
.gitattributes:

  rm .git/index

Having this done, all further proceedings will show all
misaligments immerdiately.

For further instructions and descriptions see
http://schacon.github.io/git/gitattributes.html
http://adaptivepatchwork.com/2012/03/01/mind-the-end-of-your-line/
http://git.661346.n2.nabble.com/possible-gitattributes-eol-bug-with-new-eol-crlf-lf-support-td5516458.html
https://help.github.com/articles/dealing-with-line-endings/#refreshing-a-repository-after-changing-line-endings
2015-02-04 00:10:37 +01:00
Markus Hitter 4c34674b6e dda.c/.h: reduce debounce counting variable.
As we can always only move towards one end of an axis, one common
variable to count debouncing is sufficient.

Binary size 12 bytes smaller (and faster).
2015-01-09 13:11:06 +01:00
Markus Hitter f577431aac home.c, dda.c: consider endstops on both axis ends when homing.
Previously, when backing off of X_MIN, X_MAX was also checked,
which of course was already open, so it signals endstop release
even while X_MIN is still closed. The issue exposed only when
endstops on both ends of an axis were defined, a more rare situation.

Essentially the fix simply makes a distinct endstop check case
for each side of each axis.

This even makes binary size 40 bytes smaller for the standard case.
2015-01-09 13:11:01 +01:00
konoppo a0125dedfc gcode_parse.c: don't assume G1 on pure M- or T-codes.
Offending code were lines like these from Repetier Host:

  N8965 M117 ETE 29m 10s *86

When firmware received not-G command (M-command or T-command) with X, Y,
Z, E or F coordinate, it will "change" this command to G1.
Now, firmware do change only if received line is not either G- or M-
or T-command.

Examples:
X10 - is changed to G1 X10
E20 F300 - is changed to G1 E20 F300
M117 E1 - is NOT changed to G1 E1

This commit costs 6 bytes binary size.
2015-01-06 16:28:51 +01:00
Markus Hitter cca2994dd8 dda.c: fix debug statement position.
It's always a good idea to read a structure _after_ filling it :-)
2014-12-27 14:47:58 +01:00
Markus Hitter 55c0be5f41 gcode_process.c: same homing order for all axes.
This is, first towards MIN, then towards MAX. Now also matches order
for homing all, which is defined in home() in home.c. Partially
fixes issue #107.
2014-12-26 19:41:38 +01:00
Markus Hitter f6115688c5 Move Intercom temp sensor initialisation from mendel.c to temp.c. 2014-12-26 19:41:38 +01:00
Markus Hitter a9f1d00865 Move MAX6675 initialisation from mendel.c to temp.c.
Also note a misplaced and misnamed pin.
2014-12-26 19:41:38 +01:00
Markus Hitter b66ba4629a gcode_process.c: sort M112.
Counting to numbers up to 300 is apparently not everyone's
business, he he. :-)
2014-12-26 19:41:38 +01:00
Markus Hitter 9fe9c919a4 dda.c: add some TODOs about duplicate and redundant code. 2014-12-26 19:41:38 +01:00
Markus Hitter 69e0b0d15e dda_lookahead.c: loop up speed factor calculation, too.
This saves 250 bytes over the previous version, totalling to a
savings of 162 bytes.

... and it's easier to extend beyond 4 axes now, of course.
2014-12-26 19:41:38 +01:00
Markus Hitter 4596dffe10 dda_lookahead.c: put MAX_JERK_{XYZE} into an array.
This costs 88 bytes binary size for now, but will us allow to
loop up a nice section of code.
2014-12-26 19:41:38 +01:00
Markus Hitter 87a0706ff9 dda_lookahead.c: loop up currF, too.
Even more savings this time, 146 bytes binary size.
2014-12-26 19:41:38 +01:00
Markus Hitter b3eba1d062 dda_lookahead.c: loop up prevF calculation.
This saves a whopping 98 bytes binary size.
2014-12-26 19:41:38 +01:00
Markus Hitter ab25efbe81 dda.c: abs32() is obsolete now.
It's obsolete, because it's used for signed ints, only.
2014-12-26 19:41:37 +01:00
Markus Hitter 45baa75a5d CoreXY: tell config.h templates about KINEMATICS_COREXY. 2014-12-26 19:41:37 +01:00
Markus Hitter 2651c10404 CoreXY, dda_kinematics.c/.h: introduce KINEMATICS_COREXY.
Implementation isn't that difficult, should be complete and working
fine already.
2014-12-26 19:41:37 +01:00
Markus Hitter be0af71b2e CoreXY: distribute new KINEMATICS definition to all config.h templates. 2014-12-26 19:41:37 +01:00
Markus Hitter 30dd1f4535 CoreXY: separate out bot axes distance calculations.
This also introduces dda_kinematics.c/.h and a KINEMATICS definition,
which allows to do different distance calculations depending on the
bot kinematics in use. So far only KINEMATICS_STRAIGHT, which matches
what we had before, but other kinematics types are present in
comments already.
2014-12-26 19:41:37 +01:00
Markus Hitter 7d2dbaa481 CoreXY, dda.c: use signed delta_steps to simplify dda->delta_um[] calc.
Saves another 8 bytes binary size.
2014-12-26 19:41:37 +01:00
Markus Hitter cca464260b CoreXY, dda.c: use our now signed delta_steps to set direction.
This nicely makes the binary 36 bytes smaller.
2014-12-26 19:41:37 +01:00
Markus Hitter 12f01a783a CoreXY, dda.c: calculate delta steps separately.
This will allow us to use it's sign to set direction.

No binary size increase, optimizer can handle this.
2014-12-26 19:41:37 +01:00
Markus Hitter 41bf99c1aa CoreXY, dda.c: separate bot axes from extruder axes. 2014-12-26 19:41:37 +01:00
Markus Hitter a36b96357e CoreXY, dda.c: start by making steps an array.
Goal is to calculate steps in a separate function to allow different
methods of steps calculation, which is neccessary for supporting
different kinematics types. Accordingly we have to calculate steps
for all axes before setting directions and such stuff.
2014-12-26 19:41:37 +01:00
jgrjgr 84affe4cd7 Add config.h template for RUMBA electronics. 2014-12-26 19:41:03 +01:00
Markus Hitter 3696c707cd Add config.h template for the 3Drag controller. 2014-11-15 18:00:16 +01:00
Markus Hitter bb24627242 dda.c: file attempt to use sign of dda->delta_um[] to set direction. 2014-10-18 21:04:07 +02:00
Markus Hitter c7b022fb3e dda.c: some whitespace cleaning. 2014-10-18 21:02:17 +02:00
Markus Hitter 6da02f3112 config_wrapper.h: protect against USB/serial misconfiguration. 2014-10-18 21:00:16 +02:00
Markus Hitter 9f618ee048 Testcases: add nothing.gcode.
This is for running stuff with run_in_simulavr.sh which needs no
G-code.
2014-10-18 20:59:41 +02:00