Scott Lahteine
8c7ee4599e
Optimize stepper advance_isr
2016-08-30 14:31:48 -05:00
Scott Lahteine
9725bcd099
Minor "optimizations" in stepper ISR
2016-08-30 14:21:43 -05:00
Scott Lahteine
4ec3d1ea58
Add some commentary to stepper ISR
2016-08-30 14:21:15 -05:00
Scott Lahteine
d9bcc7bb45
Set a bool when a stepper block is done
2016-08-30 14:20:48 -05:00
Scott Lahteine
08f717e5f7
Use bit-size typedefs for some stepper vars
2016-08-30 14:19:49 -05:00
Scott Lahteine
759234af60
MINIMUM_STEPPER_PULSE option
2016-08-27 23:58:40 -05:00
Scott Lahteine
a28e15399f
Patch stepper.cpp to allow omitting steppers
2016-08-27 20:11:17 -05:00
Scott Lahteine
2f223b8c79
Use ABC and XYZ for "3"
2016-08-21 00:10:08 -05:00
Scott Lahteine
d8f2876753
Replace some float division with multiplication
2016-07-24 13:27:50 -07:00
Scott Lahteine
f8b5749235
Replace division in planner with multiplication
2016-07-24 13:27:49 -07:00
Scott Lahteine
176b9627c7
Some cleanup ahead of BLTOUCH support
2016-07-17 13:55:38 -07:00
Scott Lahteine
05da02f0a2
Implement MIXING_EXTRUDER and SWITCHING_EXTRUDER
2016-07-17 10:53:10 -07:00
Scott Lahteine
4b4a582c4f
X_DUAL_STEPPER_DRIVERS implementation
2016-07-11 10:22:19 -07:00
Scott Lahteine
bd491818d6
Reduce storage requirements for strings, make some PGM
2016-06-27 20:36:18 -07: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
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
8d8180e028
Parse M905 args in Marlin_main.cpp
2016-06-13 19:25:28 -07:00
Scott Lahteine
2b340f5acb
patch LIN_ADVANCE to use code_value_float
2016-06-13 18:54:25 -07:00
Scott Lahteine
aad9c0ed8d
Apply updated ISR timing code
2016-06-09 21:03:27 -07:00
Scott Lahteine
506d78b2f8
Run the advance_isr faster instead of doing multiple e-steps per interrupt
2016-06-09 21:03:27 -07:00
Scott Lahteine
6d62a4ffc8
Patch LIN_ADVANCE for style and forward-compatibility
2016-06-09 21:03:27 -07:00
Sebastianv650
fb8e880734
Add LIN_ADVANCE
2016-06-09 21:03:27 -07:00
Scott Lahteine
72c6f2923f
axis_steps_per_unit => axis_steps_per_mm
2016-06-09 17:04:51 -07:00
Scott Lahteine
e2a8961635
Use e_steps[EXTRUDERS] instead of e_steps[4]
2016-06-05 01:44:53 -07:00
Scott Lahteine
668d50f68e
Keep Stepper encapsulation, use static data and methods
2016-05-30 16:24:04 -07:00
Scott Lahteine
5172d4ba40
COREYZ stepper, planner, endstop, babysteps
2016-05-23 13:58:40 -07:00
Scott Lahteine
07c9a11c3c
Automatically set X2 stepper pins
2016-05-18 19:09:09 -07:00
Scott Lahteine
15fc93d742
Cleanup and consolidate probe conditionals for clarity
2016-05-08 12:59:43 -07:00
Scott Lahteine
6398d497b3
Ultimate followup to Stepper/Planner patch
...
- Search all symbols and apply prefixes where needed
- Encapsulate some private methods
- Inline some setters
- Make `microstep_mode` a public method
2016-05-03 17:07:37 -07:00
Scott Lahteine
96f51f400f
Planner singleton class
2016-04-30 17:26:50 -07:00
Scott Lahteine
5e4e535ce8
Stepper and Endstops as singleton objects
2016-04-30 17:26:50 -07:00
João Brázio
bcf1e027bb
Fix the redeclaration of _ENDSTOP_HIT
2016-04-17 18:37:37 +01:00
Scott Lahteine
7c16e774ca
Show all endstops on LCD in checkHitEndstops
2016-04-16 20:08:42 -07:00
Scott Lahteine
3e5312f116
CORE support for st_set_position & plan_set_position
2016-04-11 15:13:42 -07:00
Scott Lahteine
e087a99a10
Some cleanup of st_get_pos functions
2016-04-11 15:13:42 -07:00
Scott Lahteine
dc19b69697
No casting needed for SERIAL_ECHOPAIR
2016-04-07 16:33:21 -07:00
esenapaj
7950b5268a
Use SBI macro
2016-03-26 20:17:52 +09:00
Scott Lahteine
5d8036e554
Code cleanup around MOTOR_CURRENT_PWM options
2016-03-25 04:23:46 -07:00
Scott Lahteine
0da744b7b0
Further cleanup of comments, partial Doxygen-style
...
Following up on #3231
2016-03-25 00:45:56 -07:00
jbrazio
5e5d250832
Added gplv3 header to all Marlin files
2016-03-24 18:01:20 +00:00
Scott Lahteine
af32a7d5d6
M120/M121 also set endstops non-homing state
2016-03-24 03:24:23 -07:00
Scott Lahteine
c5857f96c8
Merge pull request #3182 from thinkyhead/rcbugfix_printrboard_revf
...
Add support for Printrboard RevF
2016-03-24 00:12:06 -07:00
Scott Lahteine
59483221d5
Move stepper DAC to a separate file
2016-03-19 19:24:26 -07:00
Scott Lahteine
5d0570cea0
Make digitalPotWrite depend on HAS_DIGIPOTSS
2016-03-19 19:24:26 -07:00
Stephanie
6843b78f99
Add support for Printrboard RevF
...
The PrintrBoard Rev F utilizes a mcp4728 DAC to set motor current. Printrbot's implementation utilizes 2 new M-codes to set and write the DAC settings to the DAC EEPROM: `M909` (Read DAC) and `M910` (Write DAC). `M907` is re-used to set value, `M908` for direct control.
The Pins file for the RevF board is included.
2016-03-19 16:43:37 -07:00
AnHardt
3f45a1acf9
Check probes only when deployed
...
Aim: Test probes in update_endstops only when activated
Changes:
Configurations
Add define for FIX_MOUNTED_PROBE to handle the situation where formerly ENDSTOPS_ONLY_FOR_HOMING had to be set, or lowering the nozzle below Z_PROBE_OFFSET_FROM_EXTRUDER could give an "endstop hit" message.
Add define for Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to indicate a common situation, that we have a probe but it is connected to an endstop pin
Add some comments
Shift some entries to have related things together.
Conditionals.h
We have a probe (HAS_Z_MIN_PROBE) if one of the pins is defined AND one of the probes is defined.
SanityCheck.h
Add some tests if the probe is connected and if we have defined a probe.
stepper.cpp
Changes to test the probe only when it is deployed (z_probe_is_active).
Test update_endstops() when the probe is deployed.
MarlinMain.cpp
a. set and reset z_probe_is_active in deploy_z_probe(), stow_z_probe() and dock_sled()
b. set and reset z_probe_is_active in the case a z-servo is moved to a defined position. The only remaining unhandled servo move is in M280 where we do not end in a defined position. If you want to handle a probe use M401/402
c. skip deploying/stowing when already deployed/stowed in the dedicated deploy/stow functions.
d. Handle the new FIX_MOUNTED_PROBE in parallel to a servo driven probe/endstop.
To do: In another PR. handle all probes in deploy/stow_z_probe.
Sort out SERVO_LEVELING vs. HAS_SERVO_ENDSTOPS.
2016-03-19 02:00:08 -07:00
Scott Lahteine
4634feaeab
Merge pull request #3012 from thinkyhead/fix_command_injection
...
Use a serial line buffer to prevent queue corruption
2016-03-19 01:43:54 -07:00
Scott Lahteine
e5fd43f343
Implement BABYSTEPPING for COREXY and COREXZ
2016-03-18 18:22:53 -07:00
Scott Lahteine
8fe7420310
Use a separate serial line buffer
2016-03-18 16:46:20 -07:00
Alexander Leisentritt
4338813814
save last extruder and set stepper directions too in case the extruder changed
...
fixes MarlinFirmware/Marlin#3144 and MarlinFirmware/Marlin#3083
2016-03-16 20:20:34 +01:00
Scott Lahteine
6e1bc03d3b
Additional wrapping for #3140
2016-03-15 01:18:58 -07:00
Scott Lahteine
0c48eaf3de
Expose motor current in more configs, disable by default
2016-03-11 02:25:36 -08:00
Elijah Snyder
e8b10d2836
Adding PWM_MOTOR_CURRENT flag to help expose PWM_MOTOR_CURRENTS in Configuration_adv.h similar to DIGIPOT_MOTOR_CURRENT
2016-03-11 02:25:36 -08:00
Scott Lahteine
3fd31976c3
Reduce code in stepper.cpp with macros
2016-03-10 01:42:58 -08:00
Scott Lahteine
ff13070b59
Use _BV macros, patch up others
2016-03-06 05:51:55 -08:00
Scott Lahteine
373e8a1ad4
Fixes for COREXY and COREXZ coordinates
2016-02-15 15:59:24 -08:00
Naruto-kyun
2932602643
Update stepper.cpp
...
Forgot Z2_MIN_PIN
2016-01-15 16:50:43 +01:00
Richard Wackerbarth
7a670e3911
Improve planner & stepper PR #263
2015-12-10 07:24:37 -06:00
Scott Lahteine
644c376e84
Use binary OR with endstop bits
2015-11-12 00:03:22 -06:00
Scott Lahteine
9bdab4f3a8
Clean up "else" and other spacing
2015-11-12 00:03:21 -06:00
Scott Lahteine
0c7f7ebcfb
Styling adjustments (PR#2668 & PR#2670)
...
Keep "astyled" reformatting
2015-10-03 22:02:45 -05:00
Scott Lahteine
9f462f0cf5
Hack to address stuttering caused by ISR not finishing in time
...
(PR #138 )
When the ISR does not finish in time, the timer will
wrap in the computation of the next interrupt time.
This hack replaces the correct (past) time with a time not far in the future.
2015-09-10 08:26:17 -05:00
Christian Lefrançois
a7822e3ff7
Some renaming of Z_PROBE to Z_MIN_PROBE (PR#91)
...
* Fix a couple of renames omission and macro expansion errors.
2015-08-20 06:04:46 -05:00
Richard Wackerbarth
29b456ae07
Suppress some compiler warnings
2015-08-16 06:56:47 -05:00
AnHardt
e2d69f66b2
Make Z_PROBE a Z_MIN_PROBE (PR#65)
...
Currently we use the probe exclusively as a device to find the build platform(bed).
For the currently supported setups this means, we use it as a additional min-endstop.
A triggered when not deployed probe disturbs the homing process for max-endstops.
Rename ENDSTOPPULLUP_ZPROBE to ENDSTOPPULLUP_ZMIN_PROBE
Rename Z_PROBE_ENDSTOP_INVERTING to Z_MIN_PROBE_ENDSTOP_INVERTING
Rename Z_PROBE_ENDSTOP to Z_MIN_PROBE_ENDSTOP
Rename DISABLE_Z_PROBE_ENDSTOP to DISABLE_Z_MIN_PROBE_ENDSTOP
Rename Z_PROBE_REPEATABILITY_TEST to Z_MIN_PROBE_REPEATABILITY_TEST
Rename Z_PROBE_ENDSTOP to Z_MIN_PROBE_ENDSTOP
Adjust comments accordingly
Remove Z_MAX check for the probe in update_endstops().
Using an delta related idea of @clefranc from #61 ,
extended to the general change for all setups.
Tested with Prusa i3, max-z-endstop and permanently triggered z-probe.
Worked for @clefranc's delta.
2015-08-11 14:41:36 -05:00
AnHardt
6a6e863a47
Resolve #2581 by adding a missed ';' (PR#67)
2015-08-10 12:51:59 -05:00
Scott Lahteine
46453905d6
Apply remaining ENABLED/DISABLED conditionals
2015-08-03 16:04:48 -05:00
Richard Wackerbarth
4b9d5cd352
Use lowercase names for serial instances
2015-08-02 23:01:39 -05:00
Scott Lahteine
c35fb88094
Overridable Options - Part 8 (PR#2560)
...
Apply `ENABLED` / `DISABLED` macros to stepper-related files.
2015-07-31 01:05:22 -05:00
AnHardt
27d7d2ccab
Correct bracketing for COREXY-XZ
2015-07-23 19:52:21 -05:00
Scott Lahteine
278aa15301
Add COUNT macro and apply
2015-07-22 18:16:05 -05:00
Scott Lahteine
000a6fce46
Extract update_endstops from stepper ISR (PR#2474)
2015-07-19 18:33:18 -05:00
Scott Lahteine
9f53e2f0c9
Implement COREXZ in stepper.cpp and planner.cpp
2015-07-19 16:17:03 -05:00
Richard Wackerbarth
e83575537a
Compiler defines USBCON for USB devices (PR#2433)
2015-07-15 10:32:11 -05:00
Scott Lahteine
87a872e103
Use st_get_position_mm where possible (PR#2411)
2015-07-12 22:15:54 -05:00
Scott Lahteine
d135b15bb8
Init all endstop bits to 0 (PR#2332)
2015-06-26 07:10:22 -05:00
AnHardt
0d9d21d15f
Add a semicolon to make Z_DUAL_STEPPER_DRIVERS compile again.
2015-06-01 19:51:43 +02:00
Wurstnase
9c09967803
Merge pull request #2149 from Wurstnase/enstop_bits
...
faster compare
2015-05-31 16:02:55 +03:00
wurstnase
0f3f7d6835
clean up double endstops
2015-05-31 14:06:13 +02:00
Scott Lahteine
d76a01194d
Slight size reduction by adding idle()
2015-05-26 20:08:21 -07:00
wurstnase
94120740d8
faster compare
...
!(~(ab)&0x3) and ab == 0x3 are equal
2015-05-23 07:55:15 +02:00
Scott Lahteine
f919a2fed1
Merge pull request #2134 from AnHardt/preheat-all
...
Shift call of start_watching_heater() into setTargetHotend()
2015-05-21 18:36:28 -07:00
wurstnase
ff98b8632b
new endstop bits
2015-05-21 23:16:43 +02:00
AnHardt
bc0764894a
Shift call of start_watching_heater() into setTargetHotend()
...
to warrant watching is set or reset.
Make setTargetBed() in _lcd_preheat() dependant of TEMP_SENSOR_BED.
Use disable_all_heaters() in lcd_cooldown() and abort_on_endstop_hit.
2015-05-21 20:36:11 +02:00
wurstnase
21ff773832
rework out_bits
2015-05-17 14:33:09 +02:00
Scott Lahteine
c54a2ea042
Adjust spacing in Marlin_main.cpp and stepper.*
2015-05-17 01:47:02 -07:00
Scott Lahteine
072625ccad
Update headings in Marlin_main.cpp and stepper.cpp
2015-05-17 01:44:53 -07:00
Wurstnase
1d5677cc3b
add missing Z-bits
2015-05-12 09:36:19 +02:00
Wurstnase
df12e68e7d
add missing Z_PROBE-bit
2015-05-12 09:33:24 +02:00
Wurstnase
b55f32f8a1
replace some bools
...
this PR replaces some bools with one char. this will safe 3 bytes and should also be sometimes a little bit faster.
2015-05-10 21:37:39 +02:00
Wurstnase
073e4af7e2
We don't need the old standard one. The STEP_ADD and STEP_IF_COUNTER are also good for non-Toshiba stepper driver.
2015-05-07 18:55:47 +02:00
Wurstnase
79a44a9de3
stepper.cpp macros rework
...
delete some tabs
2015-04-24 08:03:17 +02:00
Chris Palmer
483384aaa4
Fixed faulty comment merge
2015-04-17 09:31:53 +01:00
Chris Palmer
cc6b7cf3ce
Fixed some comment spellings.
2015-04-17 09:28:08 +01:00
Chris Palmer
e4595fa24a
Fixed jump in speed when using high accelerations on axes with lots of steps.
...
I.e., when acceleration * steps per mm > 2,000,000.
This was done by changing MultiU24X24toH16 to take a 32b bit operand.
Removed the claim that stepper.cpp uses the Leib algorithm.
2015-04-16 23:04:38 +01:00
Scott Lahteine
53be0f3399
Babystep delay 2us
2015-04-16 04:16:36 -07:00
Scott Lahteine
7336e6df07
Always define old_z, not always z2
2015-04-14 04:55:20 -07:00
Scott Lahteine
5dd87d2e74
Enable all old_z_*_endstop vars for Z_DUAL_ENDSTOPS
...
- Potentially addressing #1911
2015-04-14 04:05:51 -07:00
Scott Lahteine
ccddc280be
Apply three more commits
2015-04-12 22:47:44 -07:00