Commit Graph

1970 Commits

Author SHA1 Message Date
Kevin O'Connor 36ca639e1f tmc: No need to delay init on a stepper enable
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-28 18:04:20 -05:00
Kevin O'Connor c9b81e698e tmc: Allow more retries on a TMC UART read error during background checks
Allow three retries if we can't contact the TMC driver at all when it
is in UART mode.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-28 16:44:03 -05:00
Kevin O'Connor 86c943467f tmc_uart: Minor change - make the baud rate setting more clear
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-27 11:46:03 -05:00
Kevin O'Connor f035de264f tmc: Add support for periodic checking of driver status
Check the status of all Trinamic stepper motor drivers once a second.
If the driver reports an error then invoke a shutdown.  Also log any
serious warnings.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-27 10:39:47 -05:00
Kevin O'Connor 53b10d3ae7 tmc: Reinitialize on every driver enable
Send the full TMC stepper motor driver initialization sequence every
time the driver is enabled.

Don't raise an error on startup if unable to contact a tmc2208/tmc2209
driver.  If the driver is still unavailable when it is enabled then a
shutdown will be issued.  This allows users to troubleshoot (and
possibly bring up communication to the driver) prior to enabling the
driver.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-27 10:39:47 -05:00
Kevin O'Connor af8bfee210 tmc2660: Fix tmc register reading
The tmc2660 appears to send responses as soon as the clk starts
toggling.  That means the 20 bit response is at the top of the 24bit
sent message.  Also, this implies that RDSEL must already have the
correct value in the prior message.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-27 10:39:47 -05:00
Kevin O'Connor e24709b112 tmc2660: Use common warning/error flag names and descriptions
Where the tmc2660 flags match other drivers, use lowercase so that the
same monitoring code can be used for all the tmc drivers.  Also, use
the same field formatters where applicable.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-27 10:39:47 -05:00
Kevin O'Connor 2d781b8340 tmc5160: Merge field formatters into tmc2130.py
The tmc5160 field formatters were mostly duplicates of the tmc2130 -
add the "reset" field to tmc2130.py so both drivers have similar
reporting.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-27 10:39:46 -05:00
Kevin O'Connor 21383fa32e tmc: Always report values after a SET_TMC_CURRENT command
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-27 10:39:46 -05:00
Kevin O'Connor 6e4270fa79 tmc: Move SET_TMC_CURRENT command to TMCCommandHelper()
Refactor the tmc driver implementations so that there is a single
implementation of the SET_TMC_CURRENT command.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-27 10:39:46 -05:00
Kevin O'Connor a657aab0bf tmc2660: Add set_current()/get_current() helpers to TMC2660CurrentHelper
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-27 10:39:46 -05:00
Kevin O'Connor 8312843bbe tmc5160: Add set_current()/get_current() helpers to TMC5160CurrentHelper
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-27 10:39:46 -05:00
Kevin O'Connor 9c9f78037b tmc2130: Add set_current()/get_current() helper functions to TMCCurrentHelper
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-27 10:39:46 -05:00
Kevin O'Connor 0bdee6bc04 mcu: Raise a command_error on a command timeout event
Raise a printer.command_error() instead of an mcu.error() if a query
command does not succeed.  That error is less likely to result in an
unhandled exception error.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-27 10:39:46 -05:00
Andre LeBlanc 3fc72da9ae virtual_sdcard: exact filename match before case insensitive one
currently, if there are 2 files on the virtual sd card whose names differ only in
case (eg. MyFile.gcode vs myfile.gcode) the actual file that gets loaded is at
best unpredictable.  this patch checks for an exact match before attempting a
case-insensitive one.

Signed-off-by: Andre LeBlanc <andrepleblanc@gmail.com>
2021-02-26 22:53:35 -05:00
Kevin O'Connor c5a9d7914b extruder: Make sure to flush steps during sync_stepper()
The stepper positions will only be in sync after the step generation
code has been flushed.  This fixes an "internal error in stepcompress"
error during a SYNC_STEPPER_TO_EXTRUDER command.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-26 20:11:39 -05:00
Marco D'Alessio c7688c6bca tmc2130: Add spi daisy chain support
This patch adds the ability to daisy-chain multiple tmc2130 and
tmc5160 drivers.

Signed-off-by: Marco D'Alessio <marco@wrecklab.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-26 10:54:47 -05:00
Kevin O'Connor a8742e982d tmc: Improve error message on missing microsteps config
If microsteps is missing, warn about it in the stepper config section,
not the tmc config section.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-23 12:00:08 -05:00
Kevin O'Connor 4d2adddb20 stepper: Improve error messages on missing rotation_distance
If neither rotation_distance nor step_distance is present, then
generate an error saying rotation_distance is needed (instead of an
error about step_distance).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-23 11:58:17 -05:00
Kevin O'Connor 2aa2e91f2c Revert "bme280: Rename sensor_type from BME280 to bme280"
This reverts commit ac61f8b726.

Many temperature sensors are capitalized, so don't make this chaneg to
the bme280.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-20 15:39:03 -05:00
Janar Sööt 92cc286159
menu: Default menu should check extruders have heaters (#3969)
For the hotend targets check also available heaters.
It'll solve crash when using shared heaters.

Signed-off-by: Janar Sööt <janar.soot@gmail.com>
2021-02-20 11:33:34 -05:00
Janar Sööt 5a7fbe671e
menu: redesigned name scroller & menu rendering (#3837)
Signed-off-by: Janar Sööt <janar.soot@gmail.com>
2021-02-20 11:31:03 -05:00
Kevin O'Connor ac61f8b726 bme280: Rename sensor_type from BME280 to bme280
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-20 09:23:39 -05:00
Kevin O'Connor c29585f7f3 temperature_host: Rename "path" config to "sensor_path"
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-20 09:23:13 -05:00
Kevin O'Connor 227d9bdbcf temperature_host: Improve backwards compatibility check
Don't register two names for the same instance of the sensor.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-19 18:51:42 -05:00
Evgenii 3d35c003db temperature_host: Rename rpi_temperature and add support for custom paths
Signed-off-by: Evgenii Shavrin <shavrin0591@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-19 18:44:28 -05:00
Christian S bc2f6faa17
probe: Add last_z_result to get the latest z result in an Macro (#3835)
Signed-off-by: Christian Schnellrieder <schnello.android@gmail.com>
2021-02-18 22:03:32 -05:00
Arjan Mels b2cbb9aa96
idle_timeout: Add help to SET_IDLE_TIMEOUT (#3945)
Signed-off-by: Arjan Mels <github@mels.email>
2021-02-18 20:32:46 -05:00
Kevin O'Connor ba940da9b5 stepper: Don't cache ffi_lib object in the stepper
It's easier to just call chelper.get_ffi() if the ffi_lib object is
needed.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-18 15:39:55 -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 c5968a0830 serialqueue: Batch multiple message blocks in a single write()
Some communication protocols are more efficient if fewer write() calls
are invoked.  If multiple message blocks can be sent at the same time
then batch them into a single write() call.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-12 13:59:57 -05:00
Kevin O'Connor 730ef9d347 serialqueue: Improve timing of sleep durations
If any callback is invoked from the pollreactor then obtain a new
eventtime before calculating a sleep duration.  This improves the
timing of events.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-12 13:57:51 -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
Alan Lord 7d4df65920
ds18b20: new module for 1-wire temperature sensor (#3462)
Initial commit of code to support 1-wire (Dallas) sensors such
as the DS18B20. Requires Linux kernel drivers to create a file
in /sysfs which is read by this module, and temperature
typically returned to a temperature_fan.

Signed-off-by: Alan Lord <alanslists@gmail.com>
Signed-off-by: Josh Headapohl <joshhead@gmail.com>
2021-02-02 14:34:56 -05:00
Lane Roberts 19397a0a2b
temperature_fan: Add MAX_SPEED and MIN_SPEED to SET_TEMPERATURE_FAN_TARGET command (#3873)
Allows setting min_speed and max_speed at runtime, rather than updating the config and restarting.

Signed-off-by Lane Roberts <nolatari@vandarin.net>
2021-02-02 14:30:04 -05:00
Dmitry Butyugin d136b1e41a resonance_tester: Increase test max_accel to 10K and max_freq to 133 Hz
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-02-02 14:13:24 -05:00
Dmitry Butyugin a8b282d67a resonance_tester: Disable input shaping for resonance testing
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-02-02 14:13:24 -05:00
Dmitry Butyugin 0fb2449be0 adxl345: Add accelerometer chip name to the raw data file name
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-02-02 14:13:24 -05:00
Kevin O'Connor 6a3f4c7ae6 serialqueue: Improve checking of out-of-order messages
Consider any message block that acks a message never sent as an
out-of-order block and discard it.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-01 19:16:23 -05:00
Kevin O'Connor 6e79152f47 htu21d: Implement support for min_temp/max_temp checks
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-01 11:30:27 -05:00
Kevin O'Connor a15952770b bme280: Implement support for min_temp/max_temp checks
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-01 11:27:16 -05:00
Kevin O'Connor 74244ab0eb spi_temperature: Improve handling of min_temp/max_temp overflows
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-01 10:37:19 -05:00
Kevin O'Connor 333f8c210f lm75: Implement support for min_temp/max_temp checks
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-01 10:37:19 -05:00
Kevin O'Connor 7775e0ed54 lm75: Use getfloat() for reading the lm75_report_time parameter
Reported by @theopensourcer.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-01 10:26:14 -05:00
Thomas Kroll 60e4cddf36 hd44780: Add hd44780 protocol init config
LDO OLED needs a different init string.

Fixes: #3722
Signed-off-by: Thomas Kroll <t.kroll@outlook.com>
2021-01-31 19:35:40 -05:00
Kevin O'Connor 5d960aef37 htu21d: Fix time reporting of temperature measurements
The temperature callback takes a "print time" not a "system time".

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-01-24 15:38:16 -05:00
Kevin O'Connor 8de86ad51f rpi_temperature: Fix time reporting of temperature measurements
The temperature callback takes a "print time" not a "system time".

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-01-24 15:37:37 -05:00
Kevin O'Connor bded15b743 temperature_mcu: Improve handling when in debug output mode
Call mcu_adc.setup_minmax() even in debug output mode so that the
debugging output contains a more accurate configuration.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-01-24 15:28:16 -05:00
Kevin O'Connor 04179f3eae bme280: Disable bme280 when using debug output
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-01-24 15:19:43 -05:00