Commit graph

7436 commits

Author SHA1 Message Date
Scott Lahteine
5a2abeca78 Merge pull request #6100 from thinkyhead/rc_soft_pwm_dither
Enhancement of PWM, with dithering
2017-03-24 04:57:40 -05:00
Scott Lahteine
043be2856b Use "& 0x3F" instead of "% 64" 2017-03-24 04:13:50 -05:00
Stefan Brüns
6a040a6967 SOFT_PWM: Do not switch off heaters twice on pwm_count wraparound
After wraparound, pwm_count <= pwm_mask holds, thus soft_pwm_X <= pwm_count
guarantees soft_pwm_X < pwm_mask is true, and the heater will be switched
off in the first branch.
Do not evaluate the pwm conditions a second time, this reduces the
instruction count (4 instructions per PWM) and text size (6 byte).

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2017-03-24 04:13:50 -05:00
Stefan Brüns
0a74774af1 soft_pwm: avoid useless refetches of pwm_count
The compiler is not able to reuse the value of pwm_count, but reloads it
on every evaluation, if is stored in a static variable, as it cannot prove
it will be unchanged. A variable with local scope may not be modified from
the outside, so its value can be reused.
Doing so reduces text size and instruction count.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2017-03-24 04:13:50 -05:00
Stefan Brüns
35a55d5757 SOFT_PWM: Implement dithering if SOFT_PWM_SCALE is 1 or more
If dithering is enabled, the remainder of the soft_pwm_X duty value at
turnoff time is added to the next cycle. If e.g. the duty is set to 9 and
SCALE is set to 2, the PWM will be active for 8 counts for 3 cycles and
12 counts on each fourth cycle, i.e. the average is 9 cycles.

This compensates the resolution loss at higher scales and allows running
fans with SOFT_PWM with significantly reduced noise.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2017-03-24 04:13:36 -05:00
Stefan Brüns
2aed66a955 temperature: Fix SOFT_PWM off by one
A 128 step PWM has 127 intervals (0/127 ... 127/127 duty). Currently, a
PWM setting of 1/127 is active for 2/128, i.e. double the expected time,
or, in general n+1/128 instead of n/127.
Fixes issue#6003.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2017-03-24 04:13:36 -05:00
Scott Lahteine
4433b63d7a Merge pull request #6099 from thinkyhead/rc_cleanup_ubl_1
Patch till UBL is integrated with planner-based leveling
2017-03-24 02:07:55 -05:00
Scott Lahteine
b5711a99a2 Patches to bring UBL closer to compliance 2017-03-24 01:37:52 -05:00
Scott Lahteine
d076c1b604 Apply some general cleanup to code 2017-03-24 01:37:51 -05:00
Scott Lahteine
d1e6b0e21a Reduce STEP_PULSE_CYCLES code slightly 2017-03-24 00:50:05 -05:00
Scott Lahteine
783338a0b8 Add UBL_MESH_EDIT_ENABLED to configs 2017-03-24 00:44:55 -05:00
Scott Lahteine
8d54ffbf05 Adjust vector_3 code with const, some optimization 2017-03-23 19:41:42 -05:00
Roxy-3D
8ee2612ebb The hex nibble routine can print again!
The code to print a hex nibble got broke.   SERIAL_ECHO( (char) ) isn't
suitable for its use.
2017-03-23 16:08:37 -05:00
Roxy-3D
b8e4a6970b Get UBL up and running again
All the changes to get the code into compliance with Marlin coding
standards made UBL sick.   This pretty much gets UBL back up and
running.
2017-03-23 16:08:37 -05:00
Roxy-3D
5de1da2b3c Make UBL honor the #define ENABLE_LEVELING_FADE_HEIGHT option 2017-03-23 16:08:37 -05:00
Scott Lahteine
8f9face956 Merge pull request #6088 from rafaljot/patch-3
Update Marlin_main.cpp
2017-03-23 01:51:51 -05:00
Scott Lahteine
782634b6c9 Merge pull request #6081 from Sebastianv650/MIN_STEPPER_PULSE_for_Babystepping
Add MINIMUM_STEPPER_PULSE ability to babystepping
2017-03-22 21:57:36 -05:00
Scott Lahteine
d29ab8f2a6 Merge pull request #6075 from thinkyhead/rc_cleanup_ubl_1
Additional cleanup of UBL code
2017-03-22 21:45:59 -05:00
Scott Lahteine
af2ea23e9c EXTRUDER_RUNOUT_PREVENT uses buffer_line_kinematic 2017-03-22 20:51:12 -05:00
Scott Lahteine
cd882b88db #if defined => #ifdef / PIN_EXISTS 2017-03-22 20:51:11 -05:00
Scott Lahteine
e244399766 Additional cleanup of UBL code 2017-03-22 20:51:10 -05:00
Bob-the-Kuhn
0934563b97 G38 optional double touch
Made the double touch portion a conditional compile based on the
PROBE_DOUBLE_TOUCH flag.

==============================================

Bugfix

The current G38 only stopped a move if it involved the Z axis.

Moved all the G38 code to it's own section and put it where it would
always be executed no matter what axis was moving or if the endstop was
enabled.

Also added a comment to configuration_adv to alert the user the double
tap had to be turned on.

==============================================

Change G38 back to using Z_MIN_PROBE

There's no Z_MIN endstop if Z_DUAL_ENDSTOPS is enabled and you have them
set to the top of the gantry.

G38 started out as using the Z_MIN_PROBE pin.  I don't remember why we
changed it to the Z_MIN endstop.
2017-03-22 15:08:49 -05:00
Scott Lahteine
cc3204509c UBL patch from Bob-the-Kuhn 2017-03-22 07:54:20 -05:00
Scott Lahteine
100c9bc52d Merge pull request #6079 from thinkyhead/rc_audio_feedback
Standard audio feedback. Use for settings store/load/reset
2017-03-22 07:35:57 -05:00
Scott Lahteine
b904b5ae8d Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
Sebastianv650
bf57eb2447 Protect Babystepping against other ISRs
Especialy against stepper ISR.
This is even more important when a minimum pulse width is set,
increasing the runtime of a babystep.
2017-03-21 18:05:44 +01:00
Sebastianv650
80830919dc Add MINIMUM_STEPPER_PULSE ability to babystepping 2017-03-21 17:50:38 +01:00
rafaljot
6da949bbf0 Update Marlin_main.cpp
Sometimes after killing heaters are still on.
2017-03-21 15:06:01 +01:00
Roxy-3D
72f7b14e66 Make G29's Interactive Mesh Editor Work 2017-03-20 12:52:51 -05:00
Roxy-3D
3fd74b121f Get G29's Interactive Mesh Editor running
G29 P4 R O  should work now.
2017-03-20 12:52:51 -05:00
Roxy-3D
1d58558bec Spelling fix 2017-03-20 12:52:51 -05:00
Scott Lahteine
2573f4dd05 Merge pull request #6052 from thinkyhead/rc_lift_on_pause
Add PARK_HEAD_ON_PAUSE feature / M125
2017-03-20 03:36:31 -05:00
Scott Lahteine
48c6284c91 Immediate commands take precedence 2017-03-19 21:50:48 -05:00
Scott Lahteine
786fe2ba2a Include PARK_HEAD_ON_PAUSE in Travis testing 2017-03-19 18:34:58 -05:00
Roxy-3D
b3c4f71c6f Merge pull request #6071 from Roxy-3D/RCBugFix
Allow FWRETRACT with UBL Enabled
2017-03-19 16:54:57 -05:00
Roxy-3D
76c270fdf2 Allow FWRETRACT with UBL Enabled
The retraction flag in UBL's G26 was conflicting with the FWRETRACT option.

All fixed!
2017-03-19 15:43:12 -06:00
Roxy-3D
06c31daa53 Merge pull request #6070 from Roxy-3D/RCBugFix
Allow G29 P1 R to generate the mesh
2017-03-19 16:34:48 -05:00
Roxy-3D
c377c59d47 Allow G29 P1 R to generate the mesh
Fix the logic change that happened when UBL got merged.
2017-03-19 15:13:33 -06:00
Scott Lahteine
ff0dd162b7 PARK_HEAD_ON_PAUSE implementation 2017-03-19 07:27:35 -05:00
Scott Lahteine
26473cab6d Add PARK_HEAD_ON_PAUSE feature 2017-03-19 05:06:55 -05:00
Scott Lahteine
4cf51157b3 Use XYZE rather than NUM_AXIS 2017-03-19 01:14:39 -05:00
Scott Lahteine
4c7f14752a Add disable_e_steppers function 2017-03-19 01:14:39 -05:00
Scott Lahteine
8eb29f91e6 Patch filament change options and beep code 2017-03-19 01:14:39 -05:00
Scott Lahteine
56c9dfc83b Merge pull request #6066 from thinkyhead/rc_felix_fix
Update Felix config for UBL
2017-03-19 01:11:02 -05:00
Scott Lahteine
9b2b53f63a Merge pull request #6042 from thinkyhead/rc_fix_toolchange_z
Move Z last in tool-change for SWITCHING_EXTRUDER
2017-03-19 00:34:41 -05:00
Scott Lahteine
f98fb6b38e Update Felix config for UBL 2017-03-19 00:28:48 -05:00
Scott Lahteine
7cabe81373 Merge pull request #6057 from thinkyhead/rc_followup_6054
Followup 6054 with some cleanup
2017-03-18 13:49:20 -05:00
Scott Lahteine
4bca27ab89 Fix Kelvin conversion
Thanks to @ospalh -- #6056
2017-03-18 13:23:08 -05:00
Scott Lahteine
143ab8f329 Remove Roxy's personal configurations 2017-03-18 12:35:02 -05:00
Scott Lahteine
2512871a36 Patch configs UBL followup 2017-03-18 12:32:03 -05:00