AnHardt
4454d80276
Decrease the needed nops to 1
...
by shitfing the left shift into the high phase.
```
2 cbi 0x2,1 ;set CLK //
1 in r18,__SREG__ //1
1-3 sbrc r24,7 //2-4
2 rjmp .L19 //4
1 cli .L19: //5
2 lds r25,258 lds r25,258 //7
1 andi r25,lo8(-2) ori r25,lo8(1) //8
2 sts 258,r25 sts 258,r25 //10
1 out __SREG__,r18 out __SREG__,r18 //11
2 .L3: rjmp .L3 //13 //2
2 sbi 0x2,1 ;reset CLK // //13-15 //2-4
1 lsl r24 ; val //1
1 nop //2
2 cbi 0x2,1 ;set CLK //4
...
```
2016-06-25 18:35:15 -07:00
AnHardt
56c42b572c
3 ms speedup for ST7920 and delay for BOARD_3DRAG
...
and saving ~1k memory
by limiting the `#pragma GCC optimize (3)` optimisation to `ultralcd_st7920_u8glib_rrd.h`. These optimisation was and is not done for all the other displays, is the reason for the big additionally use of memory, because the complete 'ultralcd.cpp' and 'dogm_lcd_implementation.h' was optimised (sadly i did not observe a change in speed).
Unrolling the loop in `ST7920_SWSPI_SND_8BIT()`, what i expected the optimiser to do, by hand, saved some speed by eliminating the loop variable (i) compares and increases. Every CPU cycle in this loop costs at least 0.5ms per display update because it's executed more than 1k times/s.
The delays are now pre-filled with the calculated values for 4.5V driven ST7920.
A way to simply add __your__ timing into the configuration was made.
At 4.5V
1.) The CLK signal needs to be at least 200ns high and 200ns low.
2.) The DAT pin needs to be set at least 40ns before CLK goes high and must stay at this value until 40ns after CLK went high.
A nop takes one processor cycle.
For 16MHz one nop lasts 62.5ns.
For 20MHz one not lasts 50ns.
To fulfill condition 1.) we need 200/62.5 = 3.2 => 4 cycles (200/50 = 4 => 4). For the low phase, setting the pin takes much longer. For the high phase we (theoretically) have to throw in 2 nops, because changing the CLK takes only 2 cycles.
Condition 2.) is always fulfilled because the processor needs two cycles (100 - 125ns) for switching the CLK pin.
Needs tests and feedback.
Especially i cant test 20MHz, 3DRAG and displays supplied wit less than 5V.
Are the delays right? Please experiment with longer or shorter delays. And give feedback.
Already tested are 5 displays with 4.9V - 5.1V at 16MHz where no delays are needed.
2016-06-25 18:35:15 -07:00
Scott Lahteine
ca184d3d72
Merge pull request #4147 from thinkyhead/rc_fix_M48_raise
...
Fix debug output in probe_pt
2016-06-25 18:15:33 -07:00
Scott Lahteine
b4161cbd98
Fix debug output in probe_pt
2016-06-25 17:59:03 -07:00
Edward Patel
da88b00585
MBL: Add support for max z endstop
...
See https://github.com/MarlinFirmware/Marlin/issues/4088
2016-06-25 21:58:02 +02:00
Scott Lahteine
74878d1f16
Always do a brief delay in lcd_quick_feedback
2016-06-24 14:46:10 -07:00
Scott Lahteine
7de7552069
Merge pull request #4133 from MagoKimbra/Single_home_axis_delta
...
Single home Axis Delta need simple sync_plan_position
2016-06-23 21:14:22 -07:00
Scott Lahteine
15a6b49f37
Simplified probe_pt (in G30)
2016-06-23 20:25:46 -07:00
Scott Lahteine
6a7045b9bf
Remove clean_up_after_endstop_move
2016-06-23 20:23:19 -07:00
Scott Lahteine
2a4f866561
Simplified probe_pt (in G29)
2016-06-23 20:22:28 -07:00
Scott Lahteine
89a2aa026b
Simplified probe_pt (in M48)
2016-06-23 19:22:45 -07:00
Scott Lahteine
f8530c5d1f
Simplified probe_pt function (G28 grid)
2016-06-23 19:09:32 -07:00
Scott Lahteine
c376c08042
Simplified probe_pt function (part 1)
2016-06-23 19:00:29 -07:00
Scott Lahteine
9a71b7f8ad
Fix debug message for 3-point leveling
2016-06-23 18:17:31 -07:00
Scott Lahteine
550c03a5a9
Drop raise_z_after_probing function
2016-06-23 18:11:54 -07:00
Scott Lahteine
bb38c816af
Always raise in deploy_z_probe / stow_z_probe
2016-06-23 18:00:20 -07:00
Scott Lahteine
68f3350050
Cleanup M401 / M402
2016-06-23 17:04:41 -07:00
Scott Lahteine
3afda99adf
Regular handlers for G31 / G32
2016-06-23 17:04:13 -07:00
Scott Lahteine
6803c8e37e
Move Z up before, or down after XY, for "blocking move"
2016-06-23 15:50:13 -07:00
Scott Lahteine
03c70c1990
SERVO_DEACTIVATION_DELAY => SERVO_DELAY
2016-06-23 14:33:29 -07:00
MagoKimbra
570f3bbc07
Single home Axis Delta need simple sync_plan_position
2016-06-23 23:09:47 +02:00
Scott Lahteine
61f34eec03
Merge pull request #4125 from jbrazio/bugfix/planner-warning
...
Fixes some compiler warnings
2016-06-22 19:34:37 -07:00
Scott Lahteine
bdcd628896
Merge pull request #4126 from thinkyhead/rc_lin_timing_patch
...
Patch LIN_ADVANCE timing issue
2016-06-22 19:24:44 -07:00
João Brázio
664232140d
Fixes somes compiler warnings
2016-06-23 03:12:55 +01:00
Sebastianv650
0c5192b288
Patch LIN_ADVANCE timing issue
...
Also the extruder stepper ISR has to keep an eye on step_loops count.
2016-06-22 19:05:14 -07:00
Scott Lahteine
d4134e6901
Define Z_SAFE_HOMING point when Z_PROBE_SLED is activated alone
2016-06-22 17:51:32 -07:00
Scott Lahteine
7b2fadd598
Apply some fixes from Andreas
...
Derived from
https://github.com/AnHardt/Marlin/commit/6e8ede8c694fa4d9e3c769840b09d56
7f8d8e0dd
2016-06-22 17:35:59 -07:00
Scott Lahteine
bd01592816
Goodbye MECHANICAL_PROBE
2016-06-22 17:13:33 -07:00
Scott Lahteine
2640d13a9f
Simplify initial raise in M48
2016-06-22 16:53:04 -07:00
Scott Lahteine
3763d45656
Return Z position in run_z_probe
2016-06-22 16:52:32 -07:00
Scott Lahteine
1f48b5c30f
Pass a raise to probe_pt, not a Z position
2016-06-22 16:40:21 -07:00
Scott Lahteine
6fdd5ba246
Save and restore feedrate in more places
2016-06-22 16:40:20 -07:00
Scott Lahteine
fe173c2bc6
Generalized probe raise, use for after probing
2016-06-22 14:44:30 -07:00
Scott Lahteine
7da3080761
Simpler cleanup in G28 / G29
2016-06-22 14:44:30 -07:00
Scott Lahteine
15229d988b
Fix compile error for bed matrix in M48
2016-06-22 14:04:46 -07:00
Scott Lahteine
c01352cbd5
Add a dependency for z servo macros
2016-06-22 14:04:23 -07:00
Scott Lahteine
c3794bd695
Add HAS_PROBING_PROCEDURE conditional
2016-06-22 14:03:22 -07:00
Scott Lahteine
42ce60c5cc
Make sure NUM_SERVOS is set for Z servo endstop
2016-06-22 14:01:19 -07:00
Scott Lahteine
b590a7dee0
Make Z_RAISE_BETWEEN_PROBINGS a more general option
2016-06-22 14:00:44 -07:00
Scott Lahteine
bb9c67b4b5
Tweak some feedrate vars
2016-06-22 03:27:31 -07:00
Scott Lahteine
5158bd6e93
Screen out G29 E
for sled and allen key, allow single probe
2016-06-22 03:20:33 -07:00
Scott Lahteine
ccae92588d
Cleanup debug in G28 and G29
2016-06-22 03:20:33 -07:00
Scott Lahteine
b4a9d2366c
Use a macro for kinematic sync_plan_position
2016-06-22 03:20:33 -07:00
Scott Lahteine
bfccf26294
Use sync_plan_position_delta where needed
2016-06-22 03:20:33 -07:00
Scott Lahteine
a6b8c67df4
Move probe deploy after setup call in G29
2016-06-22 03:20:33 -07:00
Scott Lahteine
e69916d1bd
Split up endstop_move functions
2016-06-22 03:20:33 -07:00
Scott Lahteine
0e18a4897b
Simpler handling of sled/allen-key in probe_pt
2016-06-22 03:20:33 -07:00
Scott Lahteine
1a92e2ef18
Comment on run_z_probe
2016-06-22 03:20:33 -07:00
Scott Lahteine
68e0e5855e
For all probes, at the end of G29 simply raise and stow
2016-06-22 03:20:33 -07:00
Scott Lahteine
c3023f8cc5
Make M401/M402 available with HAS_BED_PROBE
2016-06-22 03:20:33 -07:00
Scott Lahteine
9f0c255c69
Show uncorrected position in set_bed_level_equation_3pts
2016-06-22 03:20:33 -07:00
Scott Lahteine
07298ac992
Initialize current_position to home_offset on boot
2016-06-22 03:20:33 -07:00
Scott Lahteine
d50539583a
Make XY_PROBE_SPEED a general probe option
2016-06-22 03:04:47 -07:00
Scott Lahteine
2798499b71
XY_TRAVEL_SPEED => XY_PROBE_SPEED
2016-06-22 02:45:25 -07:00
Scott Lahteine
88dc543584
Add a macro for XY_TRAVEL_FEEDRATE
2016-06-22 02:23:50 -07:00
Scott Lahteine
117db77c55
make motor_current_setting static and constexpr
2016-06-21 19:50:08 -07:00
João Brázio
19fb04d761
Update bq Hephestos 2 config
2016-06-21 18:15:51 -07:00
Scott Lahteine
b0e47608e6
Merge pull request #4108 from esenapaj/Fix-for-PR-#4093
...
Fix for PR #4093 (Make Z Probe options independent of ABL), etc
2016-06-21 18:12:08 -07:00
Scott Lahteine
c84732e605
Merge pull request #4111 from esenapaj/Cosmetic-changes-and-small-fix-for-thermistortables.h
...
Cosmetic changes and small fix for thermistortables.h
2016-06-21 18:05:32 -07:00
Scott Lahteine
cdc661ea5e
Merge pull request #4110 from esenapaj/Small-cosmetic-changes-for-language-files
...
Small cosmetic changes for language files
2016-06-21 18:04:12 -07:00
Scott Lahteine
c8186e9423
Merge pull request #4109 from esenapaj/Enclose-#error-string-by-double-quotes
...
Enclose #error string by double-quotes
2016-06-21 18:03:30 -07:00
Scott Lahteine
40cd20a236
Fix comments on EXPERIMENTAL_I2CBUS
2016-06-21 17:58:44 -07:00
esenapaj
385945ca31
Cosmetic changes and small fix for thermistortables.h
...
・Adjust spacing
・Standardize comments position
・Remove ',' at the tail of array
2016-06-21 21:19:47 +09:00
esenapaj
fac58f0291
Cosmetic changes for language files
2016-06-21 21:13:25 +09:00
esenapaj
14b661b9e5
Enclose #error string by double-quotes
2016-06-21 21:06:14 +09:00
esenapaj
d583ea852d
Standardize format description of Panel
2016-06-21 20:51:27 +09:00
esenapaj
aa6d35bd49
Move code block of probe to appropriate position
2016-06-21 20:36:46 +09:00
esenapaj
740fb2ce39
Adjust spacing
2016-06-21 19:37:45 +09:00
esenapaj
f77f3ffa70
Remove duplicated Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX
2016-06-21 19:33:45 +09:00
Scott Lahteine
19fe93a5a9
Clean up configs for Z_MIN_PROBE_REPEATABILITY_TEST
2016-06-21 03:10:46 -07:00
Scott Lahteine
71a7408012
Merge pull request #4106 from thinkyhead/rc_temp_compile_err
...
Fix compile error with watch_bed_next_ms
2016-06-21 02:48:46 -07:00
Scott Lahteine
dcb8ec32ee
Fix compile error with watch_bed_next_ms
2016-06-21 02:13:41 -07:00
Scott Lahteine
3996242e9d
Allow Z_MIN_PROBE_REPEATABILITY_TEST solo
2016-06-21 01:56:40 -07:00
Scott Lahteine
26a9cd0b08
Move run_z_probe to earlier block
2016-06-21 01:25:23 -07:00
Scott Lahteine
7f8a2025af
Move raise_z_after_probing into earlier block
2016-06-21 01:03:40 -07:00
Scott Lahteine
2530371516
Always disable probe at the end of G29
2016-06-20 16:40:44 -07:00
Scott Lahteine
6aba98e470
Comment on setup_for_endstop_move
2016-06-20 16:40:44 -07:00
Scott Lahteine
04e88d008e
Clear up ordering in G30
2016-06-20 16:40:44 -07:00
Scott Lahteine
ed75b0ea11
Make clean_up function available for probes
2016-06-20 16:28:45 -07:00
Scott Lahteine
51d52cb52a
Make run_z_probe available for any bed probe
2016-06-20 16:02:36 -07:00
Scott Lahteine
f6b09cf465
Always use deploy/stow for dock_sled
2016-06-20 15:51:01 -07:00
Scott Lahteine
3b457c2dd3
Use deploy/stow with FIX_MOUNTED_PROBE too
2016-06-20 15:25:01 -07:00
Scott Lahteine
7e9d4a68d4
Always raise Z (if needed) for servo deploy/stow
2016-06-19 20:17:13 -07:00
Scott Lahteine
9beb3f2f5e
Merge pull request #4097 from thinkyhead/rc_fil_runout_cleanup
...
FIL_RUNOUT_INVERTING false by default
2016-06-19 19:46:14 -07:00
Scott Lahteine
f215b30932
Merge pull request #4093 from thinkyhead/rc_probe_without_abl
...
Make Z Probe options independent of ABL
2016-06-19 19:44:25 -07:00
Scott Lahteine
2fd2301928
FILRUNOUT => FIL_RUNOUT
2016-06-19 19:25:26 -07:00
Scott Lahteine
dfbf8b3c2c
FIL_RUNOUT_INVERTING false by default
2016-06-19 19:25:26 -07:00
Scott Lahteine
7b5cd314a5
Merge pull request #4095 from thinkyhead/rc_fil_runout_cleanup
...
Improve FILAMENT_RUNOUT_SENSOR, FILRUNOUT_PIN
2016-06-19 18:48:18 -07:00
Scott Lahteine
de12228758
Make Z Probe options independent of ABL
2016-06-19 18:47:27 -07:00
Scott Lahteine
add0032820
Improve FILAMENT_RUNOUT_SENSOR, FILRUNOUT_PIN
2016-06-19 18:13:33 -07:00
Scott Lahteine
f8c278ce4d
Cartesio UI display option in all configs
2016-06-19 17:39:46 -07:00
Scott Lahteine
400e13d136
Output a message for SD read errors
2016-06-19 17:14:56 -07:00
Roxy-3D
96b8bcca84
Merge pull request #4081 from thinkyhead/rc_tweaky_m48_tweaks
...
Cleanup of M48
2016-06-18 22:21:16 -05:00
Scott Lahteine
b7e3c1bbc4
Tweak M48 output conditions
2016-06-18 16:17:53 -07:00
Scott Lahteine
1dad912b03
Adjust M48 raise / move handling
2016-06-18 15:38:24 -07:00
Scott Lahteine
46d3ef2223
Simplify sample_set probe_pt call in M48
2016-06-18 15:38:23 -07:00
Scott Lahteine
a647b05f82
Shrink some debug code in G28
2016-06-18 15:38:23 -07:00
Scott Lahteine
4edf813bde
Just-in-time declaration style in M48
2016-06-18 15:38:23 -07:00
Juan Ricardo Gomez Anaya
c475291e19
Fix M851
...
Minor change missing in the process of standardize the gcode M851
2016-06-18 15:19:07 -07:00
Scott Lahteine
e35583888c
Merge pull request #4082 from esenapaj/Follow-up-the-PR-#4065
...
Follow-up the PR #4065 (Remove support for XY servo endstops)
2016-06-18 03:31:12 -07:00