Commit Graph

1714 Commits

Author SHA1 Message Date
Nico Tonnhofer 08b95047df configtool: add homing to GUI 2019-04-18 09:28:06 +02:00
Nico Tonnhofer 20dd299c7a configtool: parse, load and write homing values 2019-04-18 09:28:06 +02:00
Nico Tonnhofer a32974b182 configtool: add regex for homing 2019-04-18 09:28:06 +02:00
Nico Tonnhofer b8687c4eac configtool: cfgNames is a set() 2019-04-18 09:28:06 +02:00
Nico Tonnhofer e4896a1257 home: use some helper macros
like the heater.
2019-04-18 09:28:06 +02:00
Nico Tonnhofer 86123f80f7 python3: decode the stdout stream 2019-04-18 09:28:06 +02:00
Nico Tonnhofer ec9fa99b66 configtool: use LTO in default settings
like Makefile-AVR for quite some time
2019-04-18 09:28:06 +02:00
Nico Tonnhofer b0f3a0737d python3: use configparser
also for python 2.7
Python 2.7 needs to install configparser.
e.g. via pip install configparser.
2019-04-18 09:28:06 +02:00
Nico Tonnhofer a97fa2221c python3: using file objects
file() was removed with python3
2019-04-18 09:28:06 +02:00
Nico Tonnhofer 6089d24bd1 configtool: revert homing order
currently this part is buggy and need some rework.
Looks like it is more simple to write it new instead of find the bugs
2019-04-18 09:28:06 +02:00
Nico Tonnhofer 48cc0124ed python3: open file in normal mode, not binary 2019-04-18 09:28:06 +02:00
Nico Tonnhofer d6e30af1c2 gitignore: ignore tags file 2019-04-18 09:28:06 +02:00
Nico Tonnhofer 09db5afdfa python3: some imports for build.py 2019-04-18 09:26:17 +02:00
Nico Tonnhofer b37e155eb4 python3: remove major version check 2019-04-18 09:10:37 +02:00
Nico Tonnhofer bf72cb7f10 python3: pep8 all files.
e.g. 4 spaces for identation
using black for this:
https://github.com/ambv/black
2019-04-18 09:10:37 +02:00
Nico Tonnhofer 9b49097ac3 configtool: stage 1 for making it compatible with python3 2019-04-18 09:09:53 +02:00
Nico Tonnhofer 8fc867ae72 configtool: fix wx test 2019-04-18 09:09:45 +02:00
Nico Tonnhofer 0d308c8cfa Makefile-ARM: be sure that the startup code is linked first
check https://bugs.launchpad.net/gcc-arm-embedded/+bug/1747966
2019-04-17 21:42:28 +02:00
Nico Tonnhofer 426ffb9420 timer-stm32: correct some init code
clear status register first
and enable the counter
2019-04-17 21:42:28 +02:00
Nico Tonnhofer 6ca071804b delay-stm32: inline delays 2019-04-17 21:42:28 +02:00
Nico Tonnhofer 2af85e348f stm32: enable the ART accelerator
See also RM0383 Embedded Flash memory interface
3.4.2 Adaptive real-time memory accelerator
- instruction prefetch
- instruction cache memory
- data management
2019-04-17 21:42:28 +02:00
Nico Tonnhofer 7581c0038d stm32: correct some clock settings 2019-04-17 21:42:28 +02:00
Nico Tonnhofer b62bad1b0a stm32: rename __ARM_STM32F411__ to __ARM_STM32__ 2019-04-17 21:42:28 +02:00
Nico Tonnhofer bd5bfb3d76 stm32: new startup and linker script
also add stm32f446
http://git.munts.com/arm-mcu/gcc/stm32f4/
rename lpc startup from 's' to 'S' to let the c preprocessor do its job

stm32f4xx linker and startup file cmsis prefix just for naming
files has nothing todo with cmsis anymore
2019-04-17 21:42:25 +02:00
Nico Tonnhofer a4959ff0dd configtool: add check for wxPython 4 2019-04-17 21:40:54 +02:00
Nico Tonnhofer 727d5dee66 configtool: use new wxPython 4
Installation/Update:
- Windows/macOS
    pip install -U wxPython

- Linux
    pip install -U wxPython
      - if it fails to install wxPython >= 4 go ahead, else you're done.

    Check https://extras.wxpython.org/wxPython4/extras/linux/gtk3/
    for e.g. Ubuntu 18.04:
      pip install -U \
      -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/ \
      wxPython

check also https://wxpython.org/pages/downloads/ for further details.
2018-12-30 22:12:36 +01:00
Nico Tonnhofer 55f560260f configtool: with commandline it is not necessary to have wx
e.g. the regressiontests will work without wx
2018-12-21 20:03:17 +01:00
Nico Tonnhofer c5c58c82a8 Makefile: add an option flag for flto
e.g. for make regressiontests you could disable it for little faster test
simple: make regresstiontests USE_FLTO=no
2018-12-21 20:03:17 +01:00
Nico Tonnhofer 963a1ad76f Makefile-AVR: remove deprecated -C option
replace it with -A and parse this like in the Makefile-ARM
2018-12-21 20:03:02 +01:00
Phil Hord 77d8583cca Add dynamic 3-point bed-leveling support
Adds G29 commands to register bed level points.  When three points
are registered, the plane of the bed is calculated and dynamic bed
leveling takes effect.

Add a warning if bed-leveling is enabled when MAX_JERK_Z is zero.
In this case lookahead will always fail when bed-leveling is active
since the Z-axis is not allowed to move during lookahead.
2018-08-20 10:38:10 -07:00
Phil Hord 47dfcf1a44 Add M155 support for periodic temperature reporting
M155 turns on automatic periodic temperature reporting.

Enables live temperature reporting while waiting for temps (M119)
and during normal gcode processing without depending on M105 requests
from the host.

Also add "cap: AUTOREPORT_TEMP" capability report to M115. Octoprint
relies on this feature to determine if M155 is supported. Perhaps this
is a bug in Octoprint since M115 "cap" reporting is optional.

    Usage: M155 S<period> [P<sensor>]
     S specifies the period in seconds to report the temperatures
     P optionally specifies a 0-based sensor index to report

      S0 disables automatic reporting
      Omitting the P field reports on all sensors

    Example: M155 S5
       Causes Teacup to send a temperature report for all sensors
       every 5 seconds.

Ref: https://reprap.org/wiki/Firmware_Capabilities_Protocol
2018-08-20 10:10:30 -07:00
Justus Winter 7760ef3a34 Simulator: fix argument parsing.
When getopt_long sets *flag to val, it returns 0.  Previously this
was considered an error. See getopt(3).
2018-05-18 13:35:09 +02:00
Nico Tonnhofer 6f46e95b77 dda.c: no cruising time when rampup_steps == move_step_no
In some cases when move_step_no is equal to rampup_steps, this
algorithm think it is cruising. When cruising it setup the dda->c
to dda->c_min. Which is wrong in that case.

So we let recalculate the dda->c now. The axis will become a little
bit faster for none-cruising movements. When it hits cruising,
it will be capped anyway to dda->c_min. So the "TODO: check is obsolete"
is not obsolete anymore.
2018-02-16 08:49:55 +01:00
Markus Hitter b0a1d55f03 Simulator: fix variable name typo.
show_pintous -> show_pinouts
2018-01-07 12:55:37 +01:00
Markus Hitter 7441f6b6ba Simulator: be more clear about files opened.
Before, a seemingly valid command like ...

  ./sim -o sim-log.log -t 0 testcases/triangle-odd.gcode

... would not act as expected (treat both files as G-code source)
and not give meaningful hints on what's going on either. It just
reported 'Could not stat file'. No hint that it tries to open the
intended log file as G-code source.

Now the message reporting opening of a G-code file names it as
'G-code source' and opening of the recorder file gets reported,
too. Which should give a good idea about what's going on.
2018-01-07 12:54:26 +01:00
Markus Hitter 448a040f9a check_configtool.sh: don't ignore whitespace entirely.
Instead, any amount of whitespace is treated equally.

Example of a failure not noticed before:

  //#define Z_DIR_PIN  PA_8
  //#define Z_DIR_PINPA_8
2017-12-31 17:26:09 +01:00
Markus Hitter 00aab9f01d check_configtool.sh: show unified diffs.
They're clearer about which change version is in what file.
2017-12-31 17:23:15 +01:00
Matt Gilbert 732bd470cf Homing order in configtool.
Adjustments by Traumflug:

 - Rebased to current 'experimental'.

 - Some whitespace adjustments.

 - Renamed labelWidth_homing to labelWidthHoming.

 - Fixed an issue in printer.py which would write only the first
   character of an option ('x' instead of 'x_positive', 'n'
   instead of 'none', etc.)

Thank you very much for the code, Matt!
2017-12-31 17:22:51 +01:00
Wurstnase 6d1fa83c0e Add more baud rates into configtool
Minor adjustment by Traumflug: use '115200' instead of
self.defaultBaud.
2017-12-31 13:27:41 +01:00
Nico Tonnhofer 3f52d75cf7 GCC <= 4 need a builtin function for constant sqrt expressions 2017-12-08 18:36:59 +01:00
Nico Tonnhofer 99d5a3fbeb dda.c/.h: formattings 2017-12-08 18:25:02 +01:00
Nico Tonnhofer a0936287f9 home.c/.h: formattings 2017-12-08 18:22:08 +01:00
Nico Tonnhofer 5d5c169f07 gcode_process: change E-axis behavior of M83/G91
Only real relative mode with M83.
G91 moves the E-axis relative but position will be absolute.
M83 moves the E-axis relative. Position will be also relative.
2017-12-02 04:41:20 +01:00
Nico Tonnhofer c69b43b876 dda.c: reset startpoint.axis[E]
when e is in relative mode.
See also M83.
2017-12-02 04:39:28 +01:00
Nico Tonnhofer 4944698de6 dda.c: update_current_position() fixed for relative e-axis 2017-12-02 02:39:30 +01:00
Nico Tonnhofer e23a9b3e23 remove preprocessor_math.h
Compiler are pretty smart today. sqrt is precalculated for constant values.
E.g. you need to #include <math.h>. But no need to link the libmath.
cos/sin and other stuff should also work.
2017-12-02 00:11:34 +01:00
Nico Tonnhofer 3b13eb342f enumerate for axis endstop 2017-12-02 00:11:33 +01:00
Nico Tonnhofer ccbcbc5ab4 home.c: move fast_feedrate and search_feedrate to PROGMEM 2017-12-02 00:08:39 +01:00
Nico Tonnhofer 51eb03583d Give a warning for wrong TEMP_EWMA values.
float values are deprecated. Some users could accidentally set 1.0 to 1
2017-11-06 19:04:51 +01:00
Nico Tonnhofer 01c2300d20 home.c: refactor homing 2017-11-04 07:40:02 +01:00