Commit Graph

1289 Commits

Author SHA1 Message Date
Kevin O'Connor 555ac58a3f pca9632: Add support for configurable color_order
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-07 11:48:25 -04:00
Kevin O'Connor f0700c0985 pca9632: Support using hardware I2C
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-07 11:43:52 -04:00
Kevin O'Connor dc7b02f329 neopixel: Support arbitrary RGBW strings in color_order config
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-06 09:27:36 -04:00
Kevin O'Connor e6bfc4c9aa led: Support setting display_template parameters via SET_LED_TEMPLATE
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 1ab3ac39e4 led: Support automated LED updates based on display_template results
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor a6ab56c0a6 display: Add a new PrinterDisplayTemplate class for tracking template macros
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 2001eecd5e pca9533: Add support for 4 brightness levels
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 47828b4056 pca9533: Update to use LEDHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 271c2ac95b pca9632: Update to use LEDHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 0c425cf014 mcp4018: Support setting minclock and reqclock in SoftwareI2C class
This is in preparation for pca9632 changes.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 9136a29196 dotstar: Update to use LEDHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 8b8818c0f7 neopixel: Update to use LEDHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 96795def9c led: Add support for PWM controlled LEDs
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor c08f83ff47 pid_calibrate: Improve Python3 compatibility in debug file output
Reported by @kpishere.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:37:03 -04:00
Kevin O'Connor 4d1c3478ab angle: Add support for reading tle5012b chip registers (for debugging)
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor 1275281ab6 angle: Initialize tle5012b chip variants to same configuration
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor 1b08553a42 angle: Report tle5012b temperature
Export the tle5012b temperature readings when performing measurements.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor f9d505e376 sensor_angle: Support TLE5012b frame counter for timing
Use the tle5012b internal frame counter to calculate the time of each
measurement.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor aec742ece4 angle: Initial support for angle sensor calibration
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor 74937326d3 sensor_angle: Add support for bulk querying of spi angle sensors
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Alex Maclean 8049243221 atsam: Add support for SAM E70
Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2022-03-26 11:59:27 -04:00
Justin Schuh 1390b4d600 virtual_sdcard: Allow spaces in file path for M23
Also makes M23 work normally with rename_existing.

Signed-off-by: Justin Schuh <code@justinschuh.com>
2022-03-18 11:44:33 -04:00
Kevin O'Connor 98d3fffd79 palette2: Fix typo (gmcd vs gcmd)
Reported by @Ludy87.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-17 20:53:07 -04:00
Kevin O'Connor a43973b0e0 skew_corrections: Fix typo (gmcd vs gcmd)
Reported by @Ludy87.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-17 20:52:10 -04:00
Ricardo Alcântara 0761026e36
pca9632: LED module for FlashForge Dreamer 3D printer (#4654)
Added PCA9632 LED module support using software I2C from MCP4018
modulo drive the LED strip of a FlashForge Dreamer 3D printer.
Based on the PCA9533 module. 

Signed-off-by: Ricardo Alcantara <ricardo@vulcanolabs.xyz>
2022-03-14 14:28:42 -04:00
Stefan Dej 12e304fbec temperature_fan: add missing round function to get_status temperature
Signed-off-by: Stefan Dej <meteyou@gmail.com>
2022-03-14 13:48:38 -04:00
electron2410 02d770ae3c
neopixel: add BGR for neopixel (#5160)
Signed-off-by: Thomas Liebold <electron2410@gmail.com>
2022-03-14 12:30:58 -04:00
Pedro Lamas 38b992532a display_status: stops M73 from setting progress to 0 if P missing
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2022-03-08 14:20:35 -05:00
Kevin O'Connor 4815a946c2 extruder_stepper: Do not default to synching with "extruder" at startup
With recent changes, the extruder_stepper may be used for new
purposes, and synchronizing to the "extruder" motion queue at startup
may become a confusing default.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-04 13:38:59 -05:00
Lorenzo 7c964e5fdf
dac084S085: SPI DAC DAC084S085 implementation (#5134)
Alligator Board Rev2 tested config sample.
Add example configuration file for Alligator board rev.3.

Signed-off-by: Lorenzo Franco <lorenzo.franco@lorenzing.com>
2022-02-22 10:28:28 -05:00
Kevin O'Connor b0a24a4458 motion_report: Ensure startstop_cb is called atomically
Make sure APIDumpHelper() does not invoke the startstop callback while
it is already running.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-21 22:22:14 -05:00
Misterke 8b0c6fcb08 bed_mesh: Report actual mesh profiles as status
Report the actual profiles available via BED_MESH_PROFILE
via the status for use by clients.

Signed-off-by: Kurt Haenen <kurt.haenen@gmail.com>
2022-02-16 13:42:19 -05:00
Kevin O'Connor 1c594ef27a bed_mesh: Fix integer division issue on Python3
Reported by @CODeRUS.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-10 14:09:15 -05:00
Kevin O'Connor 9ec9742484 extruder: Add support for reversing the direction of extruder stepper movement
Extend SET_EXTRUDER_ROTATION_DISTANCE to support reversing the
direction of extruder movement.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-10 13:24:21 -05:00
Kevin O'Connor 189188e3ca extruder: Add a SET_EXTRUDER_ROTATION_DISTANCE command
Support altering the extruder distance using the higher-level
rotation_distance.  This is in preparation for removal of the
SET_EXTRUDER_STEP_DISTANCE command.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-10 13:24:21 -05:00
cbc02009 54646c77dc
bme280: fix integer handling for python3 in bme280.py (#5237)
Singed-off-by: Christopher Conroy <cbc02009@gmail.com>
2022-02-06 12:15:35 -05:00
Nick Douma 28b568a6ac
gcode_arcs: detect CW / CCW move with renamed G2/G3 command (#5096)
The G2 / G3 command might be renamed using `gcode_macro` + `rename_existing`. This change allow detecting clockwise / anti-clockwise moves when the command gets renamed.

Signed-off-by: Nick Douma <n.douma@nekoconeko.nl>
2022-01-22 20:47:51 -05:00
D4SK 2f1edac922
tmc: Fix number of arguments in phase endstop warning (#5184)
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
2022-01-22 20:41:44 -05:00
Kevin O'Connor eb2a67cb95 extruder: Support SYNC_STEPPER_TO_EXTRUDER on extruder objects
Refactor the extruder_stepper support so that it uses the
ExtruderStepper class defined in extruder.py.

Support the SYNC_STEPPER_TO_EXTRUDER command on steppers defined in
either extruder_stepper or extruder config sections.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-01-16 19:01:15 -05:00
Kevin O'Connor 34a1ce4837 tmc2130: Rework current selection to prefer vsense=1
It is preferable to program the tmc drivers with an irun (or cs)
setting near 31, as otherwise the driver may have reduced microstep
precision.  It was possible for the driver to be programmed with
irun=16 or irun=17 when it could have been configured with irun=31
with vsense=1 instead.  This would occur on tmc2130/tmc2208/tmc2209
drivers for values around 0.900 to 1.000 amps (when using a typical
sense_resistor settings of 0.110 Ohms).

Change the code to prefer using vsense=1 to avoid this issue.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-01-16 19:00:00 -05:00
individ-divided 538f09a2da
pause_resume: Do not clobber default state name by accident (#5156)
Previously accidentally used 'default' state name instead of the
stated one ('PAUSE_STATE'). This might collide with user usage of the
SAVE_GCODE_STATE macro.

Signed-off-by: David Grundberg <individ@acc.umu.se>
2022-01-16 13:00:24 -05:00
Tim Abraham babb067b60
neopixel: Update neopixel.py to add BRG color order (#5110)
Add BRG color option.
Document BRG color option.

Signed-off-by: Timothy Abraham <Timothyabe93@gmail.com>
2022-01-12 12:18:08 -05:00
Kevin O'Connor 1c24317380 stm32: Enable ADC support on stm32g0
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:26 -05:00
Kevin O'Connor 62cfc2527f statistics: Improve Python3 compatibility
Reported by @vladimir-poleh .

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-15 11:27:08 -05:00
Dennis Marttinen 83889ac435 print_stats: Fix exception when canceling in/as first G-code
Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2021-11-21 08:01:43 -05:00
Pedro Lamas 7ef7bf608a gcode_macro: Add "rawparams" pseudo-variable
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2021-11-19 11:22:36 -05:00
Eric Callahan 46381e03a4
gcode_macro: fix reference issues to the variables attribute (#4925)
Create a copy of the dictionary prior to updating the the variable field.
This fixes an issue where webhooks holds a reference to the variables
dict returned by get_status().

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-11-19 02:01:16 -05:00
Geoffrey Young 5dcc377cde temperature_sensors: add ATC Semitec 104NT-4-R025H42G thermistor
module: extras/temperature_sensors.cfg

this thermistor is the 104NT-4 resold by Trianglelab (and others on Ali),
as well as the 300 degree resold by Slice Engineering, both of which use the
same RT table (TL even links to the ATC Semitec website)

see the 300 C tab on the Slice spreadsheet:
  https://docs.google.com/spreadsheets/d/1904x5JK-Sup-cX5DqHiiZWaFVTK6_PQBFxgi_6yXEJw/edit#gid=934228925
as well as the TL product page:
  https://www.aliexpress.com/item/32843785247.html
in addition to the RT table provided in temperature_sensors.cfg

Signed-off-by: Geoffrey Young <geoffrey.young@gmail.com>
2021-11-15 23:14:32 -05:00
Kevin O'Connor c179db3d43 temperature_sensors: Deprecate "NTC 100K beta 3950" thermistor
It seems the common "beta 3950" thermistors generally follow a
temperature table defined by the new "Generic 3950" definition.  Using
a table that actually follows the "beta 3950" temperature curve is
generally less accurate.  Deprecate the existing "NTC 100K beta 3950"
definition to avoid this common issue.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-10 18:56:51 -05:00
Kevin O'Connor 19aac4055d temperature_sensors: Add a new "Generic 3950" thermistor
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-10 18:52:55 -05:00
Kevin O'Connor c0909d2f7f temperature_sensors: Define default thermistors in config
Move the definitions of the default thermistors from thermistors.py to
the temperature_sensors.cfg file.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-10 18:52:55 -05:00
Kevin O'Connor 596cd21751 temperature_sensors: Define default sensors in new config file
Move the default list of sensor modules from heaters.py to a new
temperature_sensors.cfg config file.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-10 18:52:55 -05:00
Kevin O'Connor 689231df3a stepper: Add support for stepping on both edges of a step pulse
Add an optimized step function for drivers that support stepping on
both rising and falling edges of the step pin.  Enable this
optimization on 32bit ARM micro-controllers.  Automatically detect
this capability in the host code and enable on TMC drivers running in
SPI/UART mode.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-04 12:06:27 -04:00
Kevin O'Connor 8bfcedfb42 heaters: Remove support for deprecated pid_integral_max option
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-02 12:45:11 -04:00
Kevin O'Connor 6e0431907d gcode_macro: Remove support for deprecated features
Remove support for default_parameter_xxx config options.  Remove
support for direct access to command parameters.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-02 12:45:11 -04:00
Kevin O'Connor b79a51c383 temperature_host: Remove support for deprecated rpi_temperature alias
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-02 12:45:11 -04:00
Kevin O'Connor ccee189f99 palette2: 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
Eric Callahan d90c3bc57a idle_timeout: exit the timer if the printer is shutdown
This resolves an issue where the timer can get stuck
in an attempt to transition from Ready to Idle if
the printer is shutdown.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-29 18:39:47 -04:00
Kevin O'Connor cf4bfb1119 tmc: Rename handle_stepper_enable() method to _handle_stepper_enable()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-29 11:56:44 -04:00
Kevin O'Connor 86fee2d517 tmc: Track requested hold_current so SET_TMC_CURRENT doesn't reduce it
The code automatically reduces the hold_current so that it is no
greater than the run_current.  However, this could lead to confusing
behavior if one reduced and then increased the run_current via
SET_TMC_CURRENT commands.  To avoid that, this change adds support for
tracking the requested hold_current - thus changes to run_current
don't subtly alter the hold_current.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-27 12:13:38 -04:00
Kevin O'Connor 573fceefeb input_shaper: Fix python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-26 20:01:33 -04:00
Kevin O'Connor b62171f350 input_shaper: Restore shaper_type config option
The shaper_type config option got removed in commit d5a7a7f0 - restore
that option.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-26 18:06:11 -04:00
Dmitry Butyugin 54e21a7c26 input_shaper: Factored out AxisInputShaper class
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-10-26 16:14:50 -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
Eric Callahan ec2116b4f7 temperature_sensor: round reported temps to 2 decimal places
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-15 18:01:19 -04:00
Eric Callahan cd58a945e2 temperature_host: round reported temps to 2 decimal places
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-15 18:01:19 -04:00
Eric Callahan bf598d0922 lm75: round reported temps to 2 decimal places
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-15 18:01:19 -04:00
Eric Callahan 916ef4483a htu21d: round reported temps to 2 decimal places
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-15 18:01:19 -04:00
Eric Callahan e65b2593c6 heaters: round reported temps to 2 decimal places
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-15 18:01:19 -04:00
Eric Callahan 1153803360 ds18b20: round reported temps to 2 decimal places
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-15 18:01:19 -04:00
Eric Callahan c499451ab8 bme280: round reported temps to 2 decimal places
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-15 18:01:19 -04:00
Dmitry Butyugin 91466ebd43 adxl345: Renamed decode_samples and fixed/added checks on empty data
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-10-13 11:56:52 -04:00
Philipp Temminghoff 64e4649877
tmc: add current values to get_status() (#4696)
Signed-off-by: Philipp Temminghoff <philipptemminghoff@gmail.com>
2021-10-11 12:03:08 -04:00
Rufo Sanchez b336a21fe7 button: Support half-stepping encoders
Adds support for half-stepping encoders (encoders that only emit two
steps per detent, instead of four). Incorporates the feedback from
@susisstrolch's PR: https://github.com/KevinOConnor/klipper/pull/4202
, which was itself built upon a previous PR from @nickbrennan01:
https://github.com/KevinOConnor/klipper/pull/730

Uses the table from the Rotary Arduino library linked in buttons.py:
6b784cca67/Rotary.cpp (L21-L40)

Signed-off-by: Rufo Sanchez <rufo@rufosanchez.com>
2021-10-11 11:29:53 -04:00
Kevin O'Connor 64cb8d9820 ds18b20: Improve Python3 compatibility
Reported by @matthewlloyd.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-07 14:47:49 -04:00
Dmitry Butyugin 2822680eb4 adxl345: Expanded invalid adxl345 id message
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-10-06 21:17:56 -04:00
Dmitry Butyugin bd5dc03317 adxl345: Renamed debug commands to fix their parsing by Klipper
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-10-06 21:16:31 -04:00
Kevin O'Connor f1747b5118 klippy: Add Python2 module wrappers and use Python3 module naming
Add wrappers for some common Python modules so that the code can run
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 b3a39bebd4 virtual_sdcard: 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 de38ef4290 kinematics: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:12:30 -04:00
Kevin O'Connor 68b939c756 display: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:12:21 -04:00
Kevin O'Connor bcbdc983a8 screws_tilt_adjust: Improve Python3 compatibility
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-09-30 13:14:20 -04:00
Kevin O'Connor af86c5f306 fan: Improve python3 compatibility
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-09-30 13:10:45 -04:00
Kevin O'Connor 1eecd412ef motion_report: Fix typo causing error reports to not propagate
The APIDumpHelper._start() method should propagate errors to its
caller.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-09-26 12:21:36 -04:00
Kevin O'Connor 46167cae67 configfile: Add support for reporting deprecated options
Add a new printer.configfile.warnings with a list of config features
that are deprecated.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-09-16 13:44:54 -04:00
Kevin O'Connor c84956befe heaters: Change default smooth_time from 2 seconds to 1 second
A larger smooth_time results in a slower reaction time for the PID.
This increased delay can cause temperature oscillations with high
power heaters.  Many boards produce good results without any
smoothing.  So, it seems a smooth_time of 1 second is a better
default.

Reported by @ReXT3D.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-09-03 18:11:05 -04:00
github@matthewlloyd.net 830c80a88a tuning_tower: Add STEP_DELTA and STEP_HEIGHT parameters as alternate tuning tower syntax
Signed-off-by: Matthew Lloyd <github@matthewlloyd.net>
2021-09-02 12:05:31 -04:00
github@matthewlloyd.net 286cc1becc tuning_tower: Add SKIP parameter
Signed-off-by: Matthew Lloyd <github@matthewlloyd.net>
2021-09-02 12:05:31 -04:00
Kevin O'Connor dcf8cb82a3 tmc: Fix typo in get_status()
Fix missing variable assignement introduced in commit 5fd1c985.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 14:17:42 -04:00
Kevin O'Connor 0b4fbc78a8 adxl345: Allow multiple simultaneous clients
It is now possible to have multiple tools gathering adxl345 data at
the same time.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:26:39 -04:00
Kevin O'Connor 404b64fd62 adxl345: Change default chip name from "default" to "adxl345"
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:26:36 -04:00
Kevin O'Connor 22167f9510 adxl345: Compress each sample from 6 bytes to 5 bytes
Transmit data from mcu to host using 5 bytes per sample and up to 10
samples per message block.  This improves bandwidth efficiency.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:25:50 -04:00
Kevin O'Connor e34137582d adxl345: Implement timing via new adxl345_status messages
Query the adxl345 message counter every 100ms so that accurate timing
can be obtained during measurements.  This allows the adxl345 data to
be exported with timestamps while captures are running.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:25:50 -04:00
Kevin O'Connor dd95f80d9d adxl345: Support querying accelerometer data from webhooks interface
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:25:50 -04:00
Kevin O'Connor d87f7a77c3 adxl345: Add new start_internal_client() function and use in callers
Introduce a new start_internal_client() function and change all client
code to use that instead of manually calling start_measurements() and
finish_measurements().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:25:50 -04:00
Kevin O'Connor 8cfaed441d adxl345: Always initialize device on start_measurements() call
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:25:50 -04:00
Kevin O'Connor e03e0e9dac adxl345: Move g-code commands to new helper class
Separate out the G-Code command handlers to a new ADXLCommandHelper()
class.  This helps separate the sensing code from the user interface
code.

Deprecate the RATE parameter of the ACCELEROMETER_MEASURE command.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:25:45 -04:00
Kevin O'Connor 6999ff6256 motion_report: Add helper tool for internal subscribers of data
Add support for internal clients to "subscribe" to data like external
clients.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:12:11 -04:00
Kevin O'Connor 5fd1c9853d tmc: Add support for a get_status() method
Export mcu_phase_offset and drv_status information.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:00:46 -04:00
Kevin O'Connor 2e131497ca homing: Fix error in retract move causing "must home axis" errors
It's possible for the original homing move of an axis to alter the
position of other axes.  Make sure those other axes are not requested
to move on a subsequent second home retract move, as that could cause
an error if those other axes have not been homed.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-28 15:45:11 -04:00