Commit Graph

2866 Commits

Author SHA1 Message Date
Yuri D'Elia
dc436b71fe Fix position_float after a quickStop condition 2019-06-05 20:25:05 +02:00
Yuri D'Elia
fa454f61e4 Drop unused "speed_lookup_table.h" from planner.cpp 2019-06-05 20:24:58 +02:00
Yuri D'Elia
cda9ed4a1d Reset LA state more carefully during stop conditions 2019-06-04 16:22:40 +02:00
Yuri D'Elia
1bed8cfa94 Don't call fsensor_st_next_block repeatedly during the last step
Rely on st_block_begin to perform a single call instead of calling
block_chunk for each advance tick in the last step
2019-06-04 16:22:33 +02:00
Yuri D'Elia
8ce1c04740 Remove useless "extruder under pressure" flag
That's exactly what LA does
2019-06-04 16:22:27 +02:00
Yuri D'Elia
bca5618145 Save/restore K during a power panic 2019-06-03 17:33:19 +02:00
Yuri D'Elia
84009e1e8e Do a full fsensor_update() when initializing the sensor
This correctly populates the "extruder info" details even when
the menu is entered for the first time after starting a print.
2019-06-03 17:32:57 +02:00
Yuri D'Elia
fa7c0fb2c9 Avoid triggering LA during a Z-priming move
When recovering from a pause, the nozzle is often primed while
being lowered. If LA is triggered under such a move, the pressure
advance will be wasted.
2019-06-03 17:32:51 +02:00
Yuri D'Elia
d2432056bd Elide fsensor_st_block_begin, saving some cycles/bytes 2019-06-03 17:32:43 +02:00
Yuri D'Elia
5cd0177389 Cleanup fsensor_st_block_begin 2019-06-02 18:17:59 +02:00
Yuri D'Elia
b4bf79297f Remove unneeded includes from fsensor 2019-06-02 01:08:03 +02:00
Yuri D'Elia
c50b1c0351 Rework the filament counter logic
- Move direction checks out of fsensor: fsensor_counter is now
  always in the same direction as e_steps
- Check the filament chunk after e_steps have been physically done,
  using the real e_step count so far
2019-06-01 22:08:00 +02:00
Yuri D'Elia
51d6904dad Multiply the step rate when grouping advance steps 2019-05-27 14:44:09 +02:00
Yuri D'Elia
a742afcebd Remove version check 2019-05-26 22:43:06 +02:00
Yuri D'Elia
4772532524 Allow Live-K to be used on stock 3.7.1 using a stub 2019-05-26 22:14:31 +02:00
Yuri D'Elia
47d2562510 Typos 2019-05-26 21:06:29 +02:00
Yuri D'Elia
823f7b069c Fix filament sensor direction again 2019-05-26 21:06:22 +02:00
Yuri D'Elia
9d834925c0 Recalculate LA_phase correctly 2019-05-26 17:06:21 +02:00
Yuri D'Elia
3abb2188df Fixup initial error by defect 2019-05-26 16:59:45 +02:00
Yuri D'Elia
ab478ec281 Save another 144b by avoiding a calc_timer copy 2019-05-26 16:42:03 +02:00
Yuri D'Elia
20694aeabc Save 316 bytes by avoiding advance_spread copies 2019-05-26 16:41:56 +02:00
Yuri D'Elia
a28fb65bb2 Optimize advance_spread further 2019-05-26 16:41:50 +02:00
Yuri D'Elia
daa8007de5 Allow to exclude Live K from the build 2019-05-26 16:41:45 +02:00
Yuri D'Elia
6f6cef65b5 Revert "Correctly handle direction for the filament sensor"
This reverts commit aae03ad83e.
2019-05-26 16:41:37 +02:00
Yuri D'Elia
bddc3e84ab Use WRITE_NC directly in the isr 2019-05-25 21:52:06 +02:00
Yuri D'Elia
aae03ad83e Correctly handle direction for the filament sensor 2019-05-25 21:51:59 +02:00
Yuri D'Elia
935a798236 Speedup advance_spread for common divisors 2019-05-25 21:51:52 +02:00
Yuri D'Elia
fa7ecfc38e Check for serial roughtly in the middle of the stepper isr 2019-05-25 18:41:28 +02:00
Yuri D'Elia
0a26de1e7f Allow to live-tune K during a print 2019-05-25 18:41:21 +02:00
Yuri D'Elia
282b502393 Improve the distribution of the advance steps 2019-05-24 17:08:32 +02:00
Yuri D'Elia
294bf4068d Improve debug messages 2019-05-24 17:08:32 +02:00
Yuri D'Elia
53b77bab36 Do not operate on the prev block when already in use 2019-05-24 17:08:32 +02:00
Yuri D'Elia
aae5cce28f Use the nominal frequency to merge ticks 2019-05-24 17:08:32 +02:00
Yuri D'Elia
c6dbcc494f Typo 2019-05-24 17:08:32 +02:00
Yuri D'Elia
942c38c18b Minor reformatting 2019-05-24 17:08:32 +02:00
Yuri D'Elia
9586d71adb Mention LA_DEBUG_LOGIC 2019-05-24 17:08:32 +02:00
Yuri D'Elia
a1be8b6784 Initialize current_adv_steps correctly
Initialize at 0 both on startup and on reset on regular (non-LA)
segments to avoid cumulating errors.
2019-05-24 17:08:32 +02:00
Yuri D'Elia
707849e6c4 Use a define instead of hard-coding a divider 2019-05-24 17:08:32 +02:00
Yuri D'Elia
a2fa8e5313 Rewrite the advance_isr scheduler 2019-05-24 17:08:32 +02:00
Yuri D'Elia
2d3fe3197c Move calc_timer into speed_lookup_table for planner reuse 2019-05-24 17:08:32 +02:00
Yuri D'Elia
9425b6b07a Planner: do not recalculate max_adv_steps, since it doesn't change 2019-05-24 17:08:32 +02:00
Yuri D'Elia
2c8e04bd5f Planner: use the correct block when updating LA factors 2019-05-24 17:08:32 +02:00
Yuri D'Elia
3b528196dd Fixup prefix echomagic for the LA config report 2019-05-24 17:08:32 +02:00
Yuri D'Elia
520cb491b2 Move speed lookup defs into a separate source 2019-05-24 17:08:32 +02:00
Yuri D'Elia
ebdc5e35e7 Remove two more OCR1A direct manipulations
Use _NEXT_ISR and st_reset_timer to correctly reinitialize and
re-schedule the advance ticks.
2019-05-24 17:08:32 +02:00
Yuri D'Elia
cbf1a85ec3 Switch original LA implementation with LA1.5
This discards several Prusa optimizations for LA1.0.
We'll re-implement those later if needed.

Debugging is turned on.
2019-05-24 17:08:32 +02:00
Yuri D'Elia
bf0c60dd45 Factor-out some repetition into fsensor_step 2019-05-24 17:08:32 +02:00
Yuri D'Elia
124540a06f Adapt LA changes to ConfigurationStore 2019-05-24 17:08:32 +02:00
Yuri D'Elia
45563bfdd3 Formatting sanity 2019-05-24 17:08:32 +02:00
Yuri D'Elia
eeea2725cb Partial LA15 support 2019-05-24 17:08:32 +02:00