Which is the best GitHub for for GCodeParser?


#10

Are you now able to draw the fish?


#11

i didnt draw a fish since i dont have the data of it but i made a simple file with some commands and the plotter actually moved


GCode Parser Problem?
#12

The fish is in the demo directory here fyi:


#13

okay seems like i celebrated a bit too early…
strange that some commands like: G1 X-100.5 Y90.4 Z1 move the plotter (command that i have written on my own)

this is what i see from my POV the plotter isnt moving at all

here is a screenshot


#14

Can you try to reset the board, close and reopen the serial connection in the app and then try to send a single command with the command line at the bottom. I’m partial to G01 Z34 X400 Y400.+

If that doesn’t work I’d suggest that you fall back to the arduino serial monitor. That’s the only one that’s worked reliably for me probably because it doesn’t care about getting the right kind of response.


#15

Sure.
Just tried it and it worked the Plotter moved.
Could you maybe describe me the command im still not getting GCode 100%.
Since you started with Z being 34.

Also i just tested to make a simple cnc file with this command and 2 others and it worked fine.

But i think we defnetly need help from Makeblock here. I read something about that there is vacation in china this week so i hope to get an answer next week and maybe they can help us with our problem.

Thank you.


#16

Can you then try to get it to move to 200, 200 with G01 X200 Y200.

I’m no gcode expert but G01 is a simple linear move. Then the coords are self explanatory. I think the firmware executes Z moves immediately rather than doing a linear interpolation with the other axes so it doesn’t really matter if it’s first or last.

The more important thing is whether the system is in relative move or absolute move mode. I think it starts in absolute mode so a move to a -ve coordinate wouldn’t make sense since the origin is in the corner of the drawing area.

You can use G90 and G91 to switch back and forth between linear and absolute modes. I found it useful to look at the fish code so you can see what the machine is supposed to support and then cross reference with the wikipedia page below for the definitions.


#17

Yes i will try but i cant right now i just got home.
The Plotter is at my company so ill try it tomorrow and give feedback!

Thanks so far !


#18

Oh yeah, OK. No rush at all. I’m just trying to see if your experience is exactly the same as mine or a little different. If it’s a little different then maybe one or other of us can make progress.

My plotter is at home so I can’t look at it until much later. I’m guessing you’re in the GMT+1, I’m in EST (GMT-5) so it’ll be like 3am before I can do anything myself. :slight_smile:


#19

If you have anything Else that i can Test tomorrow just list it up here and I will give Feedback


#20

So it turns out that I had the Y pins backwards. Now I have:

int Y_STEP_PIN = 9;
int Y_DIR_PIN = 3;
int Y_ENABLE_PIN = 4;
int Y_MIN_PIN = A2;
int Y_MAX_PIN = A3;

This has resolved the spirally circle issue. So please make sure all your pins are set correctly. Even though everything was backwards (DIR and STEP reversed!) it seemed to work well enough.

What I’m seeing as the main problem now is that the various gcode sender programs never seem to think that the arduino has actually completed its command. They seem to never see the ā€œok\nā€ that you can clearly see in the serial monitor. I’m not sure why this is but it I think it might be the reason we’re having such trouble.

Having said that the answers to the question below would suggest that it might be more complicated than just ā€œok\nā€. I guess I’m going to have to read the code for the gremote program too :frowning:


#21

So i just want to share you my Setup:

Here is just a picture so you can see in which port i plugged in the diffrent cables.
The Board is an Orion based Board.

The Pin Layout in the Parser looks like this:

It looks like you plugged the Y Motor in Port 2
And X Motor in Port 1.
Im using this Setup since i had problems with mDraw when i chose the other Layout.

The same settings i used in GRemote under the tab Settings.
Im not sure what the -1 on the different int means i just copied the PIN-Layout from another forum Post.

Also when i send the G01 X200 Y200 via Arduino Monitor i get an oƫ as an OK Message i saw that in GRemote too
GRemote also gave some kind of error in the cmd line

So in Arduino Monitor the OK is oĆ« and in GRemote the OK goes by oƙ maybe there is a problem with the character encoding.

In the Universal GCode sender you dont get an OK at all you just see:

**** Connected to COM13 @ 115200 baud ****

{ā€œgcā€:ā€œG01 X200 Y200ā€}

This could be why i sometimes get Problems when sending more commands because sometimes i send the code and nothing happens…

Is there any way that i can send more than 1 command via the Arduino Monitor?
If there would be an ability to load a file it would be good.

Also is there a command where i can get to X 0 Y 0 in the bottom left corner (view like image)

I also found out for me that if i enter a command from the fish file G02 and G03 arent working G01 is working…
even without the I13.839709 J-13.234108 values on the G02 and G03 commands arent working.
Also i cant get the G90 or G91 commands to work.
Seems like there are only some commands that work and not all the GCode commands.

Edit: So i fixed the strange ok by changing Serial.println(ā€œokā€); to Serial.println(ā€œoā€); in the process_string file but still i cant do any absolute movement just G01 commands.
Also i can now send code from GRemote and even Send a file from GRemote with arrow keys working aswell :slight_smile:


XY plotter v2 not working at all
#22

Wow! I wonder if the ā€œo\nā€ makes some strange character in unicode that’s throwing everything off. I’m using Arch Linux and all I see is ā€œokā€. I changed the sources to Serial.print(ā€œok\nā€) but it didn’t make any difference. I’ll try changing it to ā€œoā€ tonight.

The universal sender’s command table tab shows the G… command but the ā€œdoneā€ column never gets a checkmark.

The ardiuno serial monitor is very basic which is nice because it makes no assumptions and requires nothing but it also provides no facilities.


#23

Yeah i just tried it and had luck :slight_smile:
Its pretty cool now that GRemote finally works.
Now i will test the fish file again and give feedback.
If you need any Infos let me know im still 2 hours at work :smiley:

Edit: Okay the fish file does work however im not able to control the Servo i need to look into maybe a problem in the Parser.


Has anyone got GCode parser to work with Orion board?
#24

I’m really interested to hear if the fish works. The circle command (G02/3) is supposed, looking at the code, to go to a location and draw a circle there but I’ve only ever got it to just draw a circle in place.


#25

Would be awesome to hear if it works for you with the ā€œnewā€ Serial print function.
Ill try to fix my Servo next week on Monday.


#26

I tried your ā€œoā€ thing and it didn’t work so I took a look at the GRemote code and it is waiting for ā€œOKā€ not ā€œokā€. I fixed that in the firmware and now I’m getting through the GRemote startup sequence but I still don’t have a responsive plotter at the end of GRemote’s command sequence.

It would appear that the memory setting codes ($1 X…) cause the plotter to no longer be able to move. If I don’t issue any of those commands then everyone’s happy.

Next, for the universal sender the choice of TinyG is not such as good one. It does allow commands to be sent because the application does think that the tool is initialized but the response (at least in 1.0.9) is expected to be in json format. A simple ā€œOKā€ is not good enough. You can fake the sender into accepting that the firmware is grbl by sending ā€œGrbl 0.9ā€ instead of ā€œstartā€ at the end of initialization (in the setup function). Then the sender will correctly parse the ā€œOKā€ or even ā€œokā€ that the firmware sends back.

I had to put the sender into single command mode (settings->sender settings->enable single step mode) because the firmware can’t handle multiple gcode commands at the same time.

It’s also become clear to me that my servo is setup wrong because it’s up when its supposed to be down (for the fish) and its still up when it’s supposed to be up. I though Z34 was up but I guess it’s supposed to be down. Yup, it was wrong. I set it to Z34 then removed the white arm from the servo and put it back on so that it was perfectly horizontal with the pen down.

It’s currently and correctly drawing the fish!


#27

It’s a bit small and perhaps a blunt pencil wasn’t the best choice but it looks pretty damn good to me.


#28

Looks Great thanks for Sharing your results and new Information with me. Ill try your new results on monday with my setup.


Link for last version for orionboard XYplotter
XY Plotter GRemote not Working
#29