martin2250 / OpenCNCPilot

autolevelling gcode-sender for grbl
MIT License
378 stars 113 forks source link

GRBL Version #6

Closed Northernboy closed 7 years ago

Northernboy commented 7 years ago

Seems like this program only works with GRBL 0.9i and not GRBL 1.1. Is there plans in the future to make one compatible with GRBL 1.1?

Northernboy commented 7 years ago

I downloaded the source code and modified it. So far it is working....still needs some work to be 100% operational.

martin2250 commented 7 years ago

Yes, this is definitely on my to-do list, though I can't test it right now since my machine is stowed away, so the update will take a while. I'd love to see your changes when it's working correctly.

Northernboy commented 7 years ago

Martin, I seem to have it working good, however just doing dry runs with it and no cutting yet. Just wondering how I can share with you the changes I made? I also added another menu for functions that I like to use from other G-Code sending programs. I also added the feed rate override which is part of GRBL 1.1

martin2250 commented 7 years ago

You can fork and clone this repo, then just push your changes. I probably won't merge it until I can test it myself, but that way you can share it so other people can use it too.

Northernboy commented 7 years ago

I'll do that but first I'll cleanup some of my added code and add a few more functions. I really like your Interface and that's why I spend the time to make it work for me. Thank you for all your hard work Martin.

bytemaster-0xff commented 7 years ago

@Northernboy I had to update the regex to handle some output from Stepoko board is your change similar to mine at https://github.com/bytemaster-0xff/OpenCNCPilot?

Also thanks @martin2250 for your hard work here!

hannoHI commented 7 years ago

@Northernboy, Did you get around to publish the changes? I would like to move to grbl1.1 as well

Northernboy commented 7 years ago

I did use it to make circuit board and it did work good. However drilling the holes failed so I was going to look at that first. But I'll publish what I have done so far today for you.

luizabbadia commented 7 years ago

Did you manually changed tools? If so, chances are you've lost your original Z reference, unless you recalibrated it.

On Sat, Feb 11, 2017 at 11:59 AM, Northernboy notifications@github.com wrote:

I did use it to make circuit board and it did work good. However drilling the holes failed so I was going to look at that first. But I'll publish what I have done so far today for you.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/martin2250/OpenCNCPilot/issues/6#issuecomment-279145442, or mute the thread https://github.com/notifications/unsubscribe-auth/AFKGbiXR7keHkhtO_N8GNxrBBRys7Dc8ks5rbb7RgaJpZM4LjyOA .

-- Sds L.Abbadia

Northernboy commented 7 years ago

Martin, I forked in my version but not sure if I did it right... I compressed my version and uploaded it. But I'm sure it needs to be done a different way. Sorry first time I do this... Please let me know if all is good or how I can do it right.

martin2250 commented 7 years ago

Please upload the actual changes, not a zip archive of the entire code, so it's easier to review the changes. I'll update my branch as soon as I'm done with my exams in march.

Northernboy commented 7 years ago

I think I did it right this time. Sorry Martin. I tested it again using the gcode created for drilling holes and it works fine. Just don't use the simplify gcode for drills. I also included a setup folder for those who just want to try and don't Visual Studio installed on their computer. Try it and let me know what you thing or if you find a bug.

Northernboy

deHarro commented 7 years ago

Hello martin2250, Northernboy, preface: I installed the version of Northernboy and mated it with the GRBL controller I usually feed with G-Code via SerialComCNC, another fine free G-Code streaming utility. I made no changes in the setup of GRBL. I want to utilize the hight probing feature of OpenPilotCNC.

When the communication to GRBL starts (via Machine - Connect) I get myriads of "Received Bad Status:" messages, but all in all the communication to GRBL seems to work, the machine moves according the G-Code.

Since I tested both versions against GRBL V0.9, where martins version raises no error messages, and against GRBL V1.1, where both versions raise those error messages, I suppose that the switching between GRBL V1.1 and V0.9, respectively, in Northernboys implementation is not working. This assumption seems hardened by the fact, that changing the radio button to V0.9 inside the setup dialog is not persistent. The dialog always starts with V1.1 selected. Any ideas?

hannoHI commented 7 years ago

I experienced the same. I was not sure if my GRBL upgraded properly to V1.1 & did not have the time to confirm before writing.

Northernboy commented 7 years ago

I'll take a look again tonight. Might be a different status being sent from GRBL that I did not account for.

deHarro commented 7 years ago

Hello Northernboy,

I have another "issue" with your fork.

Since I am not so keen in C#, I am unable to implement my ideas on my own, so I dare to ask you for assistance.

If you are german speaking, you can take a look at my hompage to get the idea: http://www.harald-sattler.de/html/joystick-steuerung.htm

In short: I built an 3 axsis joystick to control my CNC mill and in the first approach I fed the generated step impulses in parallel to the step impulses of GRBL (electronical locked out against each other).

Since GRBL V1.1 suppports jogging, I tried to switch over and generate G-code strings to use this new feature of GRBL V1.1, but my Arduino nano is too weak to read three joysticks and generate three strings fast enough to hold the GRBL jog queue filled.

So my idea is to only read the analog values with the arduino and send these values over the USB connection to "a program running on the PC" and do the math and the construction of the strings on the fast PC. At that point you come in...

OpenCNCPilot (especially your forked version) has some goodies I like but misses the second serial connection to attach my joystick to.

To give it a try and fill the interieur on my own, I would ask you to do the frame where I can akt on.

Is that an option you might think of?

Thank you in advance!

Gruß

Harald


Modellbau&Elektronik

http://www.harald-sattler.de/ www.harald-sattler.de

Von: Northernboy [mailto:notifications@github.com] Gesendet: Freitag, 10. März 2017 18:40 An: martin2250/OpenCNCPilot OpenCNCPilot@noreply.github.com Cc: deHarro harry0001@t-online.de; Manual manual@noreply.github.com Betreff: Re: [martin2250/OpenCNCPilot] GRBL Version (#6)

I'll take a look again tonight. Might be a different status being sent from GRBL that I did not account for.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/martin2250/OpenCNCPilot/issues/6#issuecomment-285734497 , or mute the thread https://github.com/notifications/unsubscribe-auth/AZFIJuSFjKJufl_gW8_9mKpwm7Bxmu6Iks5rkYrsgaJpZM4LjyOA . https://github.com/notifications/beacon/AZFIJtyZwu591pdJwWBMDRKWJup1ON-6ks5rkYrsgaJpZM4LjyOA.gif

Northernboy commented 7 years ago

deHarro,

To find out what status is causing the "Received Bad Status:" is it possible to copy the status replay from GRBL by using Arduino Serial Monitor and sending ? command. It should look something like this:

<Idle|MPos:0.000,0.000,0.000|F:0.|WCO:0.000,10.000,0.000>

Also about the radio button to switch GRBL version, this was something I was working on but not yet completed. I thought I removed it but guess I missed it, my apologies.

For your joystick idea, once we work out these bugs I'll take a look at it and see if it is doable.

Thanks, Pete

Northernboy commented 7 years ago

I've uploaded some changes to the Status line. For those who were getting the "Received Bad Status" error please try my changes and let me know if it cleared.

Thanks Pete

deHarro commented 7 years ago

Hello Pete,

sorry for answering too late ;-)

Know, I live in Germany near Karlsruhe (where martin2250 resides, too), so perhaps we have some hours time diff between us.

Ok, I try that new version an I will provide you with traces fro mthe serial of GRBL, if the probs still arise.

Gruß

Harald


Modellbau&Elektronik

http://www.harald-sattler.de/ www.harald-sattler.de

Von: Northernboy [mailto:notifications@github.com] Gesendet: Samstag, 11. März 2017 12:27 An: martin2250/OpenCNCPilot OpenCNCPilot@noreply.github.com Cc: deHarro harry0001@t-online.de; Manual manual@noreply.github.com Betreff: Re: [martin2250/OpenCNCPilot] GRBL Version (#6)

I've uploaded some changes to the Status line. For those who were getting the "Received Bad Status" error please try my changes and let me know if it cleared.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/martin2250/OpenCNCPilot/issues/6#issuecomment-285860935 , or mute the thread https://github.com/notifications/unsubscribe-auth/AZFIJqCtcS2pD7IZTaZ8b3mDp-Nz__w5ks5rkoT6gaJpZM4LjyOA .

deHarro commented 7 years ago

Hi Pete,

the answer string of GRBL looks similar to your sample but there are differences:

answer to "?":

<Idle|WPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000>

Know that I parametrized GRBL with "$10 = 0" since that is the default (I should say the only) setting for that parameter which SerialComCNC accepts.

I did tell you that up til now I use(d) this program to control my mill.

Gruß

Harald


Modellbau&Elektronik

http://www.harald-sattler.de/ www.harald-sattler.de

Von: Northernboy [mailto:notifications@github.com] Gesendet: Samstag, 11. März 2017 00:28 An: martin2250/OpenCNCPilot OpenCNCPilot@noreply.github.com Cc: deHarro harry0001@t-online.de; Manual manual@noreply.github.com Betreff: Re: [martin2250/OpenCNCPilot] GRBL Version (#6)

deHarro,

To find out what status is causing the "Received Bad Status:" is it possible to copy the status replay from GRBL by using Arduino Serial Monitor and sending ? command. It should look something like this:

<Idle|MPos:0.000,0.000,0.000|F:0.|WCO:0.000,10.000,0.000>

Also about the radio button to switch GRBL version, this was something I was working on but not yet completed. I thought I removed it but guess I missed it, my apologies.

For your joystick idea, once we work out these bugs I'll take a look at it and see if it is doable.

Thanks, Pete

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/martin2250/OpenCNCPilot/issues/6#issuecomment-285813347 , or mute the thread https://github.com/notifications/unsubscribe-auth/AZFIJvDSeM4J6xd9jM4A7NHsakps3Eg4ks5rkdxugaJpZM4LjyOA .

Northernboy commented 7 years ago

Harald,

I think I see where the problem is. I'll do some modification and testing. Then get back to you.

Thanks for your help Pete

deHarro commented 7 years ago

I gave it a try but without success. I think I have the correct, new version, since there are additionla menus available and i nthe settings diailog there is missing the radio for GRBL version.

Here is a screenshot of the very first answers after connecting: grafik

deHarro commented 7 years ago

every time you are just one step ahead... ;-) Fine!

deHarro commented 7 years ago

I sent several status report requests and found a pattern: <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000> <Idle|WPos:0.000,0.000,0.000|FS:0,0|Ov:100,100,100> <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000> <Idle|WPos:0.000,0.000,0.000|FS:0,0|Ov:100,100,100> <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0> <Idle|WPos:0.000,0.000,0.000|FS:0,0> ... from now an everything repeats (its already two times the same data)

Northernboy commented 7 years ago

I have the fix n will be putting it on soon. Basically you are using spindle speed which I don't use so didn't test it. But I have enabled now for testing. So should be soon.

Northernboy commented 7 years ago

Harald,

Did some changes can you please test it. I was trying to get the same spindle speed feedback on my test GRBL but was unsuccessful. So I would like you to test it for me.

Thanks and let me know, Pete

deHarro commented 7 years ago

Pete, looks very good now, directly after connecting no error messages. BUt when I load g-code I get errors again (again some sort of pattern to be recognized): grafik

Positive side effect: For the first time I see the stylus moving in the 3D picture :-) I always wondered why you paint that arrow and do nothing with it...

deHarro commented 7 years ago

Hi Pete, perhaps it would be a good idea to get some means of tracing into your program. Just open a file in parallel and trace the responses of GRBL not only on screen but also to the file.

Background: I clicked a little bit here and there and realized error messages with different texts, something with "HOLD" in it and others, but it scrolled offscreen too fast.

Northernboy commented 7 years ago

My bad I was working with GRBL 1.1c, now using GRBL 1.1f and getting the same error. I'll have something ready soon.

bytemaster-0xff commented 7 years ago

Hello Guys - I'm working on a different fork of this and have been constantly updating the regex to handle the different message formats. Although typically RegEx is perfect for this type of stuff, sometimes it's not as flexible as handling changes. I'm going to implement a state machine parser this weekend and will share the code....stay tuned :)

Northernboy commented 7 years ago

Updated my version tested it on GRBL 1.1f and no errors. However have not tested on CNC yet but not much has changed so I don't expect it to be a problem.

Let me know & Thank You Pete

deHarro commented 7 years ago

Got another error just after starting a g-code job: grafik and grafik

deHarro commented 7 years ago

My GRBL version is 1.1f, too

Northernboy commented 7 years ago

deHarro,

Is it possible to email me you G-Code so I can run it? My email address is northernboy70@gmail.com I think I know where the problem is, just would like to test it with your G-Code.

Thanks Pete

deHarro commented 7 years ago

done

martin2250 commented 7 years ago

Hi everybody,

v1.2 is out and should work with grbl 1.1f. Should I leave this issue open (renamed) for this discussion?

Have a good one! Martin

deHarro commented 7 years ago

Hi Martin, hast du Petes Code gemerged? Harald

deHarro commented 7 years ago

Falls ja, würde ich das erst mal auf der Fräse testen. Ich habe bisher nur am Testplatz damit getestet.

martin2250 commented 7 years ago

'Morgen Harald,

nein, ich habe die neuen Status-Nachrichten IMO etwas eleganter gelöst. Einige andere Features von Pete kommen bald nach.

Grüße

deHarro commented 7 years ago

Wenn ich mir was wünschen dürfte, würde ich die neuen Menüs von Pete angeben. Das Probing (Z=0), die Jog-Befehle, usw. alles very handy :-) Ich teste deine Version heute abend mal. Allerdings habe ich beim letzten Versuch ein Gravierbit abgebrochen, weil nach Nullen und Start der Stylus erst mal wieder ziemlich (schätze 5 mm) in die Platine eingetaucht ist und dann nach negativen X und Y Koordianten weggefahren ist. Da ich nur testen wollte (ich habe bei ca. Z=+5mm gestartet), lief die Spindel nicht, sonst hätte ich jetzt wohl ne ziemliche Macke im Fräsbett ;-) War aber schon spät, vielleicht habe ich was übersehen. Ich teste das und melde mich. Harald

martin2250 commented 7 years ago

Jogging ist schon dabei (noch nicht im Release), sogar mit dem neuen jogging-Befehl von GRBL1.1. Zu deinem Problem mit dem ersten Tastpunkt hab ich leider immer noch keinen Ansatz was da schief läuft. Nur eine Frage dazu: Du sagst "lief die Spindel nicht", das sollte beim Abtasten eigentlich immer sein :). Verwendest du je ein Kabel am Gravierbit und an der Platine, oder vertraust du darauf dass die Spindel mit dem Rahmen der Maschine verbunden ist?

deHarro commented 7 years ago

Letzteres. Da die restlichen 63 Punkte auch sauber erkannt wurden (und derselbe Eingang Verwendung findet, der auch beim Z=0 Probing verwendet wird (und "schon immer" funktionierte ;-) gehe ich mal davon aus, dass das auch beim ersten Punkt der Hightmap geklappt hat. Zumal dieser erste Punkt immer (ich hab's zweimal laufen lassen) zu weit unten hängt. Aber wie schon geschrieben, ich versuche das heute abend nochmal ganz in Ruhe und Schritt für Schritt um Fehler meinerseits (also Bedienfehler) auszuschließen.

nota bene: Bei dem angesprochenen Test wollte ich nicht das Probing sondern die angewandte Hightmap überprüfen. Insofern war die nicht laufende Spindel schon was Besonderes ;-) Ach ja, und die Hightmap habe ich vorher manuell gepatcht, so dass die erste Koordiante auf gleicher Höhe wie die zweite lag. Im Bild sah das ziemlich gut aus. Der Knick in der Map war also nicht der Grund für das tiefe Eintauchen.

martin2250 commented 7 years ago

Hab noch schnell im letzten Commit eine Logging-Möglichkeit eingebaut, wäre mal interessant zu sehen was da beim ersten Punkt passiert.

luizabbadia commented 7 years ago

buddy, I really must study german otherwise...

Em 13 de mar de 2017 11:45, "Martin Pittermann" notifications@github.com escreveu:

Hab noch schnell im letzten Commit eine Logging-Möglichkeit eingebaut, wäre mal interessant zu sehen was da beim ersten Punkt passiert.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/martin2250/OpenCNCPilot/issues/6#issuecomment-286128528, or mute the thread https://github.com/notifications/unsubscribe-auth/AFKGbupbN-XXLk_zfGFra3nWOIhhoSiBks5rlVaDgaJpZM4LjyOA .

deHarro commented 7 years ago

Hi Luiz, sorry for diving into german. It's because Martin and I are both german and it somhow feels funny to have a discussion in a foreign language. But you are right, we should change back to english to again collect all others. I think Matin will follow my opinion. Harald

luizabbadia commented 7 years ago

Thank you all. I understand that if it was an original German forum , I would have to learn German (lol) , but thank you!!!

On Mon, Mar 13, 2017 at 2:11 PM, deHarro notifications@github.com wrote:

Hi Luiz, sorry for diving into german. It's because Martin and I are both german and it somhow feels funny to have a discussion in a foreign language. But you are right, we should change back to english to again collect all others. I think Matin will follow my opinion. Harald

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/martin2250/OpenCNCPilot/issues/6#issuecomment-286175708, or mute the thread https://github.com/notifications/unsubscribe-auth/AFKGbiMu2We-A28t7GtqOJwN9dBII-jSks5rlXi9gaJpZM4LjyOA .

-- Sds L.Abbadia