aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mathutil: Move coordinate_descent() to new fileKevin O'Connor2018-03-044-39/+45
| | | | | | | Add a new python file (mathutil.py) and move the coordinate_descent() code to it. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* clocksync: Fix multi-mcu frequency adjustments with long movesKevin O'Connor2018-03-031-1/+1
| | | | | | | Commit 02ae2ab9 had a typo causing the new long move handling logic to not take effect. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* virtual_sdcard: Remove trailing '*' checksum indicator from M23 commandKevin O'Connor2018-03-021-0/+2
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: Note the use of the virtual_sdcard featureKevin O'Connor2018-03-022-6/+21
| | | | | | Note that virtual_sdcard helps on slower machines. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* serialhdl: Add a wrapper around the results of lookup_command()Kevin O'Connor2018-02-276-105/+109
| | | | | | | | Add a lookup_command() method to the SerialReader class that provides a wrapper that stores the serial and commandqueue references. This makes it easier to run the send() method. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* config: Move description of phase adjusted endstops to config-extra.cfgKevin O'Connor2018-02-272-26/+29
| | | | | | | | Move the description of stepper phase adjusted endstops to a new section in config-extra.cfg. This keeps the main example config file a little more concise. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* build: Use git describe --alwaysKevin O'Connor2018-02-262-2/+2
| | | | | | | | Add --always flag to "git describe" command to get a build identifier even if one checks out the repo with a depth parameter that prunes out the last tagged version. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* serialqueue: Don't clear must_exit flag at start of pollreactor_run()Kevin O'Connor2018-02-261-1/+0
| | | | | | | Avoid a timing race where must_exit is set before pollreactor_run() is started. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* test: Add travis_fold markers to build outputKevin O'Connor2018-02-261-0/+4
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* test: Add compile tests for at90usb1286 and atmega1284p chipsKevin O'Connor2018-02-262-0/+8
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* test: Update travis build to include a basic klippy host testKevin O'Connor2018-02-265-47/+76
| | | | | | | | | | | | | | | | | Move the travis installation steps from the travis-build.sh script to a new script (scripts/travis-install.sh). Move the travis-build.sh script to the scripts/ directory as well. The data dictionaries built in the compile tests are useful during host software testing, so run all the compile tests sequentially in a single VM and save the data dictionaries after each build. Also, build all the config files found in the test/configs/ directory. Create the python virtualenv environment during the install phase and invoke the klippy.py host software in the build phase to perform a basic host software sanity check. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* config: Use .0025 as the default z step_distance in sample configsKevin O'Connor2018-02-2513-13/+13
| | | | | | | | | | Don't use tiny step distances on the Z as that could cause a surprise to users that copy the config without updating all the settings. (A Z step distance that is too small would cause a high motor velocity.) A step distance of .0025 is very popular in practice, so change the default example configs to use that. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* config: Add an example config file that uses multiple MCUsKevin O'Connor2018-02-251-0/+87
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* test: Add travis CISebastian Meyer2018-02-258-0/+71
| | | | | Signed-off-by: Sebastian Meyer <ich@sebmeyer.de> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* build: Link objects ahead of libraries to avoid failures on some platformsSebastian Meyer2018-02-251-1/+1
| | | | Signed-off-by: Sebastian Meyer <ich@sebmeyer.de>
* avr: Add at90usb646 supportDouglas Hammond2018-02-253-6/+10
| | | | Signed-off-by: Douglas Hammond wizhippo@gmail.com
* graphstats: Support selecting an mcu to graph from the command-lineKevin O'Connor2018-02-191-13/+19
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* clocksync: Rework multi-mcu adjust to better handle long movesKevin O'Connor2018-02-191-11/+19
| | | | | | | | | | | | | | | | | | | The multi-mcu clock syncing code relies on the ability to periodically update the mcu clock adjustments. If a series of very long moves are submitted then it is possible the adjustments could become unstable. For example, if an adjustment is made to reduce a clock error over the next couple of seconds, but it is applied to a longer period because the next move lasts many seconds, then this would result in a bigger adjustment for the following move, which would result in an even bigger error when that move lasts many seconds. This can repeat until the system destabilizes. Check for cases where the print_time is far in the future of the current estimated print time and average over a longer period in that case. That should reduce the possibility of the adjustment code becoming unstable. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: Set size on frequency graphKevin O'Connor2018-02-181-0/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* ad5206: Warn if ad5206 enable pin is invertedKevin O'Connor2018-02-171-0/+2
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: Add tips for porting to new kinematics to Code_Overview.mdKevin O'Connor2018-02-172-0/+87
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Increase calibration log level from debug to infoKevin O'Connor2018-02-163-13/+12
| | | | | | | Output more information by default from the bed_tilt and delta_calibrate commands. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* config: Expand homing_override description in sample-bltouch.cfgKevin O'Connor2018-02-131-2/+5
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* config: Reword description of set_position_x paramter in homing_overrideKevin O'Connor2018-02-111-5/+5
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* config: Add a config snippet for the BLTouch probeKevin O'Connor2018-02-111-0/+53
| | | | | | | Add an example to help users with a BLTouch probe. This is based on information from @mediumo and @riddlez666. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* config: Add a "printer-" prefix to example printer config filesKevin O'Connor2018-02-119-0/+0
| | | | | | | Add a prefix to the example printer config files so that a sorted directory listing shows all the samples bundled together. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* virtual_sdcard: Initial support for virtual sdcardKevin O'Connor2018-02-113-1/+180
| | | | | | | | Add support for directly printing from a local file on the host. This may be useful if the host cpu is not fast enough to run OctoPrint well. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* gcode: Introduce request_restart() methodKevin O'Connor2018-02-111-20/+12
| | | | | | | Use request_restart() method instead of prep_restart() and motor_heater_off(). Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* gcode: Extract special cases from process_data()Kevin O'Connor2018-02-111-20/+28
| | | | | | | Handle the unlikely case of pending commands in a new method process_pending(). Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* mcu: Fix PWM static start value setupDave Bacon2018-02-101-1/+1
| | | | | | config_setup uses ._start_value instead of ._static_value which isn't defined. Signed-off-by: Dave Bacon <drb.github@mrbacon.com>
* docs: Update Config_checks.mdDave Bacon2018-02-071-1/+1
| | | | | | Navigation should be to the temperature tab to find the Tool temperature box. Signed-off-by: Dave Bacon <drb.github@mrbacon.com>
* pins: Warn on invalid pin formatKevin O'Connor2018-02-071-7/+17
| | | | | | Raise an error if a pin description isn't formatted correctly. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* bed_tilt: Negate parameters reported by bed_tilt_calibrateKevin O'Connor2018-02-051-1/+1
| | | | | | | | The bed_tilt_calibrate command determines the tilt of the bed. However, we need to report the tilt compensation which is the negative of the bed tilt. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* config: Add a pointer to example-extras.cfg at the end of example.cfgKevin O'Connor2018-02-051-0/+3
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* heater: Report stats whenever the heater is activeKevin O'Connor2018-02-051-1/+2
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* klippy: Allow any stats producer to determine when stats are neededKevin O'Connor2018-02-055-20/+12
| | | | | | | | Instead of using the toolhead class to determine if stats should be reported, allow every printer object with a stats() callback to determine if stats are needed. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* clocksync: Respond faster to clock changesKevin O'Connor2018-02-051-1/+1
| | | | | | | Average clock sync times over approximately 30 seconds instead of 120 seconds so that the clock prediction responds to changes faster. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* avrsim: Rework pacing mechanismKevin O'Connor2018-02-051-13/+11
| | | | | | Rework the pacing mechanism to make it more stable. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: Fix multi-mcu parsing with reordered statsKevin O'Connor2018-02-031-1/+7
| | | | | | | | The mcu stats (that contain a prefix) may occur before some other stats - make sure to only apply the stats prefix to those stats that need it. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* klippy: Introduce load_config_prefix() for modules that take parametersKevin O'Connor2018-02-0311-18/+12
| | | | | | | | Use both load_config() and load_config_prefix() functions when dynamically loading a module from the extras directory - if the config section name has parameters in it then use load_config_prefix(). Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* klippy: No need to store fileconfig in main printer objectKevin O'Connor2018-02-031-24/+22
| | | | | | Just pass the fileconfig reference to the ConfigWrapper instances. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* util: Call set_nonblock() in create_pty()Kevin O'Connor2018-02-021-2/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* gcode: Make sure need_ack is always restored on run_script()Kevin O'Connor2018-02-021-3/+5
| | | | | | Restore need_ack even on a G-Code exception. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* gcode: Keep reading input to check for M112 (emergency stop)Kevin O'Connor2018-02-021-11/+26
| | | | | | | | | | | | OctoPrint (and other software) will sometimes send additional commands even if the previous command has not yet responded with an "ok". Change the g-code input reading code to keep reading input so that an M112 can be detected (and processed out-of-order). To avoid the extreme case where one writes an entire g-code file to the input without any pacing, disable the input reading if more than 20 commands are pending. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* gcode: Propagate errors from run_script()Kevin O'Connor2018-02-011-0/+4
| | | | | | | If the script being run raises an error, then stop running that script and return the error to the caller. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* gcode: Ack even empty linesKevin O'Connor2018-02-011-2/+2
| | | | | | An empty input line should still return an "ok" message. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: Add github issue templateKevin O'Connor2018-01-311-0/+2
| | | | | | Add an issue template requesting the klippy log file. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* fan: Clarify hardware_pwm and allow cycle_time to be set on software pwmKevin O'Connor2018-01-299-51/+46
| | | | | | | | Specify hardware pwm cycle times using the same method as software pwm (in seconds, not clock ticks). Allow the fan code to be configured with an explicit cycle time even when using software pwm. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* avr: Round hardware pwm clock ticks to nearest divisorKevin O'Connor2018-01-291-12/+12
| | | | | | | Instead of rounding down to the nearest supported pwm divisor, round to the nearest divisor. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* mcu: Default the restart method to 'command' on non-serial portsKevin O'Connor2018-01-292-4/+11
| | | | | | | | If the mcu supports command restarts and it does not appear to use a real serial port, then default the restart method to 'command'. This is a better default on boards with native USB support. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>