aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* graphstats: Fix for print_stall detectionKevin O'Connor2018-01-281-5/+5
| | | | | | | The print_stall logic could cause large portions of the graph to show up as 100% host utilized. Rework the logic to avoid that. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* logextract: Fix error in config file name printKevin O'Connor2018-01-281-1/+1
| | | | | | Fix typo causing an error during the printing of the config file name. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* logextract: Better handle the case of a missing config sectionKevin O'Connor2018-01-211-4/+6
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: Use alpha transparency when plotting the statsKevin O'Connor2018-01-141-9/+7
| | | | | | | | | | | | | Use an alpha transparency on each of the stats, so that it is possible to see how the values overlap. Also, always enable the "awake time" stat - just use a lower alpha transparency for it. Also, explicitly set the graph size as some version of matplotlib have a different default. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: Fix filtering of normal buffer_time runoff statsKevin O'Connor2018-01-141-19/+25
| | | | | | | Update the mechanism to filter out cases where buffer_time is below MAXBUFFER so that it works with the statistics currently generated. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* logextract: Fix parsing of "is_shutdown" messagesKevin O'Connor2018-01-121-1/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* logextract: Add support for extracting shutdown info on multiple mcusKevin O'Connor2018-01-021-38/+70
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: Add support for generating a graph of mcu frequencyKevin O'Connor2017-12-301-4/+53
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: Use a smaller font in the graph legendKevin O'Connor2017-12-301-2/+4
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: Fix case where an Xwindows display may not be availableKevin O'Connor2017-12-301-5/+6
| | | | | | | Matplotlib will try to open a display by default - tell it not to do that so that it can run in batch mode on headless machines. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* logextract: Fix handling of messages with retransmitsKevin O'Connor2017-12-291-1/+2
| | | | | | | Properly handle the case where the original sequence number of a message is not known. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* build: Add gcc and binutils version to mcu data dictionaryKevin O'Connor2017-12-211-6/+43
| | | | | | | | Store the gcc and binutils versions used in the compilation of the firmware in the firmware data dictionary. Forward that information to the log so it is available during debugging. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* logextract: Update file commentKevin O'Connor2017-12-181-1/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* logextract: Rename extractconfig.py to logextract.py and add shutdown parsingKevin O'Connor2017-12-162-56/+259
| | | | | | | | | Add initial support for extracting out shutdown information from a klippy.log file. The shutdown dump will be reordered into the sequence that they occurred, and timestamps/sequence numbers in the mcu message dump will be expanded. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* extractconfig: Add helper script that extracts config files from a logKevin O'Connor2017-12-061-0/+56
| | | | | | | Add a helper script that can read a klippy.log file and extract the printer.cfg files from it. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: Fix graphing scriptKevin O'Connor2017-10-291-4/+6
| | | | | | | | Update the graphstats.py graphing script so that it works with recent stats changes - the stats can now contain groups that end with a ':' and the print_time is no longer reset to zero on a new print. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* pru: Force load the ADC module during PRU startupKevin O'Connor2017-10-181-0/+3
| | | | | | | | Make sure the ADC module gets loaded during startup - it's normally loaded by the cape manager eeprom, but there's no harm in requesting it explicitly. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* pru: Update start script to always unbind the PRU before binding itKevin O'Connor2017-10-051-1/+4
| | | | | | | | It appears some versions of Debian will load the PRU with firmware on boot, so make sure to always deactivate the PRU before attempting to activate it with new firmware. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* pru: Update installation and flash scriptsKevin O'Connor2017-09-204-29/+122
| | | | | | | | | Update the scripts used to install and "flash" the pru micro-controller code. Also, add a "flash" script for the linux micro-controller code. This makes it easier to install Klipper on a Beaglebone board that uses a Replicape. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: Increase maximum expected task durationKevin O'Connor2017-08-091-1/+2
| | | | | | | | | Now that tasks are only run when needed it's common for there to be a larger variation in task execution time. When graphing load, consider a 99-percentile task duration of 2.5ms to be 100% loaded (up from 1ms). Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: Fix so that older files (predating mcu_awake) still workKevin O'Connor2017-07-211-1/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: Support graphing "mcu_awake" statisticKevin O'Connor2017-07-191-2/+9
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* pru: Add documentation and install scripts for running on the PRUKevin O'Connor2017-07-052-0/+101
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* pru: Add support for "make flash" ruleKevin O'Connor2017-07-051-0/+30
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* sched: Pass shutdown reason code via longjmp() parameterKevin O'Connor2017-07-041-2/+4
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* msgproto: Export static_strings from mcu to host as a dictionaryKevin O'Connor2017-07-021-1/+2
| | | | | | Export the static strings as a dictionary instead of as a list. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* command: Directly call command_sendf() for ack/nak messagesKevin O'Connor2017-06-291-9/+1
| | | | | | | Don't use the sendf() macro for ack and nak messages - directly call the command_sendf() code instead. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* command: Encode MESSAGE_MIN in command_parser->max_sizeKevin O'Connor2017-06-291-3/+5
| | | | | | | Add the message minimum into the stored constant so it does not need to be added at run-time. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* build: Request python2 for all directly executed python binariesKevin O'Connor2017-06-275-5/+5
| | | | | | | Some systems point python to python3 instead of python2 - explicitly request python2 to avoid conflicts. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* checkstack: Continue to accumulate stack usage on misc instructionsKevin O'Connor2017-06-221-2/+2
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* install-octopi: Add python-virtualdev to package listKevin O'Connor2017-06-151-1/+1
| | | | | | | | Add python-virtualdev to the list of system packages to be installed - it's usually already installed, but it doesn't hurt to add it to the list in case it isn't already installed. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* command: Store the command parsing information directly in arrayKevin O'Connor2017-05-262-20/+23
| | | | | | | Instead of defining an array of pointers, just define the array directly. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* build: Use compile_time_request system for init, tasks, and shutdownKevin O'Connor2017-05-262-10/+27
| | | | | | | | Avoid using linker magic to define the init, task, and shutdown functions. Instead, use the compile_time_request system. This simplifies the build and produces more efficient code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* build: Avoid linker magic in compile_time_request.c unique id generationKevin O'Connor2017-05-261-19/+65
| | | | | | | | | | | | Avoid generating unique ids via memory locations and linker scripts. Instead, generate them using code produced by buildcommands.py. Utilize gcc's ability to perform static string comparisons at compile time to produce a unique id for each unique string. This fixes a build failure on ARM introduced in 142b92b8. It also reduces the complexity of the build. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* build: Add __visible to variables in compile_time_request.cKevin O'Connor2017-05-151-6/+8
| | | | | | | Add __visible to generated code in compile_time_request.c so that the main code can be compiled with -fwhole-program. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* scripts: Add octopi installation scriptsKevin O'Connor2017-04-212-0/+156
| | | | | | | | Add a system startup script so that Klipper can automatically start at boot time. Create an installation script that will install the system dependencies and the startup script. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: The times are no longer in UTC timeKevin O'Connor2017-04-111-1/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* checkstack: Be more flexible in finding the timer irq functionKevin O'Connor2017-04-021-2/+2
| | | | | | | If __vector_13 doesn't exist then try __vector_17. If neither exists then handle that gracefully. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* avrsim: Catch simulation errorsKevin O'Connor2017-03-261-0/+1
| | | | | | | Request that simulavr throw an exception on a fatal emulation error instead of exiting the process. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* checkstack: Updates for newer binutilsKevin O'Connor2017-03-261-0/+3
| | | | | | | Newer versions of binutils report the variable name on memory accesses. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* avrsim: Support pacing the simulationKevin O'Connor2017-03-241-1/+32
| | | | | | | Support timing the simulation scaled to the system clock. This can be used to make the host estimation of the mcu clock more accurate. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* avrsim: Do IO directly from simulavr callbacksKevin O'Connor2017-03-241-45/+39
| | | | | | | | Don't start/stop the simulavr simulation loop to do IO - instead implement the IO directly in the serial callback handlers. This improves the speed and consistency of the simulation. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Rework lookahead flush to be more stable during high cpuKevin O'Connor2017-02-121-2/+2
| | | | | | | | | | | | | | | | | Change the lookahead queue so that it attempts to buffer at least buffer_time_high amount of moves when first starting a print. This helps ensure the buffer is normally always full. If the buffer falls below buffer_time_low then it is either due to the end of a print or because octoprint/klippy is unable to keep up. Change the code so that in this case the lookahead queue will attempt to gather buffer_time_high amount of moves before restarting movement. Update the default buffer_time_low to 1 second and buffer_time_high to 2 seconds. With the above changes a smaller buffer_time_high and a larger buffer_time_low are more practical. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: Display host buffer stats in graphKevin O'Connor2017-02-021-2/+24
| | | | | | | Prune host buffer stats near the start and end of the print. Graph the remaining buffer stats. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* build: Define DECL_CONSTANT mechanism for defining exported constantsKevin O'Connor2016-12-231-28/+15
| | | | | | | | | Add a DECL_CONSTANT macro to allow the firmware to define constants that are to be exported to the host during the "identify" phase. This replaces the existing hardcoded mechanism of scanning the Kconfig header file for certain constants. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: Updates for recent stats changesKevin O'Connor2016-12-061-2/+7
| | | | | | | Update the graphstats helper script to account for recent changes in the statistics output. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stepstats: Update stepstats script with change in dir_pin meaningKevin O'Connor2016-12-011-2/+2
| | | | | | | Commit afecf7ce inverted the direction of the direction pin in queue_step commands - update the stepstats script to conform. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stepstats: Add debugging script to calculate stats on stepper movementKevin O'Connor2016-10-311-0/+39
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* graphstats: Add new helper script that generates graphs of MCU loadKevin O'Connor2016-10-311-0/+85
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* build: Support creating and storing the data dictionary on each buildKevin O'Connor2016-09-101-3/+11
| | | | | | | Generate the data dictionary in out/klipper.dict on each build. This makes it easier to use the dictionary when debugging. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>