single line gcode blocks with multiple commands?

579 views
Skip to first unread message

Mike Estee

unread,
Apr 16, 2013, 1:30:53 PM4/16/13
to devT...@googlegroups.com
tinyg can't process the following line:
n100g0x100y100z10s1300m03

i've noticed there are a lot of generators that will produce blocks with multiple g/s/m codes on the same line. what's the official word on tinyG's parser?

--mikest

Alden Hart

unread,
Apr 16, 2013, 2:37:23 PM4/16/13
to devT...@googlegroups.com
Can you tell me what part is not working? I'm not at a bench to test, but I have been tracing the code with that line of Gcode and all things seem to be happening in the correct order of operations:
- The S word is set
- The M3 is enacted
- The move is performed.

Is is possible that you encountered this line when the planner buffer was full? This line queues 3 events (listed above) but it's possible that the planner queue was overrun.

Alden

Mike Estee

unread,
Apr 16, 2013, 2:41:09 PM4/16/13
to devT...@googlegroups.com
Sometimes I see spindle start failures running the following:

T1M6
G17
G0Z10.000
G0X0.000Y0.000S1300M3
G0X20.318Y13.946Z1.000
G1Z-1.600F50.0
G0Z1.000
G0Y16.420
G1Z-1.600F50.0
..
..
..


Let me verify it isn't some other problem before I send you on a wild goose chase.

--mikest

--
You received this message because you are subscribed to the Google Groups "TinyG Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to devTinyG+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Alden Hart

unread,
Apr 16, 2013, 2:42:31 PM4/16/13
to devT...@googlegroups.com
Here's a simple test. Make the following change in controller.c

static uint8_t _sync_to_planner()
{
// if (mp_get_planner_buffers_available() == 0) { 
if (mp_get_planner_buffers_available() < 3) { 
return (TG_EAGAIN);
}
return (TG_OK);
Reply all
Reply to author
Forward
0 new messages