aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* display: Add initial support for LCD screens attached to an MCUKevin O'Connor2018-03-0610-2/+588
| | | | | | | | Add support for displaying basic status information on ST7920 and HD44780 based LCDs that are attached directly to a micro-controller. Signed-off-by: Marcio Teixeira <marcio@alephobjects.com> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* serialqueue: Support sending messages at a background priorityKevin O'Connor2018-03-062-4/+12
| | | | | | | Support low-priority message transmits. This may be useful for bulk commands that should be delayed util the comms are otherwise idle. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* lcd_hd44780: Add micro-controller code for the HD44780 LCD chipKevin O'Connor2018-03-062-1/+133
| | | | | | | Add support for passing messages to an HD44780 chip via a 4-bit bit-banging interface. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* lcd_st7920: Add micro-controller code for the ST7920 LCD chipKevin O'Connor2018-03-064-0/+126
| | | | | | | Add support for passing messages to an ST7920 chip via a SPI bit-banging interface. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* 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>