Commit graph

5964 commits

Author SHA1 Message Date
Scott Lahteine
e650a75b88 Simplified variable-size array macros 2016-07-01 20:36:05 -07:00
Scott Lahteine
ac4f235912 Merge pull request #4167 from thinkyhead/rc_eeprom_checksum
EEPROM Checksum
2016-07-01 19:22:49 -07:00
Scott Lahteine
ba00615aa4 Merge pull request #4184 from esenapaj/Tab-to-Space
Tab to Space
2016-07-01 16:34:12 -07:00
esenapaj
03b8f88092 Tab to Space 2016-07-02 08:07:33 +09:00
Scott Lahteine
b4fee31a84 Merge pull request #4183 from AnHardt/do_probe_raise-asymetry
Unconditional do_probe_raise() in probe_pt()
2016-07-01 12:50:47 -07: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
Scott Lahteine
7ef7843fd4 Merge pull request #4181 from thinkyhead/rc_rename_a_move_func
Do interpolated moves for Allen Key deploy/stow
2016-06-30 16:30:09 -07:00
Scott Lahteine
6b2a7b30af Extra comments to clarify EEPROM code 2016-06-30 16:28:01 -07:00
Scott Lahteine
787f394676 MAX_EXTRUDERS replaces mysterious "4" 2016-06-30 16:27:37 -07:00
Scott Lahteine
bc3748b7bc Add shared Config_Postprocess for Read and Reset 2016-06-30 16:25:29 -07:00
Scott Lahteine
adcd0f5de3 Some formatting in configuration_store.cpp 2016-06-30 16:25:29 -07:00
Scott Lahteine
5e370006fc EEPROM Checksum 2016-06-30 16:20:25 -07:00
Scott Lahteine
725fde8b26 Merge pull request #4169 from thinkyhead/rc_wait_but_break
Allow wait-for-cooling, break at threshold or if cooling stalls
2016-06-30 16:13:51 -07:00
Scott Lahteine
da6b0dab5f Use prepare_move_to_destination for Allen Key deploy/stow 2016-06-30 16:09:43 -07:00
Scott Lahteine
c42f8fb8dd Rename some movement sub-functions 2016-06-30 15:50:00 -07:00
Scott Lahteine
b6b3a4afbf Merge pull request #4168 from thinkyhead/rc_viki2_for_ramps
Support for VIKI2 in RAMPS and derivatives
2016-06-30 01:48:50 -07:00
Scott Lahteine
3d9472f305 Merge pull request #4173 from thinkyhead/rc_cleanup_runout
Cleanup extruder runout configs
2016-06-30 01:47:40 -07:00
Scott Lahteine
f84d85f761 Cleanup extruder runout configs 2016-06-30 01:40:41 -07:00
Scott Lahteine
5e14a528dd Always wait for cooling in M109/M190, break at low temp or if cooling stalls 2016-06-29 14:07:54 -07:00
Scott Lahteine
bf216bd78f Merge pull request #4165 from thinkyhead/rc_rumba_temp_pins
Always define temp sensor, heater pins for RUMBA
2016-06-28 18:20:37 -07:00
Scott Lahteine
0b0b7aac6e Support for VIKI2 in RAMPS and derivatives 2016-06-28 18:19:18 -07:00
Scott Lahteine
abda4ab427 Clean up CNControls pins 2016-06-28 16:56:48 -07:00
Scott Lahteine
683975cf90 Fix spelling in a config comment 2016-06-28 16:49:13 -07:00
Scott Lahteine
8268c0a9a0 Always define temp sensor, heater pins for RUMBA 2016-06-28 16:28:05 -07:00
Scott Lahteine
db19959735 Merge pull request #4161 from thinkyhead/rc_general_cleanup
Reduce storage requirements for strings, make some PGM
2016-06-27 20:46:26 -07:00
Scott Lahteine
2e96276bf4 More debug message cleanup 2016-06-27 20:36:19 -07:00
Scott Lahteine
dc2c0e5e24 Simpler debug output for deploy/stow 2016-06-27 20:36:18 -07:00
Scott Lahteine
bd491818d6 Reduce storage requirements for strings, make some PGM 2016-06-27 20:36:18 -07:00
Scott Lahteine
ee876dcd7a Merge pull request #4159 from thinkyhead/rc_rigidbot_diff
Rigidbot V2 support - has MCP4728 digipot
2016-06-27 20:35:22 -07:00
Scott Lahteine
fdb6533730 Merge pull request #4162 from thinkyhead/rc_anhardt_sled3
Simplify dock_sled() and some more probe tweaks
2016-06-27 20:25:36 -07:00
Scott Lahteine
0c24e0e445 Support for newer Wire library 2016-06-27 20:25:03 -07:00
Scott Lahteine
ddb386c139 Init DAC_DISABLE_PIN in dac_init 2016-06-27 20:25:03 -07:00
AnHardt
e480ee0054 Further cleanup of G28 for probes 2016-06-27 20:19:51 -07:00
AnHardt
39883d03fc universalize axis_unhomed_error() 2016-06-27 20:19:51 -07:00
AnHardt
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
Scott Lahteine
6c60869409 Support DAC_OR_ADDRESS in Printrboard too 2016-06-27 12:36:21 -07:00
Scott Lahteine
593c8bf286 Support for Rigidbot V2 2016-06-27 12:35:20 -07:00
Scott Lahteine
1df63b7ef4 Merge pull request #4158 from thinkyhead/rc_has_lcd_contrast
CARTESIO_UI has lcd contrast
2016-06-27 12:24:02 -07:00
Scott Lahteine
511503ede9 CARTESIO_UI has lcd contrast 2016-06-27 12:04:49 -07:00
Scott Lahteine
71a693b3ec Merge pull request #4154 from thinkyhead/rc_probe_raise_options
Use Z_RAISE_BETWEEN_PROBINGS with MBL
2016-06-26 16:03:42 -07:00
Scott Lahteine
829c92f1ba Use Z_RAISE_BETWEEN_PROBINGS with MBL 2016-06-26 15:39:11 -07:00
Scott Lahteine
eb1755208f Merge pull request #4153 from thinkyhead/rc_probe_raise_options
Combine Z raise before/after options
2016-06-26 15:30:08 -07:00
Scott Lahteine
10da7ac86c Combine Z raise before/after options 2016-06-26 13:56:30 -07:00
Scott Lahteine
9caa8941e2 Merge pull request #4149 from thinkyhead/rc_minimum_raise_in_probe_pt
Ensure a minimum height before XY move in probe_pt
2016-06-25 19:35:58 -07:00
Scott Lahteine
3fa631130f Ensure a minimum height before XY move in probe_pt 2016-06-25 19:19:31 -07:00
Scott Lahteine
815000ff32 Merge pull request #4148 from thinkyhead/3drag_delay_anhardt
Fix up delays in ST7920_SWSPI_SND_8BIT
2016-06-25 19:16:37 -07:00
Scott Lahteine
a7684eef7a Squish code in ST7920 2016-06-25 18:35:15 -07:00
AnHardt
b4076883cc Set testet delays for K8200, RAMBO, MINIRAMBO and ST7920 2016-06-25 18:35:15 -07:00
AnHardt
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
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