Commit graph

4353 commits

Author SHA1 Message Date
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
Scott Lahteine 6dff52d920 Merge pull request #4078 from RicardoGA/Language_Spanish
Update Spanish Language
2016-06-18 03:28:46 -07:00
esenapaj d55b94d606 Follow-up the PR #4065 (Remove support for XY servo endstops)
・Update a forgotten Configuration.h of Cartesio
2016-06-18 18:01:58 +09:00
Scott Lahteine 4e860babbc Allow setting xy_travel_speed for delta leveling also 2016-06-18 01:40:49 -07:00
Scott Lahteine d36d4edd80 Tweak partial homing code 2016-06-18 01:16:50 -07:00
Scott Lahteine d3a05de96e Save and restore feedrate in probe functions 2016-06-18 01:16:26 -07:00
Juan Ricardo Gomez Anaya 5991eb428f Update Spanish Language
Spanish language update and also add missing messages
2016-06-18 00:27:04 -05:00
Scott Lahteine f33bd0bb10 Merge pull request #4077 from thinkyhead/rc_delete_old_macros
Delete some obsolete Z servo macros
2016-06-17 18:59:16 -07:00
Scott Lahteine defcacc1a9 Delete some obsolete Z servo macros 2016-06-17 18:49:17 -07:00
Scott Lahteine bbf5b486c3 Add an SD Card stop function, use in ultralcd 2016-06-17 18:27:14 -07:00
Scott Lahteine 3a150f07c2 Merge pull request #4073 from thinkyhead/rc_temp_mystery
Minor tweaks to M109 / M190
2016-06-17 17:49:50 -07:00
Scott Lahteine bd4ec727e7 Merge pull request #4066 from thinkyhead/rc_M851_with_probe
Make M851 standard with a bed probe
2016-06-17 17:32:55 -07:00
Scott Lahteine 692a6e7c91 Merge pull request #4065 from thinkyhead/rc_goodbye_xy_servos
Remove support for XY servo endstops
2016-06-17 17:32:08 -07:00
Scott Lahteine de177ba6c9 Minor tweaks to M109 / M190 2016-06-17 17:26:21 -07:00
Scott Lahteine eab44b30d4 Safety and serial sections 2016-06-17 15:19:43 -07:00
Scott Lahteine fc56a547d1 Rename movement section to motion 2016-06-17 15:19:43 -07:00
Scott Lahteine a8b8796cd7 Define probe offsets when a probe exists 2016-06-17 15:19:42 -07:00
Scott Lahteine 1000563d80 Make M851 standard with a bed probe 2016-06-17 15:19:42 -07:00
Scott Lahteine f66a194159 Merge pull request #4062 from jbrazio/bugfix/compiler-warnings
Fixes misc gcc warnings
2016-06-17 14:23:28 -07:00
Scott Lahteine 1bed392c68 HAS_Z_ENDSTOP_SERVO => HAS_Z_SERVO_ENDSTOP 2016-06-17 14:20:17 -07:00
Scott Lahteine 47ce810f52 Remove support for XY servo endstops 2016-06-17 14:19:17 -07:00
João Brázio d1e5dc6319
Fixes misc gcc warnings 2016-06-17 20:24:24 +01:00
esenapaj c5eecb11b2 Follow-up the PR #4055 (Croatian language support)
・Update a forgotten Configuration.h of Cartesio
2016-06-17 21:20:15 +09:00
Scott Lahteine d991a4c24a Merge pull request #4063 from thinkyhead/rc_remove_swp_files
Delete mysterious .swp files from #3609
2016-06-16 17:22:48 -07:00
Scott Lahteine 8d8cbef1de Merge pull request #4055 from thinkyhead/rc_croatian_language
Croatian language support
2016-06-16 17:22:25 -07:00
Scott Lahteine ebbed2975e Delete mysterious .swp files from #3609 2016-06-16 16:42:03 -07:00
Scott Lahteine 02e5dad29a Include Croatian in language listings 2016-06-16 16:18:26 -07:00
Scott Lahteine 2015aad867 Tweak Croatian language file heading 2016-06-16 16:09:57 -07:00
Robert Marko 884bc63fbe Add Croatian language 2016-06-16 16:09:57 -07:00
Scott Lahteine ef3bef6b9e Fix feedrate in gcode_T (max_feedrate is mm/s) 2016-06-16 16:03:14 -07:00
Scott Lahteine 4640974e1b Merge pull request #4060 from esenapaj/Follow-up-the-PR-#4053
Follow-up and improvement the PR #4053 (CNControls Cartesio UI Support)
2016-06-16 15:44:00 -07:00
esenapaj 106227540e Follow-up and improvement the PR #4053 (CNControls Cartesio UI Support)
・Add implimantation of PR #3609 to configuration files of Cartesio
・Standardize macro names
2016-06-16 19:22:31 +09:00
MagoKimbra 008d0637dd Fix gcode_T 2016-06-16 09:05:36 +02:00
edwilliams16 114d9db7d0 Show babysteps on the LCD in mm, not steps 2016-06-15 23:03:24 -07:00
Scott Lahteine b410bf933b Merge pull request #4053 from thinkyhead/rc_cartesio_redo
CNControls Cartesio UI Support
2016-06-15 22:33:45 -07:00
Scott Lahteine f639044c24 Merge pull request #3609 from jbrazio/feature/config-version
Adds versioning for Configuration.h & Configuration_adv.h
2016-06-15 22:09:47 -07:00
Scott Lahteine 4d2cb70152 Cartesio UI Support 2016-06-15 21:46:54 -07:00
Scott Lahteine da90bbe0eb Merge pull request #4010 from thinkyhead/rc_toolchange_adjust
Fixup position adjustment on toolchange
2016-06-15 21:10:33 -07:00
Scott Lahteine 948c467e16 Merge pull request #4043 from AnHardt/save_delay
Introduce save_delay()
2016-06-15 21:06:43 -07:00
Scott Lahteine 4b93989a77 MBL Z adjustment on toolchange 2016-06-15 20:49:36 -07:00
Scott Lahteine 9c800d1f8c Position adjustment for bed leveling 2016-06-15 20:49:36 -07:00
Scott Lahteine 8c7babb70f Merge pull request #4049 from esenapaj/Fix-for-the-PR-#4023
Fix for the PR #4023(Add macros to move servos)
2016-06-15 20:39:46 -07:00
AnHardt 1219310622 Introduce save_delay()
Introduce save_delay() for long delays what otherwise would cause
watchdog resets

Explizit lcd_set_custom_characters(false) at the end of bootscreen().
Else the charset is not proper set in case of LCD_PROGRESS_BAR.
2016-06-15 18:11:55 +02:00
esenapaj 44f091a413 Fix for the PR #4023(Add macros to move servos)
・Add missing ')'
2016-06-15 22:34:55 +09:00
Alexander Leisentritt c2b7ef1e7e "e" was renamed to "eindex" in a previous commit 2016-06-15 11:11:16 +02:00
Scott Lahteine 52ac2a62ee Merge pull request #4013 from thinkyhead/rc_toolchange_no_move
Use "Tn S1" to change tools without moving
2016-06-14 20:13:01 -07:00
Scott Lahteine d2a00b74e3 Merge pull request #4004 from thinkyhead/rc_feedrate_in_gcode_T
Use linear feedrate in gcode_T, not volumetric
2016-06-14 20:10:08 -07:00
Scott Lahteine 0ad26d0de8 Merge pull request #4034 from AnHardt/custom-splash-screen
Custom Splash Screen
2016-06-14 18:51:39 -07:00
esenapaj 741cda0e47 Follow-up the PR #3676(Advance extrusion algorithm – LIN_ADVANCE)
・Update forgotten example configurations
2016-06-15 00:10:15 +09:00
AnHardt 02b3d6b8d3 Custom Splash Screen
Custom Splash Screen for full graphic displays.

Too complicated for the hitachis without knowing what exactly to display.

On top of #4032
Realisation of an idea from #3996
2016-06-14 09:39:28 +02:00
Scott Lahteine 78a48d7e3c Merge pull request #4038 from thinkyhead/rc_fix_heater_off
Fix broken DISABLE_HEATER macro
2016-06-13 20:58:34 -07:00
Scott Lahteine ee5be92206 Fix broken DISABLE_HEATER macro 2016-06-13 20:57:58 -07:00