Commit Graph
100 Commits
Author SHA1 Message Date
AnHardtandScott Lahteine 5db9b940ee Use forwardKinematics in DELTA run_z_probe() 2016-07-22 16:36:33 -07:00
AnHardtandScott Lahteine 499e404fbf forwardKinematics for Delta printers 2016-07-22 16:01:51 -07:00
AnHardt 376a57232e DELTA do_blocking_move_to() more like the Chartesian one 2016-07-22 03:12:46 +02:00
AnHardt 6ef26a85d8 Back to the differences method in run_z_probe() 2016-07-21 18:16:38 +02:00
AnHardtandScott Lahteine 09a3cc33e6 Unify run_z_probe
Unify run_z_probe
Add double touch for DELTAs.
Introduce Z_PROBE_SPEED_FAST and Z_PROBE_SPEED_SLOW
  defaulting to homing_feedrate_mm_m[Z_AXIS] and homing_feedrate_mm_m[Z_AXIS]/2
2016-07-19 18:42:48 -07:00
AnHardt 11c075c6b2 Introduce line_to_axis_pos(axis_codes axis, float where, float feed_rate = 0.0)
and use it in `homeaxis()` instead of `do_blocking_move_to_axis_pos()`.
`do_blocking_move_to_axis_pos` was wrong because it performed subdivided, delta-corrected moves for x- and y-axis.

The first common move for delta homing is like quick_home but for 3 towers.

Fix two warnings.
2016-07-19 17:24:44 +02:00
AnHardt d2a49c016d DELTA: Move out of the clip-zone after G28
Move down to a safe height after G28 for DELTAs.
2016-07-15 15:22:44 +02:00
AnHardt 46994fd17d Use do_blicking_move_to*() in G28 2016-07-15 15:02:15 +02:00
AnHardt b273736962 Make MAPPER_NON the fall back mapper
Make MAPPER_NON the fall back mapper - if no other is defined.
One list less to maintain.
2016-07-12 19:59:14 +02:00
AnHardt 54d35230df Don't use UTF-strlen() if the text is not UTF 2016-07-12 19:59:03 +02:00
AnHardt 87957c7b44 Finalalize MSG_SD_WRITE_TO_FILE message with a \n
Finalalize MSG_SD_WRITE_TO_FILE message with a \n
else RH hangs.
2016-07-12 13:13:04 +02:00
AnHardt 7bcab26f2a Don't deploy/stow the probe if z-min-endstop is used for homing
Don't deploy/stow the probe if z-min-endstop is used for homing.
Don't apply `zprobe_zoffset` if probe was not used.
2016-07-11 22:01:44 +02:00
AnHardt 23e0134596 Repair M100
M100 D was running too long - caused watchdog resets.
M100 I showed more free memory than a Arduino Mega has RAM.
2016-07-11 20:44:30 +02:00
AnHardt e92e58df1f Adjust wait_for_cooling slope
Adjust wait_for_cooling slope
and drop mintemp for cooling.

See
https://github.com/MarlinFirmware/Marlin/pull/4169#issuecomment-231544532
2016-07-11 03:36:23 +02:00
AnHardt faac2bcfdb Add a kill-screen 2016-07-10 04:50:45 +02:00
AnHardt 4b44a23a36 Add TX-buffer for MarlinSerial
Similar to the current Arduino HardwareSerial
but with max. 256 byte buffer-size.

Deactivated by default.

The boards with AT90USB processor (USBCON) already use a TX-buffer.
2016-07-08 17:25:21 +02:00
AnHardt 468f7f03a2 homeaxis() can leave early
when no known axis needs to be homed.

Most changes are only caused from altering the indentation.
```
if (axis == X_AXIS ? HOMEAXIS_DO(X) : axis == Y_AXIS ? HOMEAXIS_DO(Y) : axis == Z_AXIS ? HOMEAXIS_DO(Z) : 0) {
  ...
}

to

if (!(axis == X_AXIS ? HOMEAXIS_DO(X) : axis == Y_AXIS ? HOMEAXIS_DO(Y) : axis == Z_AXIS ? HOMEAXIS_DO(Z) : 0)) return;
...

```
2016-07-08 15:59:33 +02:00
AnHardt eff7912243 Ensble/disable hardware endstops in G28 globally.
For moving away from the endstops we do not have to disable them.
They are not tested anyway.
2016-07-08 15:49:10 +02:00
AnHardt f69434d81c Eliminate void setup_for_endstop_move() 2016-07-08 15:23:20 +02:00
AnHardt 0ea6247fc2 Use logic in Z_SAFE_HOMING
Use logic in Z_SAFE_HOMING

From
```
if (home_all_axis || homeZ) {
  if (home_all_axis) {
  ...
  home z
  }
  else if (homeZ) { // Don't need to Home Z twice
  home z
  }
}

```
to
```
if (home_all_axis || homeZ) {
  if (home_all_axis) {
  ...
  }
  home z
}
```
2016-07-08 15:08:50 +02:00
AnHardt de3a169336 Always define MIN_Z_HEIGHT_FOR_HOMING even if 0
Always define MIN_Z_HEIGHT_FOR_HOMING even if 0
Always make a potential rise to `home_offset[Z_AXIS]` possible in G28.
Get rid of some very ugly constructs in MBL (ultralcd.cpp).
2016-07-08 15:08:32 +02:00
AnHardt 88ed232f53 Remove HAS_BED_PROBE case in first raise in G28
Differentiating made sense here when we could save a dozen lines of code,
but not for one line.
2016-07-08 14:59:44 +02:00
AnHardt 653eff3b31 Clean up quick_home_xy()
Since we do the actual homing now in the 'normal' routines `quick_home_xy()`
can be simplified to a relative simple diagonal move.
2016-07-08 14:59:27 +02:00
AnHardtandScott Lahteine a129078927 Add an emergency-command parser to MarlinSerial (supporting M108)
Add an emergency-command parser to MarlinSerial's RX interrupt.

The parser tries to find and execute M108,M112,M410 before the commands disappear in the RX-buffer.

To avoid false positives for M117, comments and commands followed by filenames (M23, M28, M30, M32, M33) are filtered.

This enables Marlin to receive and react on the Emergency command at all times - regardless of whether the buffers are full or not. It remains to convince hosts to send the commands. To inform the hosts about the new feature a new entry in the M115-report was made. "`EMERGENCY_CODES:M112,M108,M410;`".

The parser is fast. It only ever needs two switch decisions and one assignment of the new state for every character.

One problem remains. If the host has sent an incomplete line before sending an emergency command the emergency command could be omitted when the parser is in `state_IGNORE`.
In that case the host should send "\ncommand\n"

Also introduces M108 to break the waiting for the heaters in M109, M190 and M303.

Rename `cancel_heatup` to `wait_for_heatup` to better see the purpose.
2016-07-07 16:37:22 -07:00
AnHardt 16c83d203b Make use of the good features of a sled probe for all probes.
Move and extend axis_unhomed test to deploy/stow_z_probe().
Move and extend position store/restore to deploy/stow_z_probe().

Now all kinds of probes can use the 'E' parameter in G29/M48.
Allen key probes can be used now for grid and 3-point levelling.

Deploying the Allen Key probe uses big moves in z direction.
Too dangerous for an unhomed z-axis.
Throw a compile time error when we try to configure an
Allen Key probe homing to z-min and having no other z-min-endstop.
2016-07-06 04:11:04 +02:00
AnHardt 8555816a11 Generalize and simplify 'triggered when stowed test`
The `PROBE_IS_TRIGGERED_WHEN_STOWED_TEST` is able to detect if a probe is
successfully deployed/stowed.
It was part of the Allen Key probes code only.
Now the function is generally available.

Currently this test is compulsory for Allen Key probes to not alter the used behaviour
If you want to add the test for an other type of probe simply add
```
#define PROBE_IS_TRIGGERED_WHEN_STOWED_TEST
```
to your config.
2016-07-06 03:56:17 +02:00
AnHardt 5126cce7fd Move Allen Key probe move scripts to their own functions
There was an hidden extra move after the scripts. This is configurable now.
Added the extra moves to the relevant configs.
2016-07-06 03:46:40 +02:00
AnHardt 7d063c111c Add a optional feedrate parameter to do_blocking_move()
Add a optional feedrate parameter to `do_blocking_move()` and its companions.
2016-07-06 03:46:34 +02:00
AnHardt f799f18388 MBL typo 2016-07-05 18:19:53 +02:00
AnHardt 8b02e68cb6 Make raise for probe deploy relative in homeaxis()
Make raise for probe deploy relative in homeaxis()
by setting `current_position[axis]` to zero later.
2016-07-05 10:42:33 +02:00
AnHardt ff91d28a3a Remove wants_to_cool warning
Remove wants_to_cool warning
2016-07-04 03:12:11 +02:00
AnHardt cb1b31f69b Unconditional do_probe_raise() in probe_pt()
If Z_RAISE_BETWEEN_PROBINGS is null or undefined the probe is currently not raised by home_offset[Z_AXIS] and zprobe_zoffset.
But when different from 0 is.

If an undefined Z_RAISE_BETWEEN_PROBINGS expands to 0 (and it does) this is the solution.


A similar asymmetry exists with the newly introduced 'short-cut' in G28 - but its the rise before anything is probed - so should not make a difference.
2016-07-01 15:28:41 +02:00
AnHardtandScott Lahteine e480ee0054 Further cleanup of G28 for probes 2016-06-27 20:19:51 -07:00
AnHardtandScott Lahteine 39883d03fc universalize axis_unhomed_error() 2016-06-27 20:19:51 -07:00
AnHardtandScott Lahteine e616093d4c Simplify dock_sled()
`dock_sled()` is never called with offset parameter - remove it.
We move x only - so only that needs to be homed. Consequence is - we can home to z-min now with a sled probe!
Feedrates are set and restored in `do_blocking_move()`.
We already checked if the probe is deployed/stowed in deploy/stow_probe.
```
if (z_loc < _Z_RAISE_PROBE_DEPLOY_STOW + 5) z_loc = _Z_RAISE_PROBE_DEPLOY_STOW;
```
makes no sense - remove.
Now the raise is the same for deploy/stow -> move before the if.
Replace the if with a ternary.
Instead writing LOW/HIGH use the boolean `stow` we already have.

There is no reason for not using the sled probe in G29/M48 with 'E'.
It takes a while but works. (tested!)
2016-06-27 20:19:51 -07:00
AnHardtandScott Lahteine b4076883cc Set testet delays for K8200, RAMBO, MINIRAMBO and ST7920 2016-06-25 18:35:15 -07:00
AnHardtandScott Lahteine 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
AnHardtandScott Lahteine 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
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
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
AnHardt b4fedec0d1 Show bootscreen later
Init display and show bootscreen later, but init display in `kill()`
to init outputs before the bootscreen delays but being able to display
kill errors.
2016-06-14 01:59:50 +02:00
AnHardt bb66ffb2ae Correct hardware endstops default
All credits to RicardoGA
2016-05-23 10:54:22 +02:00
AnHardt f5a036510f Extend M421 with I and J parameters
Extend M421 with I and J parameters
2016-05-21 00:18:09 +02:00
AnHardt e761bdbb4b Remove SF_ARC_FIX from G5 (Cubic B-spline)
Remove SF_ARC_FIX from G5 (Cubic B-spline).
SF_ARC_FIX is a fix for G2/G3 (arcs) where Skeinforge always produced relative instead of absolute coordinates for the endpoint of an arc.
It's very unlikely this is also a problem with Cubic B-splines. More likely is copying from the G2/G3 code.
2016-05-19 21:00:12 +02:00
AnHardt 2207001333 No compromises for the manage_heater()
No compromises for the manage_heater(). manage_heater() will return immediately when there is nothing to do, but needs a constant detaT to work proper.
Calling idle() only every 200ms results in a display update every ~2 seconds - that should be enough.
For the other functionalities in idle() and manage_inactivity() 200ms is a lot but hopefully works.
2016-05-19 20:52:11 +02:00
AnHardt 0c4d885d5b Speedup sreen update delay
Speedup sreen update delay
and correct a comment.

A module division by 10 is slooooow. (powers of 2 are fast - but then you can AND a bitmask with the same result)
2016-05-19 15:41:09 +02:00
AnHardt 41e9569dbc Minor DELTA segmentation speedup
Minor DELTA segmentation speedup by pulling calculations out of the loop.
2016-05-18 01:49:30 +02:00
AnHardt 8a4376d51f Idle during long arcs
Idle during long arcs
to prevent from watchdog resets during high segmented fast arcs.
2016-05-14 00:29:13 +02:00
AnHardt b74af78736 Make arc support (G2/G3) configurable
Saves about 2669 bytes when deactivated. (About 1% for a AT2560, about __4%__ for a AT644!)
2016-05-13 13:27:45 +02:00
AnHardt aef2559bd8 fix-FIX_MOUNTED_PROBE
Add a forgotten condition
2016-05-13 12:07:17 +02:00
AnHardt 9cc571b312 Fix-Servo-without-endstop-probe
Sorry for not having realized someone (me) redefined not existing servo pinns to -1, some lines above.
This is a simple error - not a feature.
2016-04-12 01:01:11 +02:00
AnHardt c3d1b7db2d de-language additions 2016-04-08 22:51:04 +02:00
AnHardt 94962ee678 axis_known_position -> axis_homed
In all these cases we want the axis to be homed. If we could have lost
some steps is secondary.

Reenables homing seperate axis with DISABLE_X / DISABLE_Y true.
2016-03-25 14:05:20 +01:00
AnHardt 1c6a16d5bb Send position updates to RH
Send position updates to RH where RH can not know the end position.

For example after G28 RepetierHost assumes to be at the homing-point,
but with a servo probe we are much higher. Now the RH-software-endstops
will prevent us from going down (if activated). With this patch the
internal position of RH is updated with `current_position[]`.
2016-03-23 13:30:50 +01:00
AnHardt 1b336971ae Fix lost undef Y_MAX_PIN in pins.h 2016-03-23 12:48:06 +01:00
AnHardt ba4eebad2f Fix Fan KICKSTART
Sorting ot what else belongs to what if was not so hard.
But the static `ms = ms = millis();` was a bit surpising.
2016-03-23 12:08:02 +01:00
AnHardt 0c8e747f88 extend .gitignore 2016-03-22 17:05:45 +01:00
AnHardt 6486e8b74a Call buzz() directly from M428 2016-03-22 15:05:04 +01:00
AnHardt 338b69c24b Fix extrudernum in MSG_INVALID_EXTRUDER
SERIAL_ECHO is not very good in printing uint8_t - so cast. to int.
2016-03-20 11:39:06 +01:00
AnHardt b39b54031b Fix KEEPALIVE_STATE
Add return to NOT_BUSY for M105
Replace WAIT_FOR_USER with PAUSED_FOR_USER

Add Travis test for FILAMENTCHANGEENABLE
2016-03-20 10:41:56 +01:00
AnHardtandScott Lahteine 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
AnHardt 25d1c94fa8 Add SDSUPPORT test to TRAVIS 2016-03-10 03:06:00 +01:00
AnHardt fd5414c6ea Z_RAISE_BEFORE_HOMING -> MIN_Z_HEIGHT_FOR_HOMING
rebased
corrected spelling
changed to #elif for error

Still with MIN_Z_HEIGHT_FOR_HOMING but con be done with (folder wide) search-replace when we have a better name.
2016-03-08 17:50:23 +01:00
AnHardt 37b857e8ec M110 ang M29 rework
Add 'ok' output for G29 actually closing the file.
Handle M110 when received without linenumber/checksumm.
2016-03-07 22:27:01 +01:00
AnHardt f27c2b6b4b Reimplement #2892
Include #2892 to fix the isHeating symbol in the extruder graphics
2016-02-28 23:20:30 +01:00
AnHardt 615bec2329 Activate warning about possible reduced accuracy by default
Renamed `WARN_REDUCED_ACCURACY` to `DISABLE_REDUCED_ACCURACY_WARNING`

Changed the condition for blinking from
```
#if ENABLED(WARN_REDUCED_ACCURACY)
```
to
```
#if DISABLED(DISABLE_REDUCED_ACCURACY_WARNING)
```
2016-02-28 23:20:21 +01:00
AnHardt 1c889cd303 Refresh previous_cmd_ms during run_z_probe()
Refresh previous_cmd_ms during run_z_probe() to prevent:
stepper shutdown for expired DEFAULT_STEPPER_DEACTIVE_TIME
and extrudes for expired EXTRUDER_RUNOUT_SECONDS
(https://github.com/MarlinFirmware/MarlinDev/issues/238)
2016-02-28 23:20:12 +01:00
AnHardt 4b02f33e69 Distribute config-changes to the other configurations 2016-02-28 23:20:04 +01:00
AnHardt be24fdacea The same changes to the axis-letters now for the char-displays
Exactly the same - copy/paste.
2016-02-28 23:19:54 +01:00
AnHardt 5b0f659355 Changes for graphics displays
Replaced displaying "---" instead of the value of a coordinate when
unhomed or with reduced precision
with blinking the coordinate-prefix-character ('X','Y','Z').
For "unhomed" a '?' is shown every second second - until that axis is
homed. The value displayed is, as before the "---" where displayed, the
relative to the reset position coordinate value.
When the axis stepper was disabled, now we can display a hint on that,
by showing a blinking ' ' instead of the axis letter, when
WARN_REDUCED_ACCURACY is defined.

I suppose the code itself is here the better documentation.

A '+/-' character is in non of our charsets so i decided for a '?' for
now to reduce the work.
There is no additional space on the displays one could use to display
the information, so replacing something is the only option. As the axis
letters are totally redundant with their positions on the display they
contain the least information.
So my decision was to overwrite them.
2016-02-28 23:19:32 +01:00
AnHardt 32ae9f9ab7 Fix stepper shutdown during waiting for temperatures
In the wait loops of M109 M190 idle() is called, what checks
stepper_inactive_time against previous_cmd_ms.
Because we can be several minutes inside the loop, resetting
previous_cmd_ms only outside the loop caused stepper shutdowns.

The name of previous_cmd_ms does not really reflect its use. It's set
not only when a new command was received or executed but also in many of
the movement routines. For that the little extension of using it during
the wait will (hopefully) not hurt.

# Conflicts:
#	Marlin/Configuration_adv.h
2016-02-28 16:58:50 +01:00
AnHardt b6e69e71ce Make stepper shutdown after inactivity dependent
Make stepper shutdown after inactivity dependent on a new set of
#defines.
DISABLE_INACTIV_X
DISABLE_INACTIV_Y
DISABLE_INACTIV_Z
DISABLE_INACTIV_E

And make exemplaric Configuration.
Names can be discussed.

This makes the disabling of the steppers independent from the DISABLE_?
settings witch shut down the steppers immediately.
2016-02-28 16:58:42 +01:00
AnHardt 051325ccd7 Introduce axis_homed
Introduce additional variable axis_homed to replace axix_known_position
when the coordinate display should indicate the axis is not homed.
This is to distinguish between "not homed" and "inexact position possible
because stepper was disabled".

# Conflicts:
#	Marlin/ultralcd_implementation_hitachi_HD44780.h
solved
2016-02-28 16:58:28 +01:00
AnHardt e736779d7e blink for char-lcds
Implement and test blinking for char-lcds

# Conflicts:
#	Marlin/ultralcd_implementation_hitachi_HD44780.h
solved
2016-02-28 16:58:19 +01:00
AnHardt cb88fdd242 Protect MarlinSerial against interrupts
Protect MarlinSerial against interrupts
by shielding the CRITICAL_SECTIONs

Now with a test if RX_BUFFER_SIZE is in the required range.
Code in peek() and read() is now optimized for readability and showing the similarity between the two.

Maybe a bit overprotected in checkRx() and store_char(), but now some days without detected errors from this source.
2016-02-24 17:18:12 +01:00
AnHardt dc0f41868e Make rx tail/head atomic 2016-02-24 15:51:34 +01:00
AnHardt 6f473f7fc6 Repair N in ADVANCED_OK
Send the correct line number.
If no N was in the command - non't send an N.
2016-02-09 19:23:26 +01:00
AnHardt efbd705eda Replace the "ok" in M280, M301, M304, M851 with output not including an "ok"
Replace the "ok" in M280, M301, M304, M851 with output not including an "ok"
to avoid senting two "ok"s for a single g-code.

Doing the same for M105 would break the input filters of the hosts.
For M105 the other "ok" is omitted.
2016-02-09 13:36:03 +01:00
AnHardtandRichard Wackerbarth 57da1b8497 Host parseble output for M109, M190 and M303
Make the output of M105 more similar to Repetier.
Make the text-print pert of M105 an extra function to make it reusable. `print_heaterstates()`
Use `print_heaterstates()` in M019, M190 and M303
2015-12-07 15:37:53 -06:00
AnHardtandRichard Wackerbarth fcceb98191 Unglobalize no_wait_for_cooling 2015-12-07 15:34:26 -06:00
AnHardtandRichard Wackerbarth 8d1eeff021 Fix status LEDs update when reinitializing the display
Fix status LEDs update when reinitializing the display

By using the regular update function during init.

Fixing #2683
2015-12-03 07:18:35 -06:00
AnHardt e19fe4054d Update README.md 2015-12-03 00:38:27 +01:00
AnHardtandRichard Wackerbarth bb4efcf603 Handle temp callbacks when THERMAL_PROTECTION_HOTENDS is not defined
by alternate definition for the callback macros
2015-12-01 07:21:52 -06:00
AnHardtandRichard Wackerbarth 96d0d04b8f Update LCD buttons less frequently
Move slow_buttons_update into the LCD_UPDATE_INTERVAL block
lcd_implementation_read_slow_buttons() will then be executed ~10 times a
second.
2015-11-30 05:44:32 -06:00
AnHardtandRichard Wackerbarth c956b52c4a Babystep Multiplier
Analog to https://github.com/MarlinFirmware/MarlinDev/pull/250 by
@RicardoGA

Restore the Babystep Multiplicator functionality and now it's available
for X/Y/Z
2015-11-30 05:43:10 -06:00
AnHardtandRichard Wackerbarth 33addc52a1 Suppress Z_MIN_PROBE_REPEATABILITY_TEST for DELTA and SCARA configurations (PR#2747)
For now Z_MIN_PROBE_REPEATABILITY_TEST is not possible for DELTA or SCARA
configurations.
This PR comments the feature out, where it is commented in by default.
2015-11-13 07:33:33 -06:00
AnHardtandRichard Wackerbarth 8da2e98985 Split RAMPS 1.3 an 1.4 (PR#2741)
because of hardware differences on the SERVO0_PIN
2015-11-13 07:13:48 -06:00
AnHardtandRichard Wackerbarth 6dfc7124a1 Add Travis check for ALLEN_KEY (PR#2748)
Tests DELTA, AUTO_BED_LEVELING_FEATURE and ALLEN_KEY
2015-11-13 07:09:05 -06:00
AnHardtandRichard Wackerbarth be7167ed97 Change XY formatting on LCD (PR#2740)
According to #123 negative values for XY at or below -100 are displaying incorrectly, dropping the first digit. Deltas can easily have XY values in this range. This PR adds a function to display floats/ints formatted like `_123`, `-123`, `_-12`, or `__-1` as appropriate and applies it to the XY coordinates on Hitachi displays. It also moves the Z value to the right to be consistent with the XY formatting.
2015-11-13 06:46:11 -06:00
AnHardtandRichard Wackerbarth 47401ec97b MSG_EXTRUDER_SWITCHED_OFF was renamed to MSG_REDUNDANCY
in language.h, but was not renamed here. If TEMP_SENSOR_1 is enabled as redundant then
an error is thrown that MSG_EXTRUDER_SWITCHED_OFF is not defined.

Originaly by @12dstring
2015-10-08 10:45:11 -05:00
AnHardtandRichard Wackerbarth 5707a2c3d5 indexindexIntoAB is only vald for !DELTA 2015-08-11 17:32:11 -05:00
AnHardtandRichard Wackerbarth d8860f9ad9 Alway end at the same point
Always end at [RIGHT_PROBE_BED_POSITION, BACK_PROBE_BED_POSITION]
Regardles the evennes of auto_bed_leveling_grid_points.
2015-08-11 17:32:11 -05:00
AnHardtandRichard Wackerbarth 4ca8f4a9a7 Always zigzag
Use the shortest way between probing-points.
2015-08-11 17:32:11 -05:00
AnHardtandRichard Wackerbarth 3d23424121 Add array indexIntoAB[xx][yy]
and use it.
2015-08-11 17:32:11 -05:00
AnHardtandRichard Wackerbarth 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
AnHardtandRichard Wackerbarth 8d23c4230e Add a Travis test for Z_DUAL_STEPPER_DRIVERS and Z_DUAL_ENDSTOPS (PR#68) 2015-08-10 17:47:49 -05:00
AnHardtandRichard Wackerbarth 6a6e863a47 Resolve #2581 by adding a missed ';' (PR#67) 2015-08-10 12:51:59 -05:00
AnHardt e3acc84b99 Merge pull request #7 from Wackerbarth/DetailedBuildVersion
Provide both long and short version strings
2015-08-03 15:40:54 +02:00
AnHardtandRichard Wackerbarth 244ea2014a Boot-screen for text-displays improvements
Centred the logo for 16x4 and 20 x4.
Moved version to the bottom line
Code shrink to 704 bytes.
2015-08-03 07:13:00 -05:00
AnHardtandRichard Wackerbarth 80f2a20842 Enable bootscreen in all Configurations 2015-08-03 07:13:00 -05:00