Commit Graph

126 Commits

Author SHA1 Message Date
Scott Lahteine
4bbea5124d Support for multiple PWM fans 2016-03-19 03:10:18 -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
9bf87aac6a Merge pull request #3127 from thinkyhead/rc_core_babystepping
Implement BABYSTEPPING for COREXY and COREXZ
2016-03-18 23:25:26 -07:00
Scott Lahteine
7ec7bb31c4 Send a Busy signal to hosts during long processes, wait for input, etc
If Marlin is blocking the serial input or command queue for any length
of time (for example more than 2 seconds), it needs to send a message
to serial out to inform the host that it is busy. Marlin should only
send these messages out when busy, and preferably not when trying to
print formatted output.
2016-03-18 22:38:35 -07:00
Scott Lahteine
e5fd43f343 Implement BABYSTEPPING for COREXY and COREXZ 2016-03-18 18:22:53 -07:00
Scott Lahteine
1c384930f3 Merge pull request #3140 from thinkyhead/rc_fix_macro_expansion
Wrap macros to prevent bad expansions
2016-03-15 00:25:34 -07:00
Scott Lahteine
f9ded2a7c4 Wrap macros to prevent bad expansions 2016-03-12 22:38:55 -08:00
Scott Lahteine
27f244ba2c Support MAX31855 as Temperature Sensor -3 2016-03-10 02:49:54 -08:00
Scott Lahteine
2690d8568e DOGLCD width/height in Conditionals.h 2016-03-06 05:51:59 -08:00
jbrazio
be83036212 Applying suggestions by @thinkyhead at MarlinFirmware/Marlin#3049.
- Remove the forced activation of SDSUPPORT, I guess people may use the ZUM
3D board and not the LCD module.
 - Fixed the tab issue within boards.h file.
2016-03-06 05:51:56 -08:00
jbrazio
b82d91eca6 Added configuration example for the BQ Hephestos 2 3D printer.
Added support for BQ ZUM Mega 3D board and stock Hephestos 2 thermistor.
2016-03-06 05:51:56 -08:00
Scott Lahteine
772460a7b8 Various minor spelling corrections
Redo of #2939 rebased against RCBugFix
2016-03-05 20:41:15 -08:00
Scott Lahteine
68457ee903 For Dual Y/Z use the next available extruder pins 2016-02-09 21:59:09 -08:00
Scott Lahteine
0c7f7ebcfb Styling adjustments (PR#2668 & PR#2670)
Keep "astyled" reformatting
2015-10-03 22:02:45 -05:00
Scott Lahteine
7c7a4051fe Disable SDSUPPORT by default
As noted in #133 you can’t disable `SDSUPPORT` with `MAKRPANEL`,
`PANEL_ONE`, `MINIPANEL`, or `ULTIPANEL`. This patch makes it possible
to disable `SDSUPPORT` on these controllers and then disables it by
default.

Users of these controllers will now need to enable `SDSUPPORT` in their
configurations as others currently do.
2015-09-06 02:04:49 -05:00
Richard Wackerbarth
6292d9e815 Rename ENABLE_AUTO_BED_LEVELING
With the introduction of the #if ENABLED(…)

reads better than
2015-08-27 20:52:08 -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
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
Scott Lahteine
46453905d6 Apply remaining ENABLED/DISABLED conditionals 2015-08-03 16:04:48 -05:00
Scott Lahteine
68055a5959 Include RIGIDBOT_PANEL in Conditionals 2015-08-02 22:26:41 -05:00
Scott Lahteine
270c766de2 SDCARDDETECT -> SD_DETECT, added docs
- `SD_DETECT_PIN` replaces `SDCARDDETECT`
- `SD_DETECT_INVERTED` replaces `SDCARDDETECTINVERTED`
- Revise the description of `SD_DETECT_INVERTED`
- Add a note about the override of `SD_DETECT_INVERTED` in
`Conditionals.h`
2015-08-02 21:59:41 -05:00
AnHardt
7ddf1cda1d Improve condition for SERVO_LEVELING (PR#2570) 2015-07-31 22:41:34 -05:00
Scott Lahteine
94a796c8cc Rename BEEPER to BEEPER_PIN
For consistency with other pins, allowing use of `PIN_EXISTS` macro.
2015-07-31 17:13:53 -05:00
Scott Lahteine
37d1879386 Apply overridables to Configuration files 2015-07-31 00:03:36 -05:00
Scott Lahteine
9334479aeb Minor cleanup of Conditionals.h 2015-07-30 23:35:57 -05:00
Scott Lahteine
1f63293624 servo_endstops -> servo_endstop_id 2015-07-30 23:35:57 -05:00
Scott Lahteine
ed4a6371ad Add HAS_SERVO_ENDSTOPS to simplify conditonals 2015-07-30 23:35:57 -05:00
Scott Lahteine
e4c01f1c7e Simplify init with ARRAY_BY_EXTRUDERS1 macro (PR#2507) 2015-07-26 20:40:27 -05:00
AnHardt
8b876241bd Some more servo code tweaks
Just set up the pin. Don't move to a random position.

Simplify servo::move()
* servo::move() does not need the pin parameter - The pin is set during servo_init() with attach().
* servo::move() does not need a return value.

SERVO_LEVELING is the wrong condition to deactivate the servos.

Remove some temporary (Servo *) variables.
SanityCheck for the servo indexes.
2015-07-24 22:04:49 -05:00
AndySze
00dbf69b6d add MINIPANEL defines 2015-07-23 22:51:40 -05:00
Scott Lahteine
3b23ccd366 Patch servos code for move
- Have `Servo::attach` explicitly return -1 if it fails
- Check for -1 in `Servo::move` because `servoIndex` might be 0
- Make `attach` / `detach` calls conditional on `SERVO_LEVELING`
- Move `SERVO_LEVELING` define to `Conditionals.h`
2015-07-19 11:24:23 -07:00
Richard Wackerbarth
e83575537a Compiler defines USBCON for USB devices (PR#2433) 2015-07-15 10:32:11 -05:00
Scott Lahteine
447dbd6fa5 Add STEPPER_RESET_PIN support 2015-07-11 16:04:11 -05:00
Scott Lahteine
8e61314323 Use RIGIDBOT_PANEL for consistency with online docs 2015-07-09 11:36:46 -05:00
Scott Lahteine
9ebcae496d RIGIDBOARD / RIGIDPANEL 2015-07-09 11:36:46 -05:00
Scott Lahteine
c3c605c658 Move note about LiquidTWI2 to Configuration.h (PR#2406) 2015-07-09 05:33:17 -05:00
Scott Lahteine
2dd1859247 Cleanup spaces and comments in configs and conditionals 2015-06-15 20:20:31 -05:00
AnHardt
6ab7b560af Rework buzzing (PR#2296)
by:
Moving HAS_LCD_BUZZ macro to Coditionals.h
Renaming HAS_LCD_BUZZ to HAS_BUZZER to make clear is has nothing to do with the lcd.
Removing the ULTRALCD condition.

Moving declaration of lcd_buzz() out of the ULTRA_LCD block in ultralcd.h
Moving definition of lcd_buzz() out of the ULTIPANEL block in ultralcd.cpp
Renaming lcd_buzz() to buzz() to make clear is has nothing to do with the lcd.

All buzzing code is now only dependent on the existence of a BEEPER-pin or the definition of a LCD_USE_I2C_BUZZER.

To do: Check the conditions for the BEEPER-pin in all pin-files.
2015-06-15 06:13:26 -05:00
Richard Wackerbarth
06ae832276 Deprecate Support for Arduino IDE < 1.0.5
Note that newer versions of the IDE can still
be made to support compilation for the older boards.
2015-06-08 17:15:28 -05:00
Richard Wackerbarth
58941e543e ELB_FULL_GRAPHIC_CONTROLLER_SDCARDDETECTINVERTED removed
#defining something just to define something else doesn’t
make sense

If you want SDCARDDETECTINVERTED, just define it yourself.

If the previous code was intended to define, undefined and then again define the term, that code is improper.
2015-06-06 21:44:59 -05:00
Ed Boston
fed18bcc20 Removed SDSLOW for ELB_FULL_GRAPHIC_CONTROLLER
Hardware changes has removed the need for this option.
2015-06-06 16:40:32 -05:00
Ed Boston
b94a0e1501 Added ELB_FULL_GRAPHIC_CONTROLLER_SDCARDDETECTINVERTED
The new define allows the sd card detect to be inverted or not from
Configuration.h
2015-06-06 16:40:31 -05:00
Ed Boston
bc205c76a3 SDCARDDETECTINVERTED problems
Fixed an error where SDCARDDETECTINVERTED was being defined/undefined
improperly
2015-06-06 16:40:31 -05:00
fmalpartida
93da52d011 Added support for OLED SSD1306 I2C based LCDs. 2015-05-31 18:53:29 +02:00
Richard Wackerbarth
1d8f61ca8a AT90USB is defined in pins.h 2015-05-21 11:46:54 -05:00
Ed Boston
a83bf18ee1 More functional seperation
Moved SDCARDDETECTINVERTED and SDSLOW to Conditionals.h.
Added U8GLIB_LM6059_AF to define display specific actions.
Added reminder to compile in u8glib
2015-05-18 05:37:46 -07:00
Ed Boston
047e688e93 Changed ADAFRUIT_ST7565 to ELB_FULL_GRAPHIC_CONTROLLER
Rename of define to avoid confusion between the controller and the
display which had similar names.
2015-05-17 15:23:17 -07:00
Ed Boston
1999ac415c Formatting Changes
Fixes for some code formatting changes and commenting out the
ADAFRUIT_ST7565 define that was left defined.
2015-05-17 13:39:24 -07:00
Ed Boston
41f8cdb3a6 ADAFRUIT_ST7565
Added support for new display type
2015-05-17 12:47:41 -07:00
Christian Bohn
fb44b53ae3 sled improvements
- create sled pin definition
- G28 Works with sled
2015-05-11 23:22:19 +02:00
Scott Lahteine
a00ebf03d4 Merge pull request #1868 from AnHardt/LCD_STR
Moved the definitions of the LCD_STR_* to Conditionals.h
2015-04-09 01:56:23 -07:00
AnHardt
ea897654a4 Moved the definitions of the LCD_STR_* to Conditionals.h
to avoid errors in Marlin_main.cpp. #1860

In the include tree of Marlin_main.cpp the decision between the display types is not made.
To include the right LCD_STR_* ether 'dogm_lcd_implementation.h' or 'ultralcd_implementation_hitachi_HD44780.h' with all their code.
A 'dogm_lcd_implementation.h.h' would be a curiosity.
So i moved both of the definition blocks to conditionals.h

On the long term it could make sense to use the same numbering for the u8glib and the hitachi symbols.
2015-04-08 21:53:58 +02:00
AnHardt
6a514f3dc9 Aplied HAS_LCD_CONTRAST also to Marlin_main.cpp
and cleaned typo.
2015-04-08 13:26:29 +02:00
AnHardt
bcc04192fc Remove Contrast Menu for U8GLIB_ST7920
The other two devices we use in u8glib have more than only dummy code.
Checked this in the library code.
2015-04-08 12:56:38 +02:00
Scott Lahteine
a469d796e1 Add cleanups needed for #1772 2015-04-03 18:14:57 -07:00
Scott Lahteine
c0ca26cd50 Merge branch 'Development' into fixup_probing
Latest upstream commits
2015-04-03 18:05:17 -07:00
Scott Lahteine
0e8182bbf2 Additional pin tests, cleanup 2015-04-03 15:31:35 -07:00
Chris Roadfeldt
0afe6696f0 Merge remote-tracking branch 'MarlinFirmware/Development' into Merge_cleanup 2015-04-01 19:31:20 -05:00
Scott Lahteine
66b3b53e76 Merge pull request #1762 from AnHardt/MiMa
Fix MIN&MAX temperatures again
2015-04-01 16:52:07 -07:00
Chris Roadfeldt
745d9fe1a4 Merge remote-tracking branch 'MarlinFirmware/Development' into Merge_cleanup
Conflicts:
	Marlin/Marlin_main.cpp
2015-04-01 10:31:02 -05:00
Scott Lahteine
18bb6be80e Fix homing and leveling
- Include the current Z when raising the axis after and between probing
- Add `sync_plan_position_delta` for parity with `sync_plan_position`
- Clean up and clarify `M48`, `dock_sled`, and others
2015-03-31 18:52:19 -07:00
AnHardt
3f2e863206 Improve conditions for HAS_TEMP
and use them in temperuture.h

Flattened the if structure - the preprocessor is doing the work - not the Arduino. Arduino.
2015-04-01 02:56:14 +02:00
Chris Roadfeldt
45ece5afb1 Merge remote-tracking branch 'MarlinFirmware/Development' into Development 2015-03-31 03:07:57 -05:00
Chris Roadfeldt
17707e7479 Fixed Z_PROBE_PIN pullup bug.
Documented some additional areas that should be addressed if Z_PROBE is
fully separated from Z_MIN or Z_MAX.
Fixed a documentation error in sanity checks. Servos start at 0 not 1.
2015-03-31 02:56:41 -05:00
Scott Lahteine
3348b3bf0c Allow SD_FINISHED_RELEASECOMMAND to be undefined 2015-03-30 23:31:48 -07:00
Chris Roadfeldt
3175c70c79 Manually synching back up with MarlinFirmware/Development. 2015-03-31 00:11:11 -05:00
Scott Lahteine
92b54aa27e #define HAS_POWER_SWITCH 2015-03-30 19:44:53 -07:00
Scott Lahteine
6864280803 Use elif and parentheses in conditionals 2015-03-30 16:52:27 -07:00
Scott Lahteine
2faed961ce Allow POWER_SUPPLY 0 for no power switch 2015-03-30 16:39:47 -07:00
Edward Patel
782464ea4d Parentheses need here otherwise sanitycheck.h does wrong thing on line 222 2015-03-27 20:22:59 +01:00
AnHardt
94330705c7 Move definition of PIDdT back to temperature.h
make it unconditional
remove all definitions in the 'Configuration.h's
remove form 'Conditionals.h'
2015-03-25 11:51:41 +01:00
Scott Lahteine
19df90622b Include Conditionals.h file in update 2015-03-21 15:40:20 -07:00
Scott Lahteine
2c9bd15625 Move LCD items to Conditionals.h
- `Conditionals.h` is included twice, setting LCD values the first time
2015-03-21 15:24:57 -07:00
Scott Lahteine
b6d381f863 Divide up Conditionals to get LCD items early 2015-03-20 02:50:28 -07:00
Scott Lahteine
33c7c6e11d Conditionals.h requires Arduino.h 2015-03-20 01:27:14 -07:00
Scott Lahteine
670006b919 Remove invariant code from Configurations
- Add `Conditionals.h` with calculated configuration values
- Add `SanityCheck.h` with checks for configuration errors
- Remove equivalent code from all configurations
- Move error checks from some sources to `SanityCheck.h` also
- Fix initialization of count_direction in stepper.cpp
2015-03-19 22:22:23 -07:00