🎨 Fix echoes, dialect, etc.

This commit is contained in:
Scott Lahteine
2025-10-07 00:51:46 -05:00
parent de98df1651
commit 0937fe55a4
29 changed files with 71 additions and 72 deletions
+1 -1
View File
@@ -942,7 +942,7 @@
* protect against a broken or disconnected thermistor wire.
*
* The issue: If a thermistor falls out, it will report the much lower
* temperature of the air in the room, and the the firmware will keep
* temperature of the air in the room, and the firmware will keep
* the heater on.
*
* If you get "Thermal Runaway" or "Heating failed" errors the
+4 -4
View File
@@ -297,7 +297,7 @@
* protect against a broken or disconnected thermistor wire.
*
* The issue: If a thermistor falls out, it will report the much lower
* temperature of the air in the room, and the the firmware will keep
* temperature of the air in the room, and the firmware will keep
* the heater on.
*
* The solution: Once the temperature reaches the target, start observing.
@@ -778,7 +778,7 @@
// @section endstops
// If you want endstops to stay on (by default) even when not homing
// If you want endstops to stay on (by default) even when not homing,
// enable this option. Override at any time with M120, M121.
//#define ENDSTOPS_ALWAYS_ON_DEFAULT
@@ -1174,7 +1174,7 @@
#define FTM_SHAPING_V_TOL_Z 0.05f // Vibration tolerance used by EI input shapers for Z axis
//#define FTM_SHAPER_E // Include E shaping support
// Required to synchronise extruder with XYZ (better quality)
// Required to synchronize extruder with XYZ (better quality)
#define FTM_DEFAULT_SHAPER_E ftMotionShaper_NONE // Default shaper mode on Extruder axis
#define FTM_SHAPING_DEFAULT_FREQ_E 21.0f // (Hz) Default peak frequency used by input shapers
#define FTM_SHAPING_ZETA_E 0.03f // Zeta used by input shapers for E axis
@@ -4285,7 +4285,7 @@
//#define I2CPE_ENC_1_TICKS_REV (16 * 200) // Only needed for rotary encoders; number of stepper
// steps per full revolution (motor steps/rev * microstepping)
//#define I2CPE_ENC_1_INVERT // Invert the direction of axis travel.
#define I2CPE_ENC_1_EC_METHOD I2CPE_ECM_MICROSTEP // Type of error error correction.
#define I2CPE_ENC_1_EC_METHOD I2CPE_ECM_MICROSTEP // Type of error correction.
#define I2CPE_ENC_1_EC_THRESH 0.10 // Threshold size for error (in mm) above which the
// printer will attempt to correct the error; errors
// smaller than this are ignored to minimize effects of
+2 -2
View File
@@ -78,8 +78,8 @@ void IRAM_ATTR timer_isr(void *para) {
/**
* Enable and initialize the timer
* @param timer_num timer number to initialize
* @param frequency frequency of the timer
* @param timer_num timer number to initialize
* @param frequency frequency of the timer
*/
void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
const tTimerConfig timer = timer_config[timer_num];
+3 -3
View File
@@ -37,9 +37,9 @@ public:
MarlinServo();
/**
* @brief attach the pin to the servo, set pin mode, return channel number
* @param pin pin to attach to
* @return channel number, -1 if failed
* @brief attach the pin to the servo, set pin mode, return channel number
* @param pin pin to attach to
* @return channel number, -1 if failed
*/
int8_t attach(const pin_t apin);
@@ -27,7 +27,7 @@
*
* Couldn't just call exact copies because the overhead killed the LCD update speed
* With an intermediate level the softspi was running in the 10-20kHz range which
* resulted in using about about 25% of the CPU's time.
* resulted in using about 25% of the CPU's time.
*/
#ifdef TARGET_LPC1768
@@ -28,7 +28,7 @@
*
* Couldn't just call exact copies because the overhead killed the LCD update speed
* With an intermediate level the softspi was running in the 10-20kHz range which
* resulted in using about about 25% of the CPU's time.
* resulted in using about 25% of the CPU's time.
*/
void u8g_SetPinOutput(uint8_t internal_pin_number);
@@ -27,7 +27,7 @@
*
* Couldn't just call exact copies because the overhead killed the LCD update speed
* With an intermediate level the softspi was running in the 10-20kHz range which
* resulted in using about about 25% of the CPU's time.
* resulted in using about 25% of the CPU's time.
*/
#ifdef __PLAT_NATIVE_SIM__
@@ -28,7 +28,7 @@
*
* Couldn't just call exact copies because the overhead killed the LCD update speed
* With an intermediate level the softspi was running in the 10-20kHz range which
* resulted in using about about 25% of the CPU's time.
* resulted in using about 25% of the CPU's time.
*/
#ifdef __cplusplus
+1 -1
View File
@@ -32,7 +32,7 @@
*
* Couldn't just call exact copies because the overhead killed the LCD update speed
* With an intermediate level the softspi was running in the 10-20kHz range which
* resulted in using about about 25% of the CPU's time.
* resulted in using about 25% of the CPU's time.
*/
#ifdef __SAMD21__
+1 -1
View File
@@ -33,7 +33,7 @@
*
* Couldn't just call exact copies because the overhead killed the LCD update speed
* With an intermediate level the softspi was running in the 10-20kHz range which
* resulted in using about about 25% of the CPU's time.
* resulted in using about 25% of the CPU's time.
*/
void u8g_SetPinOutput(uint8_t internal_pin_number);
+2 -2
View File
@@ -39,8 +39,8 @@ static_assert(COUNT(servoDelay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM
static uint32_t servo_interrupt_priority = NVIC_EncodePriority(NVIC_GetPriorityGrouping(), TIM_IRQ_PRIO, TIM_IRQ_SUBPRIO);
// This must be called after the STM32 Servo class has initialized the timer.
// It may only be needed after the first call to attach(), but it is possible
// that is is necessary after every detach() call. To be safe this is currently
// It may only be needed after the first call to attach(), but it's possible
// that this is needed after every detach() call. To be safe this is currently
// called after every call to attach().
static void fixServoTimerInterruptPriority() {
NVIC_SetPriority(getTimerUpIrq(TIMER_SERVO), servo_interrupt_priority);
+1 -1
View File
@@ -800,7 +800,7 @@ void ADC_StartCalibration(ADC_Module* NS_ADCx);
void ADC_EnableDMA(ADC_Module* NS_ADCx, uint32_t Cmd);
/**================================================================
* Configure ADC interrupt enable enable
* Configure ADC interrupt enable
================================================================*/
void ADC_ConfigInt(ADC_Module* NS_ADCx, uint16_t ADC_IT, uint32_t Cmd);
@@ -414,7 +414,7 @@ UnwResult UnwStartArm(UnwState * const state) {
/* S indicates that banked registers (untracked) are used, unless
* this is a load including the PC when the S-bit indicates that
* that CPSR is loaded from SPSR (also untracked, but ignored).
* CPSR is loaded from SPSR (also untracked, but ignored).
*/
if (S && (!L || (regList & (0x01 << 15)) == 0)) {
UnwPrintd1("\nError:S-bit set requiring banked registers\n");
@@ -431,7 +431,7 @@ UnwResult UnwStartArm(UnwState * const state) {
/* Check if ascending or descending.
* Registers are loaded/stored in order of address.
* i.e. r0 is at the lowest address, r15 at the highest.
* i.e., r0 is at the lowest address, r15 at the highest.
*/
r = U ? 0 : 15;
do {
+23 -24
View File
@@ -154,37 +154,36 @@ inline void servo_probe_test() {
SET_INPUT_PULLUP(PROBE_TEST_PIN);
// First, check for a probe that recognizes an advanced BLTouch sequence.
// In addition to STOW and DEPLOY, it uses SW MODE (and RESET in the beginning)
// to see if this is one of the following: BLTOUCH Classic 1.2, 1.3, or
// BLTouch Smart 1.0, 2.0, 2.2, 3.0, 3.1. But only if the user has actually
// configured a BLTouch as being present. If the user has not configured this,
// the BLTouch will be detected in the last phase of these tests (see further on).
bool blt = false;
// This code will try to detect a BLTouch probe or clone
/**
* This code will try to detect a BLTouch probe or clone.
* First, check for a probe that recognizes an advanced BLTouch sequence.
* In addition to STOW and DEPLOY, it uses SW MODE (and RESET in the beginning)
* to see if this is one of the following: BLTOUCH Classic 1.2, 1.3, or
* BLTouch Smart 1.0, 2.0, 2.2, 3.0, 3.1. But only if the user has actually
* configured a BLTouch as being present. If the user has not configured this,
* the BLTouch will be detected in the last phase of these tests (see further on).
*/
#if ENABLED(BLTOUCH)
SERIAL_ECHOLNPGM(". Check for BLTOUCH");
bltouch._reset();
bltouch._stow();
if (!PROBE_TRIGGERED()) {
bltouch._set_SW_mode();
if (PROBE_TRIGGERED()) {
bltouch._deploy();
if (!PROBE_TRIGGERED()) {
bltouch._stow();
SERIAL_ECHOLNPGM("= BLTouch Classic 1.2, 1.3, Smart 1.0, 2.0, 2.2, 3.0, 3.1 detected.");
// Check for a 3.1 by letting the user trigger it, later
blt = true;
}
}
}
bool blt = false;
do {
SERIAL_ECHOLNPGM(". Check for BLTOUCH");
bltouch._reset();
bltouch._stow(); if ( PROBE_TRIGGERED()) break;
bltouch._set_SW_mode(); if (!PROBE_TRIGGERED()) break;
bltouch._deploy(); if ( PROBE_TRIGGERED()) break;
bltouch._stow();
SERIAL_ECHOLNPGM("= BLTouch Classic 1.2, 1.3, Smart 1.0, 2.0, 2.2, 3.0, 3.1 detected.");
blt = true; // Check for a 3.1 by letting the user trigger it, later
} while(0);
#else
static constexpr bool blt = false;
#endif
// The following code is common to all kinds of servo probes.
// Since it could be a real servo or a BLTouch (any kind) or a clone,
// use only "common" functions - i.e. SERVO_MOVE. No bltouch.xxxx stuff.
// If it is already recognised as a being a BLTouch, no need for this test
// If it is already recognized as a being a BLTouch, no need for this test
if (!blt) {
// DEPLOY and STOW 4 times and see if the signal follows
// Then it is a mechanical switch
+1 -1
View File
@@ -975,7 +975,7 @@ do {
* The end result is that the selected items have dual presence
* in both hashes. There is no copy of the items made; rather
* they are added into the new hash through a secondary hash
* hash handle that must be present in the structure. */
* handle that must be present in the structure. */
#define HASH_SELECT(hh_dst, dst, hh_src, src, cond) \
do { \
unsigned _src_bkt, _dst_bkt; \
+1 -1
View File
@@ -75,7 +75,7 @@
#endif
#if ENABLED(LASER_FEATURE)
// Setup and fire a test pulse using the current PWM power level for for a duration of test_pulse_min to test_pulse_max ms.
// Setup and fire a test pulse using the current PWM power level for a duration of test_pulse_min to test_pulse_max ms.
EDIT_ITEM_FAST(CUTTER_MENU_PULSE_TYPE, MSG_LASER_PULSE_MS, &cutter.testPulse, LASER_TEST_PULSE_MIN, LASER_TEST_PULSE_MAX);
ACTION_ITEM(MSG_LASER_FIRE_PULSE, cutter.test_fire_pulse);
#if ENABLED(HAL_CAN_SET_PWM_FREQ) && SPINDLE_LASER_FREQUENCY
+1 -1
View File
@@ -134,7 +134,7 @@ glyph_t *TFT_String::glyph(uint16_t character) {
}
else {
#if 0
// Slow search method that that does not care if glyphs are ordered by unicode
// Slow search method that doesn't care if glyphs are Unicode-ordered
for (uint16_t i = 0; i < extra_count; i++) {
if (character == ((uniglyph_t *)glyphs_extra[i])->unicode)
return &(((uniglyph_t *)glyphs_extra[i])->glyph);
+3 -3
View File
@@ -481,9 +481,9 @@
/**
* Fast write helper
* @param[in] address I/O register address
* @param[in] bit bit number to write
* @param[in] level value for bit
* @param[in] address I/O register address
* @param[in] bit bit number to write
* @param[in] level value for bit
*/
FORCE_INLINE static void fastBitWriteSafe(volatile uint8_t* address, uint8_t bit, bool level) {
uint8_t oldSREG;
+1 -1
View File
@@ -150,7 +150,7 @@ public:
* can reach the position required to put the probe at the given position.
*
* Example: For a probe offset of -10,+10, then for the probe to reach 0,0 the
* nozzle must be be able to reach +10,-10.
* nozzle must be able to reach +10,-10.
*/
static bool can_reach(const float rx, const float ry, const bool probe_relative=true) {
if (probe_relative) {
+1 -1
View File
@@ -486,7 +486,7 @@ class Stepper {
#if ENABLED(SMOOTH_LIN_ADVANCE)
static uint32_t curr_timer_tick, // Current tick relative to block start
curr_step_rate; // Current motion step rate
static uint32_t extruder_advance_tau_ticks[DISTINCT_E], // Same as extruder_advance_tau but in in stepper timer ticks
static uint32_t extruder_advance_tau_ticks[DISTINCT_E], // Same as extruder_advance_tau but in stepper timer ticks
extruder_advance_alpha_q30[DISTINCT_E]; // The smoothing factor of each stage of the high-order exponential
// smoothing filter (calculated from tau)
#else
+1 -1
View File
@@ -1155,7 +1155,7 @@ void Temperature::factory_reset() {
hotend.target = 200.0f; // So M105 looks nice
hotend.soft_pwm_amount = (MPC_MAX) >> 1;
// Initialise rate of change to to steady state at current time
// Initialise rate of change to steady state at current time
temp_samples[0] = temp_samples[1] = temp_samples[2] = current_temp;
time_fastest = rate_fastest = 0;
+1 -1
View File
@@ -177,7 +177,7 @@
* The best solution is to use the custom cable to connect the LCD SD_DETECT to a pin NOT on EXP2.
*
* If you can't find a pin to use for the LCD SD_DETECT then comment out SD_DETECT_PIN and remove that wire
* from the the custom cable.
* from the custom cable.
*/
#define SD_DETECT_PIN PIN_P2_11 // J8-5 (moved from EXP2 P0.27)
#define SD_SCK_PIN PIN_P1_22 // J8-2 (moved from EXP2 P0.7)
+3 -3
View File
@@ -444,14 +444,14 @@
* The LPC1768's hardware PWM controller has 6 channels. Each channel
* can be setup to either control a dedicated pin directly or to generate
* an interrupt. The direct method's duty cycle is accurate to within a
* a microsecond. The interrupt method's average duty cycle has the
* the same accuracy but the individual cycles can vary because of higher
* microsecond. The interrupt method's average duty cycle has the
* same accuracy but the individual cycles can vary because of higher
* priority interrupts.
*
* All Fast PWMs have a 50Hz rate.
*
* The following pins/signals use the direct method. All other pins use the
* the interrupt method. Note that SERVO2_PIN and MOSFET_C_PIN use the
* interrupt method. Note that SERVO2_PIN and MOSFET_C_PIN use the
* interrupt method.
*
* P1_20 (11) SERVO0_PIN
+2 -2
View File
@@ -84,13 +84,13 @@
* M3/M4/M5 - Spindle/Laser Control
*
* If you want to control the speed of your spindle then you'll have
* have to sacrifce the Extruder and pull some signals off the Z stepper
* to sacrifce the Extruder and pull some signals off the Z stepper
* driver socket.
*
* The following assumes:
* - the Z stepper driver socket is empty
* - the extruder driver socket has a driver board plugged into it
* - the Z stepper wires are attached the the extruder connector
* - the Z stepper wires are attached the extruder connector
*
* If you want to keep the extruder AND don't have a LCD display then
* you can still control the power on/off and spindle direction.
@@ -212,7 +212,7 @@
/**
* This section starts with the pins_RAMPS_144.h as example, after if you need any new
* display, you could use normal duponts and connect it with with the scheme showed before.
* display, you could use normal duponts and connect it with the scheme showed before.
* Tested:
* - Ender-3 Old display (Character LCD)
* - Ender-3 New Serial DWING Display
+1 -1
View File
@@ -236,7 +236,7 @@
/**
* This sections starts with the pins_RAMPS_144.h as example, after if you need any new
* display, you could use normal duponts and connect it with with the scheme showed before.
* display, you could use normal duponts and connect it with the scheme showed before.
* Tested:
* - Ender-3 Old display (Character LCD)
* - Ender-3 New Serial DWING Display
@@ -286,7 +286,7 @@
* The following assumes:
* - The X stepper driver socket is empty
* - The extruder driver socket has a driver board plugged into it
* - The X stepper wires are attached the the extruder connector
* - The X stepper wires are attached the extruder connector
*/
/**
+1 -1
View File
@@ -117,7 +117,7 @@
/**
* FLSUN Hi-Speed has no hard-wired UART pins for TMC drivers.
* Several wiring options are provided below, defaulting to
* to the most compatible.
* the most compatible.
*/
#if HAS_TMC_UART
// SoftwareSerial with one pin per driver
@@ -33,7 +33,7 @@ class ReadTimeout(Exception):
pass
class FatalError(Exception):
pass
class SycronisationError(Exception):
class SynchronizationError(Exception):
pass
class PayloadOverflow(Exception):
pass
@@ -56,7 +56,7 @@ class Protocol(object):
simulate_errors = 0
sync = 0
connected = False
syncronised = False
syncronized = False
worker_thread = None
response_timeout = 1000
@@ -261,7 +261,7 @@ class Protocol(object):
def disconnect(self):
self.send(0, 2)
self.syncronised = False
self.syncronized = False
def response_ok(self, data):
try:
@@ -269,17 +269,17 @@ class Protocol(object):
except ValueError:
return
if packet_id != self.sync:
raise SycronisationError()
raise SynchronizationError()
self.sync = (self.sync + 1) % 256
self.packet_status = 1
def response_resend(self, data):
packet_id = int(data)
self.errors += 1
if not self.syncronised:
print("Retrying syncronisation")
if not self.syncronized:
print("Retrying synchronization")
elif packet_id != self.sync:
raise SycronisationError()
raise SynchronizationError()
def response_stream_sync(self, data):
sync, max_block_size, protocol_version = data.split(',')
@@ -288,7 +288,7 @@ class Protocol(object):
self.block_size = self.max_block_size if self.max_block_size < self.block_size else self.block_size
self.protocol_version = protocol_version
self.packet_status = 1
self.syncronised = True
self.syncronized = True
print("Connection synced [{0}], binary protocol version {1}, {2} byte payload buffer".format(self.sync, self.protocol_version, self.max_block_size))
def response_fatal_error(self, data):