723 Commits (0446dd3ad8d95eae7e2042dae8ee43f29150869e)

Author SHA1 Message Date
Sebastianv650 de89dc9f04 Ensure smooth print moves even with LCD enabled
lcd_update can take so much time that the block buffer gets drained if
there are only short segments. This leads to jerky printer movements for
example in circles and a bad print quality.

This change implements a simple check: Only if the block currently
executed is long enough, run lcd_update.
This also means the printer will not show actual values on the LCD nor
will it respond to buttons pressed. A option that keeps the menu
accessible is also available.
Aditionaly, slow down if a block would be so fast that adding a new
block to the buffer would take more time. In this case, the buffer would
drain until it's empty in worst case.
8 years ago
Kai 8e8b4398f3 Printer Stats / Completed prints line doesn't fit in display (when german) 8 years ago
Scott Lahteine 7780052fb3 Give instant feedback for filament change 8 years ago
Scott Lahteine 00662b8635 Minor babystep cleanup patches 8 years ago
Scott Lahteine cad792e702 Reduce code for invariant lcd_detected 8 years ago
esenapaj c8c1a28f6f Follow-up the PR #5089 (Centralize click-handling in the LCD loop)
bool feedback is no longer used
8 years ago
Scott Lahteine 1a2310c494 Make LCD preheat vars an array to reduce code size 8 years ago
Scott Lahteine 50ee749082 Centralize click-handling in the LCD loop 8 years ago
Scott Lahteine 9cbedab91b Use DPM where possible 8 years ago
Scott Lahteine 4b056d8184 Fix warning in ultralcd.cpp 8 years ago
Scott Lahteine 8b967a9ff0 Merge pull request #5058 from thinkyhead/rc_reverse_arrow_buttons
Apply encoder reverse options to keypad arrows
8 years ago
Scott Lahteine e151f952a3 Apply encoder reverse options to keypad arrows 8 years ago
Josef Pavlik 0bd66807b2 fixed warning: extra ; 8 years ago
Josef Pavlik d35dc407a8 fixed warning: ISO C99 requires rest arguments to be used 8 years ago
Josef Pavlik c2b51af3ba fixed warning: ISO C does not permit named variadic macros 8 years ago
Scott Lahteine 0d3fc7dd89 Merge pull request #5059 from gcormier/fixbaby
Set defer delay back to false when exiting babystepping.
8 years ago
Greg Cormier 0009725637 Set defer delay back to false when exiting babystepping. 8 years ago
Scott Lahteine 0908329d96 Merge pull request #5057 from thinkyhead/rc_mbl_lcd_logical
Fix manual leveling coordinates
8 years ago
Scott Lahteine 1165e83263 MBL coordinates are logical 8 years ago
Scott Lahteine b19bba275f No LCD timeout during babystepping
As requested in #5031
8 years ago
Scott Lahteine d963020532 Sort out some header dependencies 8 years ago
Scott Lahteine f8199b2cc1 Merge pull request #4982 from thinkyhead/rc_abl_bugfix
Fix planner with kinematics, delta ABL
8 years ago
Josef Pavlik f8c2473a71 Improve planner kinematics, fix delta ABL 8 years ago
Scott Lahteine ff6b23cb0f Fix an issue with shifted LCD lines 8 years ago
Scott Lahteine a1b50f1102 Cleanup of code style 8 years ago
jaysonkelly 13c9dcc600 Add LCD menu for DAC 8 years ago
Scott Lahteine c592ccb6f5 Patch max_jerk[Z] menu item 8 years ago
Scott Lahteine d19cfcfc1d max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 8 years ago
Scott Lahteine 850259bb25 Watch bed temp also for Control menu item 8 years ago
Scott Lahteine ea0dbee3c9 Enable ABL by type, support bilinear on cartesian 8 years ago
Scott Lahteine 145d9005d1 Fix BLTOUCH string and SERVO_DELAY 8 years ago
Scott Lahteine 13523cbf29 Fix and extend BLTouch support 8 years ago
Scott Lahteine f38a33a5d8 Add handling of BLTouch error state 8 years ago
Scott Lahteine 9429c7db89 Use ABC indices in delta[] 8 years ago
Scott Lahteine 83a41c7ceb Remove SCARA axis_scaling 8 years ago
Scott Lahteine 5ecc7d9f25 Clear LCD button state, apply timer to all
Addressing #3007
8 years ago
Scott Lahteine 6ab54c60b1 Add conditionals for kinematics, leveling 8 years ago
Scott Lahteine e354cf5884 Apply sw_endstops_enabled to manual move 8 years ago
Scott Lahteine 71319adbb8 Wrap ULTIPANEL-dependent code 8 years ago
Scott Lahteine 305913545e Move number-to-string function to utility.* 8 years ago
Scott Lahteine 628dcbc764 extruder_multiplier => flow_percentage 8 years ago
Scott Lahteine 132322e4d9 Fix #4614: currentScreen only defined with ULTIPANEL 8 years ago
Scott Lahteine 405afec393 Include decimeters in filamentUsed display 8 years ago
Scott Lahteine 432e9a1f50 Use configured feedrates, center for DELTA_CALIBRATION_MENU 8 years ago
Scott Lahteine 58c8e6cef2 Fixes #4576: Convert filamentUsed to long for display 8 years ago
Scott Lahteine 3be4511230 Patch command order in delta calibration menu 8 years ago
Scott Lahteine 88540d8ecf Fix: LCD displays SD status at startup 8 years ago
Scott Lahteine b16ea09498 Make DELTA_CALIBRATION_MENU more universal 8 years ago
Scott Lahteine 42927530fe Explicitly clear the screen in lcd_goto_screen 9 years ago
Scott Lahteine a6d2c2479f Minor cleanup of lcd_goto_screen calls 9 years ago
Scott Lahteine e47c8b9829 Save bytes for custom chars (Hitachi LCD) 9 years ago
Scott Lahteine 938e6d15c4 Patch up some flaws, here and there 9 years ago
Scott Lahteine 7e2bd9a233 Z_RAISE_PROBE_* => Z_PROBE_*_HEIGHT 9 years ago
Scott Lahteine c9123adc59 Improved SCREEN / MENU macros 9 years ago
Scott Lahteine 3cccaa9885 Allow encoder pulse/step override for more LCDs 9 years ago
Scott Lahteine 330f82971b Buzzer requires BEEPER_PIN 9 years ago
Scott Lahteine 38af251b91 Use a default argument in _lcd_move_e 9 years ago
Scott Lahteine 63fd1f49a6 PID_EXTRUSION_SCALING, disabled by default 9 years ago
Scott Lahteine ad68b4cb8b Followup to #4468 9 years ago
Scott Lahteine 696b63e300 Specify manual-movable E axes by extruder type 9 years ago
Scott Lahteine b7b7c90477 Merge pull request #4389 from thinkyhead/rc_optimize_planner
Optimize planner with precalculation, etc.
9 years ago
Scott Lahteine f8b5749235 Replace division in planner with multiplication 9 years ago
João Brázio 62d96d72f3 Renamed timestamp_t to duration_t 9 years ago
Scott Lahteine 1766b990b8 Merge pull request #4376 from jbrazio/timestamp_t-short
Adds short format to timestamp_t
9 years ago
João Brázio 9e5dbf67e8 Update the stats menu to include longest job and extruded filament 9 years ago
João Brázio b4aad85c9a Rework stats menu to use timestamp_t 9 years ago
Scott Lahteine d5e2d523c7 Generalize kinematics function names 9 years ago
Scott Lahteine 0432613ad7 use enabled macro for mapper setting 9 years ago
Scott Lahteine 2bad02e60d Reprapworld Keypad: F1 opens the Move Axis menu 9 years ago
Scott Lahteine eaa6f568ee Prevent re-entrant call of Reprapworld Keypad handler 9 years ago
Scott Lahteine 06ac1f3bcf Reduce Reprapworld Keypad move code size 9 years ago
Scott Lahteine 8a2efd1155 Rename ultralcd implementation files for consistency 9 years ago
Scott Lahteine c502018eab Merge pull request #4353 from jbrazio/global-enum-file
General cleanup: enum
9 years ago
João Brázio 3ebad4e020 Moves all global enums to a central file 9 years ago
esenapaj 361307831e Follow-up the PR #4335 (Debug char, fix compile errors for lcd pins)
・Solve a flickering when SD card is inserted or removed at using a ASCII
LCD + language_kana.h
9 years ago
Scott Lahteine f242aea032 Merge pull request #4319 from thinkyhead/rc_feedrates_to_mess_with_you
Wrangle feed rate variables
9 years ago
Scott Lahteine 9f9fe043ba Apply sq macro throughout 9 years ago
Scott Lahteine 93ba5bddd7 Append units to feedrate variables 9 years ago
Scott Lahteine 94955a8bf7 pad string in lcd_finishstatus 9 years ago
Scott Lahteine 05da02f0a2 Implement MIXING_EXTRUDER and SWITCHING_EXTRUDER 9 years ago
Scott Lahteine 9766e24504 Merge pull request #4277 from thinkyhead/rc_mks_13_viki2
Support for VIKI2 with MKS 1.3 / 1.4
9 years ago
Scott Lahteine aaa0d298b9 Merge pull request #4326 from thinkyhead/rc_no_static_items_fix
Suppress compiler warnings in ultralcd.cpp
9 years ago
Petr Zahradník junior 2d7fe9dc78 LCD Longer print 9 years ago
Scott Lahteine d53dcaa796 Suppress some compiler warnings 9 years ago
Scott Lahteine 95ab2fd3ae Fix skipping of static items 9 years ago
Scott Lahteine c5e51f6b96 finished => completed 9 years ago
Scott Lahteine e481b79af1 Allow stopwatch and printcounter to go over 18 hours 9 years ago
Scott Lahteine 2224032568 Merge pull request #4285 from thinkyhead/rc_manual_move_fast_fine
No delay for the smallest LCD moves
9 years ago
Scott Lahteine a8b6b6a128 Merge pull request #4252 from thinkyhead/rc_rename_hpb
Replace PLA/ABS preheating with generic
9 years ago
Scott Lahteine ecd5e810ac No delay for the smallest LCD moves 9 years ago
Scott Lahteine 2b9515d60f Merge pull request #4281 from AnHardt/lang-system
Don't use UTF-strlen() if the text is not UTF
9 years ago
Scott Lahteine e9f62d8fdb Remove extraneous conditions for encoder position 9 years ago
AnHardt 54d35230df Don't use UTF-strlen() if the text is not UTF 9 years ago
Scott Lahteine 4865447830 Merge pull request #4276 from esenapaj/Suppress-warnings
Suppress warnings
9 years ago
Scott Lahteine 6e68dd292b Merge pull request #4243 from thinkyhead/rc_fix_static_scrolling
Improve STATIC_ITEM implementation
9 years ago
Scott Lahteine d17b161832 Don't draw current screen if simply changing screens 9 years ago
Scott Lahteine 096f9981d1 Scroll to the top when changing screens 9 years ago
Scott Lahteine 155af6b861 Rename vars, add comments for menu macros 9 years ago
Scott Lahteine 31f2cf5f6f Make encoderLine signed for proper compares 9 years ago
Scott Lahteine d2099fef0d Left-justify thermistor info 9 years ago
Scott Lahteine 85aeb02aa6 Invert headings on Graphical LCD 9 years ago
Scott Lahteine 13dc619f43 Scroll static screens more simply 9 years ago
Scott Lahteine 5051723c2e Redraw after cursor correction in STATIC_ITEM 9 years ago
esenapaj 58177a1602 Suppress warnings 9 years ago
Scott Lahteine 10ebf28ee3 Allow override of ENCODER_FEEDRATE_DEADZONE, lower default for Viki 9 years ago
Scott Lahteine 6121c9018a Merge pull request #4265 from thinkyhead/rc_buzzer_patchup
Two strategies to address a stuck buzzer
9 years ago
Scott Lahteine 71674059c3 Two strategies to address a stuck buzzer 9 years ago
Petr Zahradnik eaf9e615ce Total print time for LCD correction (hours:minutes format) 9 years ago
Scott Lahteine f9e08b1fcd Merge pull request #4254 from AnHardt/killscreen
Add a kill-screen
9 years ago
AnHardt faac2bcfdb Add a kill-screen 9 years ago
Scott Lahteine 1026e5b071 Replace PLA/ABS preheating with generic 9 years ago
AnHardt de3a169336 Always define MIN_Z_HEIGHT_FOR_HOMING even if 0
Always define MIN_Z_HEIGHT_FOR_HOMING even if 0
Always make a potential rise to `home_offset[Z_AXIS]` possible in G28.
Get rid of some very ugly constructs in MBL (ultralcd.cpp).
9 years ago
Scott Lahteine 834ad14c8d Add quickstop_stepper to update current position with stepper.quick_stop() 9 years ago
Scott Lahteine 160a2be117 Change cancel_heatup to wait_for_heatup 9 years ago
Scott Lahteine ef8980bfa0 Shorter labels for Print Stats info 9 years ago
Scott Lahteine 2ed625dafa Fix compiler warnings for static screens 9 years ago
Scott Lahteine 982f10e6a0 Use STATIC_ITEM for LCD message display 9 years ago
Petr Zahradnik 43ff0ce35f Rewritten FILAMENT_CHANGE_ENABLE feature 9 years ago
Scott Lahteine 51b7820686 Patch up About Printer sub-menus 9 years ago
Anthony Birkett 7a377c1d75 Add "About Printer" information menu.
Includes:
  *firmware version / branch / date.
  *extruder count
  *board information (name, serial details, power supply type)
  *thermistors (names, min/max temperatures)
  *printer statistics (PRINTCOUNTER details)

Thanks to @thinkyhead for contributions.
9 years ago
Scott Lahteine bd491818d6 Reduce storage requirements for strings, make some PGM 9 years ago
Edward Patel da88b00585 MBL: Add support for max z endstop
See https://github.com/MarlinFirmware/Marlin/issues/4088
9 years ago
Scott Lahteine 74878d1f16 Always do a brief delay in `lcd_quick_feedback` 9 years ago
Scott Lahteine bb9c67b4b5 Tweak some feedrate vars 9 years ago
Scott Lahteine bbf5b486c3 Add an SD Card stop function, use in ultralcd 9 years ago
Scott Lahteine 1000563d80 Make M851 standard with a bed probe 9 years ago
edwilliams16 114d9db7d0 Show babysteps on the LCD in mm, not steps 9 years ago
Alexander Leisentritt c2b7ef1e7e "e" was renamed to "eindex" in a previous commit 9 years ago
Scott Lahteine 4d2119f83a _lcd_move => _lcd_move_xyz 9 years ago
Scott Lahteine 811967923a Fix manual_move to move the correct E stepper 9 years ago
Scott Lahteine b322ac4417 No need to check ULTIPANEL with DOGLCD 9 years ago
Scott Lahteine ae9b09fe94 menu => screen 9 years ago
Scott Lahteine 45ea8749d3 Wrap all items depending on ULTIPANEL 9 years ago
Blue-Marlin 378ff92e98 manage_manual_move(); -> ULTIPANEL
Makr the call of   `manage_manual_move() ` depandent of `ULTIPANEL`
9 years ago
Scott Lahteine e2d4919c01 Merge pull request #3991 from thinkyhead/rc_axis_units
Rename some vars to clarify their relationship to acceleration
9 years ago
João Brázio 5b5aa1572b Non-blocking buzzer 9 years ago
Scott Lahteine 72c6f2923f axis_steps_per_unit => axis_steps_per_mm 9 years ago
Scott Lahteine cb4704e07a Rename some planner acceleration vars
- `per_sq_second` => `per_s2`
- `per_sqr_second` => `per_s2`
- `axis_steps_per_sqr_second` => `max_acceleration_steps_per_s2`
9 years ago
Scott Lahteine b23f710034 Cleanup and naming for num-to-string functions 9 years ago
Scott Lahteine 47b5c55c29 Implement the delayed-move technique 9 years ago
Scott Lahteine a3e25a0fca Instead of trying to move now, set a flag to move asap 9 years ago
Scott Lahteine 43947072d5 Merge pull request #3895 from thinkyhead/rc_singlenozzle_part_2
SINGLENOZZLE: EXTRUDERS versus HOTENDS
9 years ago
Scott Lahteine c2362c1b3c Apply Marlin coding standards to MBL class 9 years ago
Edward Patel c06de0f097 MBL: Added keeping MBL active when homing single axises for #3750 9 years ago
Scott Lahteine cd441ce652 SINGLENOZZLE: EXTRUDERS versus HOTENDS 9 years ago
Scott Lahteine 32f8300cc6 Merge pull request #3944 from thinkyhead/rc_eboston_lcd_contrast
Improved LCD contrast handling
9 years ago
Scott Lahteine 664b299a51 This fix is not DELTA compatible 9 years ago
Scott Lahteine 064efb20e0 Also call clear_command_queue for lcd_sdcard_stop 9 years ago
Scott Lahteine 6277395e1e set_current_position_from_planner() after stepper.quick_stop() 9 years ago
Scott Lahteine 381bc6f0b0 set_position => set_position_mm 9 years ago
Scott Lahteine efa7209acf Improved LCD contrast handling
Based on MarlinFirmware/MarlinDev#200 from @eboston
9 years ago
Scott Lahteine bd97bbc52a Make HAS_LCD_CONTRAST a boolean flag 9 years ago
Scott Lahteine 3861f1e0da Merge pull request #3908 from jbrazio/bugfix/3826
Closes #3826: SD printing will now pause and stop the print counter
9 years ago
Scott Lahteine dc22097b3a Fix some of array initializations
- In `stepper.h` init `count_direction` array
- In `ultralcd.cpp` init `autotune_temp` array
9 years ago
João Brázio 40e64b36de
Closes #3826: SD printing will now pause and stop the print counter
The LCD menu items for SD printing pause/stop have been updated to control
also the print job timer. This commit also fixes a small output bug with
M78, the failed print counter was displaying the wrong value.
9 years ago
Scott Lahteine a4ed988c60 Two index finding functions for MBL 9 years ago
Scott Lahteine 8218558953 Update comments, rename next_ping_ms, followup to #3797 9 years ago
AnHardt 0c4d885d5b Speedup sreen update delay
Speedup sreen update delay
and correct a comment.

A module division by 10 is slooooow. (powers of 2 are fast - but then you can AND a bitmask with the same result)
9 years ago
Scott Lahteine 754b0152f5 Fix MBL zigzag calls 9 years ago
Scott Lahteine 14cd0f4c92 Merge pull request #3740 from thinkyhead/rc_lcd_home_options
Individual Axis Homing LCD menu items
9 years ago
João Brázio 09150cae79 Individual Axis Homing LCD menu items 9 years ago
Scott Lahteine 4dc4e2063f Add REVERSE_ENCODER_DIRECTION option 9 years ago
Scott Lahteine 51109d4af7 Use AxisEnum with _lcd_babystep() 9 years ago
Scott Lahteine b65ea98d6b Localize babystepping in the Temperature class
So that `ultralcd.cpp` doesn’t need to worry about the details.
9 years ago
esenapaj 1a97442d19 Follow-up the PR #3643(Temperature singleton)
Follow-up the PR #3643(Temperature singleton)

・Change from fanSpeedSoftPwm[0] to thermalManager.fanSpeedSoftPwm[0] in planner.cpp
It fix compilation error when FAN_SOFT_PWM is enabled.

・Remove declaration of setExtruderAutoFanState() in temperature.h
Because that function was abolished.

・Change from babystepsTodo to thermalManager.babystepsTodo in ultralcd.cpp
It fix compilation errors when BABYSTEPPING is enabled.
9 years ago
Scott Lahteine 084f6b5b44 Temperature singleton class 9 years ago
Scott Lahteine b4b5c7a6b7 Merge pull request #3670 from thinkyhead/rc_scoovo_controller
Use directional buttons when defined
9 years ago
Scott Lahteine ddafb859e2 Use directional buttons when defined 9 years ago
esenapaj 605808fe37 Additional follow-up the PR #3631(Encapsulate S...
Additional follow-up the PR #3631(Encapsulate Stepper, Planner, Endstops in singleton classes)

・Change from abort_on_endstop_hit to stepper.abort_on_endstop_hit in endstop.cpp, Marlin_main.cpp, and ultralcd.cpp
・Add include path to cardreader.h and temperature.h in endstop.cpp(for CardReader class and disable_all_heaters())
It fix compilation error when ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED and SDSUPPORT are enabled.

・Change from digipot_current() to stepper.digipot_current() in Marlin_main.cpp
・Change from digitalPotWrite() to stepper.digitalPotWrite() in Marlin_main.cpp
It fix compilation errors when HAS_DIGIPOTSS is enabled.

・Change from microstep_mode() to stepper.microstep_mode() in Marlin_main.cpp
・Change attribute of microstep_mode() from private to public in stepper.h
・Change from microstep_readings() to stepper.microstep_readings() in Marlin_main.cpp
・Change from microstep_ms() to stepper.microstep_ms() in Marlin_main.
It fix compilation errors when HAS_MICROSTEPS is enabled.
9 years ago
Scott Lahteine 60c6efb75c Merge pull request #3653 from thinkyhead/rc_bed_temp_watch_merge
Introduce temp watch protection for the bed
9 years ago
gralco 908229dbb3 Introduce temp watch protection for the bed
When setting the bed temp via M140/M190 if the thermistor does not read an increase of WATCH_BED_TEMP_INCREASE degrees by WATCH_BED_TEMP_PERIOD seconds then it will throw "Error:Heating failed, system stopped! Heater_ID: bed" and call the kill() function.

Conflicts:
	Marlin/Configuration_adv.h
9 years ago
Scott Lahteine 96f51f400f Planner singleton class 9 years ago
Scott Lahteine 5e4e535ce8 Stepper and Endstops as singleton objects 9 years ago
Scott Lahteine 88c6693b9e Fix a typo in #3586 to fix MBL 9 years ago
Scott Lahteine 003aab6dfd Revert MBL menus to "known" working point 9 years ago
Scott Lahteine dc2281d2f4 Add nextMenu, nextEncoderPosition to change menus after handler loop 9 years ago
Scott Lahteine 7fa2bda1b9 Give the "alive dot" its own blink 9 years ago
Scott Lahteine 9d5e1f32fd Use axis_homed in _lcd_level_bed_homing, item in Prepare before homing 9 years ago
Scott Lahteine 9bcb72e7f8 Further patches to MBL - break up into more handlers 9 years ago
Scott Lahteine 3f6ae85748 Fix some MBL display issues for DOGLCD 9 years ago
Scott Lahteine 3db5a75f30 Merge pull request #3568 from thinkyhead/rc_various_fixes
General code cleanup, improved naming, etc.
9 years ago
Scott Lahteine 78747b1328 min_pos/max_pos => sw_endstop_min/sw_endstop_max 9 years ago
Scott Lahteine ba84d8d091 Allow setting PIDTEMP and PIDTEMPBED together or apart 9 years ago
Scott Lahteine 4f04bf7fe8 Show steps done in the babystep display 9 years ago
Scott Lahteine c242bee449 Add a final lift, if configured, in Manual Bed Leveling 9 years ago
Scott Lahteine 234987ee2f Fix MBL lift 9 years ago
Scott Lahteine e0830bf8f1 Don't use LCD alert unless error or alert level is reset later 9 years ago
Scott Lahteine 866c5be395 Merge pull request #3500 from thinkyhead/rc_shrink_menu_macros
Reduce redundancy in MENU_ITEM code
9 years ago
Scott Lahteine 4fb8013be1 Reduce redundancy in MENU_ITEM code 9 years ago
Scott Lahteine 2129db581e Simplify MBL movement, zigzag 9 years ago
Scott Lahteine 0493fccc0b mbl.active is a bool now 9 years ago
Scott Lahteine b05f448317 Comments on MBL menu items 9 years ago
Scott Lahteine fda8f96f00 Fix bug in lcd_preheat_pla0123 and lcd_preheat_abs0123
Trying to preheat a non-existent extruder causes a crash.
9 years ago
Scott Lahteine 2ae7394640 More fine-grained control of LCD redraw 9 years ago
Scott Lahteine 3a1ac14bbc Merge pull request #3437 from thinkyhead/rc_lcd_encoder_movement
More bits when encoderPosition is cast as signed
9 years ago
Scott Lahteine 386140f361 Test time difference in safe way 9 years ago
Scott Lahteine 8198cc30b5 More bits when encoderPosition is cast as signed 9 years ago
Scott Lahteine 4e17187c96 Merge pull request #3426 from thinkyhead/rc_no_unhomed_lcd_move_on_delta_scara
No LCD Move for unhomed Delta/SCARA
9 years ago
Scott Lahteine 5fc6daba2b Disallow REPRAPWORLD_KEYPAD moves on Delta/SCARA until homed 9 years ago
Scott Lahteine 165e73794a Tweak encoderPosition non-zero test 9 years ago