Update the code to use the term "rail" when dealing with a motor
controlled "axis". A rail has a series of steppers and endstops that
control that motor controlled "axis".
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Add additional wrapper functions so that no outside callers need to
peak into the member variables of PrinterStepper.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This change will make the "PROBE" command actually reply with the
z-position where the probe triggers. As this command is called
internally for the BED_TILT_CALIBRATE and Z_TILT_ADJUST those commands
will also give a response while probing, which I see as advantage over
the silent operation.
This change also lets one define some gcode for a repeatable probing
test to meassure the quality of the sensor and overall probing accuracy.
Signed-off-by: Hans Raaf <hr-klipper@oderwat.de>
Added a config parameter to define the homing override axes. This way
one can still home x and y axis without the z-probe cycle coming in the
way.
Signed-off-by: Hans Raaf <hr-klipper@oderwat.de>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Disable the verify_heater checks when debugging, as otherwise it can
cause failures when processing files in batch mode.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Add the ability to add a custom g-code command that in turn executes
one or more configured g-code commands.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
The recommended TOFF time in "standalone mode" according to the
tmc2130 is 4, so use that as the default.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Move the common config reading and probe object lookup from the
bed_tilt.py and delta_calibrate.py code into the ProbePointsHelper
class.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Use the generic spi send/receive code on Linux. Update the replicape
code to use the updated command format.
Also, update the replicape code to turn off the stepper motors on a
shutdown event.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Improve the SPI message transmit system. Add support for bus speed
and bus mode. Add support for sending SPI messages on shutdown.
Signed-off-by: Petri Honkala <cruwaller@gmail.com>
Signed-off-by: Douglas Hammond <wizhippo@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Add a set_shutdown_speed() method so that the heater_fan code does not
need to peek into the fan object's internal members.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
When using an automatic probe, limit the Z lift speed to be no greater
than the Z probing speed. This can reduce Z jerks during probing.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
If the fan's max power is limited by the config, then scale speed
requests between 0 and max_power. This makes more sense for typical
g-code fan speeds.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Instead of supporting a single linear range for the temperature
lookup, allow multiple ranges to be defined. This makes the lookup
more accurate when a full lookup table is available.
Update the AD595 sensor to use the full table defined in its spec.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
If the c3 coefficient is negative it can cause the adc calculations to
fail. The c3 shouldn't be negative in practice, so fallback to a
simple beta calculation in that case.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Move the Thermistor code to a new thermistor.py module. Move the
Linear code to a new adc_temperature.py module. This simplifies the
heater.py code.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
The Thermistor (and Linear) class should handle all the details of
reading the ADC values and converting them to temperatures. So, move
that logic out of the Heater() class.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Add a PrinterHeaters class that can stores references to available
temperature sensors and stores references to instantiated heaters.
Add a extras/heater_bed.py file and delay instantiation of the
heater_bed object. This allows the heater.py module to be imported
earlier during the setup phase, and allows the PrinterHeaters class to
be available for registering sensors and heaters.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Most callers did a lookup of the pins module via
printer.lookup_object("pins"). Use that as the standard method and
remove these less frequently used methods.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>