gcode G4 dwell, how does it work?
i need to use the G4 code (dwell, or wait), but I cannot get it working with my bfb3000 @ version 4.1.0 beta2.
i tried integers and floats, neither 1=1second or 1000=1second seems to make it wait.
e.g.:
G4 1.0
G4 1
G4 1000.0
G4 1000
the code is only available in beta software, so I could not find much documetation about it other than its there. anyone knows how to use it properly?
Hi Mark,
awesome, that looks promising! cannot test right now, but will test later and let you know.
I need it for the solder paste extruder see my thread here www.bitsfrombytes.com/forum/post/solder-paste-dispenserextruder
... basically I want to stop a few milliseconds after dispensing a drop of paste so it can settle on the solder pad, would you use a different way? I only have my printer a week now, but already tinkering with it, great fun this thing.
Cheers,
Dan
Hi Dan,
For your application the G4 makes most sense that I know of.
The very early bfb firmware (1.0.8) had the following code:
void G_Code_G4(void)
{ //G4 Dwell time
//P Dwell time in seconds
int delay = 0;
//TODO HERE: Time needs sorting out, values here are incorrect
//ms function not scaled correctly and is running at 1/5th speed
if (GP_Val != 0)
{
delay = (int)GP_Val*200;
delay_ms(delay);
}
}
So as the delay is based on GP_Val, then also try G4 P1000 too. It seems that delay_ms calls delay_us in Extruder.c ... so whilst the comments say Dwell time in seconds, everything else points to mS.
I've no idea how the current firmware differs from this :)
Cheers,
Mark
Hi Mark,
thanks, will try both, S and P. Is the firmware open source, or do you work for bfb?
Dan
Hi Dan,
AFAIK BfB released the early firmware under the Creative Commons license and I think that 1.0.8 is the only version that was available to download. I found it via a thread in the forum (somewhere).
I've just checked briefly through the reprap source and they use G4 Px too .... gcode.queue("G4 P" + millis + " ;delay"); so perhaps this is the one to go for.
Cheers,
Mark
I tried it.
G4 P2.00 - pauses for 2 seconds
G4 P1.00 - pauses for 1 seconds
G4 P0.10 - pauses for 1 seconds :(
seems that the minimum dwell time is 1 second or am I doing omething wrong again...?
giving S parameters does not dwell at all. i also tried passing the number as integer, was hoping it would switch to milliseconds, but was still using seconds.
I really would like to have millisecond precision, AFAIK this is a bug... unless I'm doing it wrong.
Hi Dan,
I guess it's only a bug if BfB say it's a bug :( but I tend to agree that with a device like this working in seconds makes little sense - especially as Reprap and Makerbot both seem to handle mS.
I'd suggest opening a support ticket http://www.bitsfrombytes.com/node/add/casetracker-basic-case
Cheers,
Mark
Hi Mulder,
wiki.bitsfrombytes.com/index.php/Rapman_v3.1_building_and_getting_started_overview#G-code shows G4 taking an S parameter and show G4 S20 as an example.
Perhaps try this and let us know if it helps.
Also, for what reason do you need the dwell function ... perhaps there is something more suitable?
HTH,
Mark