Commit Graph

300 Commits

Author SHA1 Message Date
Justin Schuh cfff897480 spi_flash: Better fallback on MCU protocol change
Support a set of known past config responses.

Signed-off-by: Justin Schuh <code@justinschuh.com>
2021-11-09 20:15:46 -05:00
Justin Schuh 76bfc3237a spi_flash: Fix MCU handshake protocol
Update config response string to match new version from d4aee4f.

Signed-off-by: Justin Schuh <code@justinschuh.com>
2021-11-08 20:07:38 -05:00
Kevin O'Connor dd98884bb4 buildcommands: Use regular str() types for input on Python2
Avoid using unicode() types on Python2 as it can lead to subtle
errors.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-31 13:52:31 -04:00
Dmitry Butyugin d5a7a7f00f input_shaper: Define input shapers in a single place in Python code
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-10-26 16:14:50 -04:00
Kevin O'Connor 5c10001bc5 motan: Minor change to corexy analyzer label
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-16 22:18:51 -04:00
Kevin O'Connor cf3b7d290c motan: Add an analyzer to integrate accelerometer input
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-16 22:18:51 -04:00
Kevin O'Connor 466198c0f4 motan: Add support for graphing stepper motor phase and microstep position
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-16 22:18:51 -04:00
Kevin O'Connor 03021ae722 motan: Show data filename in graph title
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-16 22:18:45 -04:00
Kevin O'Connor c56c34fa1c configfile: Use Python2's ConfigParser when running on Python2
The backport of Python3's configparser causes issues when there is
unicode characters in the config file.  To avoid introducing new
errors, go back to using the Python2 version of ConfigParser when
running on Python2.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-09 19:37:48 -04:00
Kevin O'Connor 1a4d655a18 spi_flash: Improve Python3 compatibility
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-07 20:05:15 -04:00
Kevin O'Connor cc63fd51b2 scripts: Use backport of a recent Python3 configparser on Python2
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-04 15:10:46 -04:00
Kevin O'Connor 41d42a07bf klippy: Add a build import test tool
Add a test case to verify that every optional module successfully
loads on both Python2 and Python3.  This is intended to catch syntax
and module imports that are not compatible between Python versions.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-04 14:36:08 -04:00
Kevin O'Connor b743a64685 scripts: Update klippy build tests to verify on both Python2 and Python3
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-04 14:36:08 -04:00
Kevin O'Connor 1717263b5a buildcommands: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:28:27 -04:00
Kevin O'Connor 9ce07921c4 test_klippy: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:22:13 -04:00
Kevin O'Connor cc2a313c10 klippy-requirements: Update dependencies to support Python 3.9+
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:07:48 -04:00
Kevin O'Connor c543b00aa6 motan: Improve handling of errors during data subscriptions
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-09-26 12:24:40 -04:00
Kevin O'Connor 59bd51d207 avrsim: Change default speed to 16Mhz and default baud to 250K
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-09-16 20:11:42 -04:00
Vladimir Serov 4b5d1c85c0
update_chitu: generating update uuid based on file hash (#4663)
This makes update_chitu a pure function: same file in — same file out.
That's something I need to make Nix builds for firmware itself reproducible.

Signed-off-by: Vladimir Serov <me@cab404.ru>
2021-09-15 18:31:47 -04:00
Kevin O'Connor f11acd8065 motan: Add support for dumping and analyzing adxl345 data
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:26:39 -04:00
Kevin O'Connor 15035ed226 motan: Add corexy forward kinematics analyzer
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:12:11 -04:00
Kevin O'Connor 5e968db355 motan: Add support for graphing arbitrary get_status fields
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:12:11 -04:00
Kevin O'Connor 1e4041a96b motan: Pass dataset parameters in parenthesis
Replace names like "trapq:toolhead:x" with "trapq(toolhead,x)".

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:12:01 -04:00
Kevin O'Connor d759b4e532 motan_graph: Fix legend when using matplotlib twinx
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-24 10:19:23 -04:00
Kevin O'Connor 7aa2c11b3a data_logger: Flush the initial index file when all queries complete
This should avoid zero byte index files for small captures.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-24 10:19:12 -04:00
Kevin O'Connor d57daa2354 readlog: Support queue_step smoothing
Logically "smooth" each step in a queue_step sequence over a small
time period.  This smoothing makes it easier for the analysis tools to
extract high-level trends from the data.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-22 12:22:11 -04:00
Kevin O'Connor 42080751d7 motan_graph: Initial support for graphing data log
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-22 12:22:11 -04:00
Kevin O'Connor 171a73e380 data_logger: Add tool for bulk logging of data via the API server
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-22 11:10:19 -04:00
Kevin O'Connor 1bc4f90fb0 flash-linux: Fix spelling error in message
Reported by @stefanfoulis.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-17 13:25:19 -04:00
Kevin O'Connor 4d5c619b8e scripts: Update graphing scripts to work with either python2 or python3
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-02 12:44:05 -04:00
Kevin O'Connor 994f388b5c check_whitespace: Also check txt, css, html, yaml, and yml files for errors
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-07-27 13:37:48 -04:00
Justin Schuh 121052ad39 spi_flash: Support firmware dictionary validation
Updates firmware validation to use a dictionary if provided (or found
when updating from the default out/ directory).

Validation without a dictionary still checks the following (in order):
1. Active firmware's raw dictionary changed after update
2. Checksum of firmware.cur matches expected

Signed-off-by: Justin Schuh <code@justinschuh.com>
2021-07-20 18:05:05 -04:00
Justin Schuh bb801905be spi_flash: Make SD updates more tolerant of flaky boards
Validation passes if either of the following succeeds (in order):
1. Active firmware's raw dictionary changed after update
2. Checksum of firmware.cur matches expected

Additionally, deletes firmware.bin if found after update succeeds.

Signed-off-by: Justin Schuh <code@justinschuh.com>
2021-07-20 18:05:05 -04:00
henrikssn 430578957f
stm32: Add support for STM32F072 (used in the TurboCAN board) (#4412)
* Add menuconfig option for stm32f072
* Add support for internal temp of stm32f072
* Share the temperature calculation logic between stm32f0x2 MCUs

Signed-off-by: Erik Henriksson <erikhenrikssn@gmail.com>
2021-06-27 20:35:34 -04:00
Wilhelm Schuster 5fb5b3afe1 spi_flash: Add board definitions for Fysetc S6 and Spider
Signed-off-by: Wilhelm Schuster <ws@rot13.io>
2021-05-03 14:36:18 -04:00
Kevin O'Connor d1946fb6ed graphstats: Support graphing multiple heaters
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-29 15:53:28 -04:00
Kevin O'Connor 947ffe706d buildcommands: Don't attach hostname and build date to version on a clean build
Most builds will be direclty from git - removing the hostname and
build date should permit reproducible binaries in that common case.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-22 11:39:25 -04:00
Kevin O'Connor 3d37362d6e buildcommands: Call irq_poll() after last task function
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-21 19:36:49 -04:00
Dmitry Butyugin 165d2fc228 resonance_tester: Fixed multi-point resonance testing
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-04-07 19:05:23 -04:00
Kevin O'Connor 964e3cc456 klippy-requirements: Update Jinja2 to 2.11.3
There was a security fix in Jinja2 v2.11.3 - it does not impact
Klipper, but there is no harm in updating.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-25 11:05:27 -04:00
Dmitry Butyugin 2d8945dc1c graph_accelerometer: Support axis-level comparison of adxl345 data
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-03-20 13:24:43 -04:00
Dmitry Butyugin db4a254ece calibrate_shaper: Use fixed 5 Hz steps for minor ticks in the charts
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-03-20 13:24:43 -04:00
Dmitry Butyugin 73a39370ad shaper_calibrate: Estimate max_accel to avoid excessive smoothing
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-03-20 13:24:43 -04:00
Kevin O'Connor 5e0503f643 canbus_query: Add tool to query CANBUS uuid
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-13 11:29:41 -05:00
Kevin O'Connor a20f4a8759 serialhdl: Add support for communicating over a CAN bus
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-13 11:29:41 -05:00
Kevin O'Connor 9d3a3f3f30 serialhdl: Update callers to decide serial fd type
Don't try to detect a "real serial port" in serialhdl.py.  Instead,
have the callers invoke either connect_uart(), connect_file(), or
connect_pipe().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-02 11:38:50 -05:00
Kevin O'Connor ddb795bccc logextract: Improve handling of TMC UART read/write register commands
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-28 17:15:29 -05:00
Kevin O'Connor a1a7b5e480 logextract: Add helper to decode tmcuart messages
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-28 16:18:09 -05:00
Kevin O'Connor 0a813f2805 scripts: Fix typo in install-centos.sh
Reported by @fishbone222.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-20 09:27:45 -05:00
Kevin O'Connor 81da5379d4 buildcommands: Extend number of available mcu messages from 96 to 128
Some internal code treats the message ids as encoded "variable length
quantities", while other internal code assumes the message id is
always one byte long.  Continue using this scheme, but convert the VLQ
users to use the name "msgtag" while the 1-byte users use "msgid".
Increase the number of available msgids from 96 to 127 - the higher
values get encoded as negative "msgtags".

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-18 15:21:32 -05:00
Kevin O'Connor efa497dfd8 msgproto: Avoid peeking into the msgproto class members
Update callers to only use exported methods of the msgproto objects.
This makes it easier to make internal changes to the code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-18 14:33:44 -05:00
Kevin O'Connor 1049282eec chelper: Fix check for failed code build
Commit 73b78af6 inadvertently removed the check for a successful gcc
compilation.  Add the check back in.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-07 20:48:21 -05:00
Arksine d79e7ab31b scripts: add flash-sdcard.sh helper script
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-02-05 19:37:56 -05:00
Arksine 44c1caf2b9 spi_flash: support for firmware upgrades via SD Card
This module connects directly to MCU's previously flashed with Klipper, uploads Klipper firmware to an attached SD Card, and performs a device reset to intiate the bootloader's update process.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-02-05 19:37:56 -05:00
Kevin O'Connor dd7b98cce4 scripts: Remove python-virtualenv from install scripts on debian type distros
The python-virtualenv package is no longer present on modern distros
and the dependency is not needed.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-01-24 11:32:09 -05:00
Dmitry Butyugin 1b1a97e8bd shaper_calibrate: Choose input shapers accounting smoothing
Improved algorithm to choose the 'optimal' shaper frequency taking
shaper smoothing into account. This may choose a frequency with
slightly more vibrations but less smoothing. Also allow users to
limit the maximum input shaper smoothing.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2020-12-22 18:37:41 -05:00
Dmitry Butyugin 5ccc17042c scripts: Small improvements for input shaper and accelerometer scripts
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2020-12-19 11:58:35 -05:00
Kevin O'Connor 41a41881f7 ci-build: Report binary size during build tests
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-12-10 12:06:26 -05:00
Kevin O'Connor d339839a91 graphstats: Allow graphing of temperature_sensor logs
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-12-07 09:53:24 -05:00
Kevin O'Connor 8ed01a1d1d scripts: No need to include python-virtualenv in package dependencies
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-11-23 12:24:27 -05:00
Kevin O'Connor d380fc002b scripts: Minor formatting change to ci-install.sh
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-11-23 12:24:27 -05:00
Kevin O'Connor 90e1a87a56 scripts: Remove no longer used kconfig code
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-11-23 10:17:48 -05:00
Kevin O'Connor 1de7f3954e build-test: Move system package installation to ci-install.sh
It's more maintainable to have the system packages listed in
ci-install.sh instead of in build-test.yaml.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-10-30 15:30:48 -04:00
Kevin O'Connor fd973acd34 build-test: Remove references to "travis" in build tests
Use "ci-build.sh" "ci-install.sh" and similar, as travis-ci is no
longer being used.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-10-30 15:30:48 -04:00
Kevin O'Connor 33a2d48888 build-test: Build with normal Ubuntu arm-eabi compiler
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-10-30 15:30:44 -04:00
Kevin O'Connor 7ad36a2164 github: Run continuous integration tests using "github actions"
Use "github actions" instead of "travis ci" for the automatic build
regression tests.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-10-30 15:23:42 -04:00
Dmitry Butyugin f8c4f90c04
resonance_tester: Resonance testing and input shaper auto-calibration (#3381)
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2020-10-14 20:08:10 -04:00
Kevin O'Connor 3efb424d66 graphstats: Add support for graphing system load
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-09-16 21:35:09 -04:00
Kevin O'Connor 1208ec1f52 avrsim: Minor changes so avrsim can run on both Python2 and Python3
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-09-16 12:05:26 -04:00
Dmitry Butyugin 054762da3d avrsim: migrated to Python 3
Note that the latest simulavr 1.1.0 does not support Python 2 anymore.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2020-09-13 11:08:46 -04:00
Kevin O'Connor 9b2816477b graph_temp_sensor: Add support for graphing sensor resistance
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-09-09 17:14:09 -04:00
Kevin O'Connor 09bc207189 graph_accelerometer: Add tool to graph accelerometer results
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-09-05 09:11:04 -04:00
Kevin O'Connor 61fa7e82d9 travis-install: Minor change to virtualenv command-line arguments
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-09-03 13:27:27 -04:00
Kevin O'Connor 81865b5940 install-octopi: Use "virtualenv -p python2" to ensure python2 is selected
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-09-03 13:19:55 -04:00
Kevin O'Connor 12529ef6cd update_chitu: Rename script and minor changes
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-08-30 13:11:34 -04:00
Cabia Rangris 15853da28c
config: Added TronXY X5SA support (#3265)
Added printer-tronxy-x5sa-v6 config.
Added "chitu" bootloader option to stm32 Kconfig.
Added chitu_crypt.

Signed-off-by: Vladimir Serov <me@cab404.ru>
2020-08-30 12:59:28 -04:00
Kevin O'Connor 2a27093f69 graph_temp_sensor: Add tool to graph ADC resolution of temperature sensors
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-08-17 12:37:43 -04:00
Kevin O'Connor ebc79a1ee8 whconsole: Add utility for testing the "webhooks" interface
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-08-16 13:20:25 -04:00
Kevin O'Connor 4a35d7e8bd update_mks_robin: Remove unnecessary imports
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-07-24 11:02:15 -04:00
Dmitry Butyugin bc488c2161
scripts: scripts to simulate input_shaper response and toolhead movement (#3063)
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2020-07-19 20:23:02 -04:00
Arksine 342a230984 scripts: add executable permissions to klipper-mcu-start.sh
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2020-07-05 20:48:12 -04:00
Lucio Tarantino 35bbd989e4
docs: LinuxMCU doc & script (#2956)
Signed-off-by: Lucio Tarantino <lucio.tarantino@gmail.com>
2020-06-12 20:32:12 -04:00
BlackStump bceb8ddee2
scripts: Permission fix for debian-install (#2936)
Signed-off-by: Trevor Wilson <altocoey@hotmail.com>
2020-05-31 19:05:46 -04:00
Arksine ab87af90a3 stm32f4: Add support for HID bootloader
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2020-05-28 14:44:51 -04:00
Arksine 380ba2a618 scripts: add libusb-1.0 to install scripts
The hid-flash tool depends on libusb-1.0-0-dev

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2020-05-28 14:44:51 -04:00
Arksine 05efccc874 stm32f1: Add support for HID Bootloader
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-05-28 14:44:51 -04:00
kiwigod bf367ad2b6 scripts: add arch linux install script
Automate installation for Arch Linux based systems

Signed-off-by: Arjun Sardjoe Missier <amissier@pm.me>
2020-05-28 14:40:04 -04:00
Georgios Karnas 393f37dbfc
avrsim: update avrsim pty attr (#2343)
Signed-off-by: Georgios Karnas <kargeor@gmail.com>
2020-05-05 17:57:42 -04:00
sillyfrog 0342c50033
scripts: Update Docker file for current Klipper version (#2666)
Signed-off-by: Trent Davis <tgh@sillyfrog.com>
2020-04-02 20:19:26 -04:00
Kevin O'Connor 302cd38217 update_mks_robin: Add script to update firmware for MKS Robin bootloader
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-03-24 10:30:02 -04:00
Kevin O'Connor 0e37f8c9b3 graph_extruder: Internal updates to graph calculation
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-02-18 12:38:45 -05:00
Kevin O'Connor b3a180ea77 graph_extruder: Add in older pa algorithms for reference
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-02-03 16:42:57 -05:00
Kevin O'Connor 264aac5856 scripts: Revert virtualenv workarounds
Revert "scripts: Disable "virtualenv setuptools" in install-octopi.sh script"
This reverts commit 5fc92ff6b7.

Revert "scripts: Install "virtualenv setuptools==44.0.0" in install-octopi.sh"
This reverts commit 730c7cfc20.

The online setuptools repository was fixed upstream, so it is no
longer necessary to implement a local virtualenv workaround.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-01-25 10:34:24 -05:00
Kevin O'Connor 730c7cfc20 scripts: Install "virtualenv setuptools==44.0.0" in install-octopi.sh
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-01-12 18:22:14 -05:00
Kevin O'Connor 5fc92ff6b7 scripts: Disable "virtualenv setuptools" in install-octopi.sh script
The default setuptools installed by virtaulenv has dropped support for
python2.  Explicitly remove it from the installation.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2020-01-12 16:51:49 -05:00
Kevin O'Connor dabffcc22c kin_extruder: Convert pressure advance to use "weighted average"
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-12-20 12:21:58 -05:00
BlackStump 7532e4ccea scripts: Replicape pru update start scripts (#2277)
Signed-off-by: Trevor Wilson <altocoey@hotmail.com>
2019-12-18 12:11:40 -05:00
Kevin O'Connor 1d05a34cd7 docs: Update Kinematics.md document with "smooth pressure advance"
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-12-13 17:52:51 -05:00
Kevin O'Connor 064804b688 graphstats: Fix matplotlib import error
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-11-10 10:18:31 -05:00
Kevin O'Connor 1a69f38e6e flash_usb: Pass -t $CONFIG_MCU to flash_usb on all targets
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-10-26 18:48:00 -04:00