1

Topic: daVinci Jr gcode commands via serial

Ladies and gents,

Maybe I don't know how to use search properly but I can't find any thread about getting serial connection to Jr to send manually gcode commands.
I've tried to co serial connection using few common port numbers and rest of the settings but with no luck there.

Can anyone point me to the right answer?!

Thanks.


Regards,
Kris M

2

Re: daVinci Jr gcode commands via serial

kr15_uk wrote:

Ladies and gents,

Maybe I don't know how to use search properly but I can't find any thread about getting serial connection to Jr to send manually gcode commands.
I've tried to co serial connection using few common port numbers and rest of the settings but with no luck there.

Can anyone point me to the right answer?!

Thanks.


Regards,
Kris M

Without a flash update to a different firmware like Repetier which is not available for jr., there is no way to send serial data due to the protocol used by the stock firmware. This was one of the reasons why so many flashed all the other pre jr models to Repetier sp they could talk to the printer.

Printing since 2009 and still love it!
Anycubic 4MAX best $225 ever invested.
Voxelabs Proxima SLA. 6 inch 2k Mono LCD.
Anycubic Predator, massive Delta machine. 450 x 370 print envelope.

3

Re: daVinci Jr gcode commands via serial

With enough information anything is possible. If you run XYZware inside a virtual machine on Linux, it's easy enough to sniff the USB traffic without special hardware. Combine that with the string dumps of XYZware others have posted here, and you might be on your way. A lot of work, sure, but it's possible.

4

Re: daVinci Jr gcode commands via serial

Wanted to let you guys know I'm making progress on this front. I'm still cleaning up the code,  but I successfully printed a file to my Jr over serial today.

5

Re: daVinci Jr gcode commands via serial

Remember me an old - very old thread about this and 1.0 : https://forum.voltivo.com/showthread.php?tid=7974

Are commands same for Jr ?

6

Re: daVinci Jr gcode commands via serial

Nope, those commands are for an ancient firmware version thqt I doubt was ever used for the Jr.

The jr's commands on latest firmware all are prefixed with XYZv3/, indicating a third version of the protocol.

7

Re: daVinci Jr gcode commands via serial

Anthem,

Any update on your serial => Jr serial?

Thanks

8

Re: daVinci Jr gcode commands via serial

I finished implementing all the commands I know how -- including firmware update. However, that's *extremely* experimental and possibly extremely dangerous. I blew up my own Jr using that command. While I believe the firmware update process is safe, I tried to update it in a very stupid way -- I tried to update to 2.2.7 on top of 2.2.7 *while* printing. I live dangerously.

As a result, I'm now in the process of converting my Jr to RAMPS 1.4, and I no longer have a Jr to test with sad If someone with a Jr wants to take over development, I'd be more more than happy to turn over the reigns.

9 (edited by Anthem 2016-07-27 03:09:44)

Re: daVinci Jr gcode commands via serial

If you want to check out my latest version, here's the repo:

https://gitlab.com/anthem/py-threedub

This supports printing, getting the raw or a (slightly) translated status from the Jr, and a couple more small things. There's nothing very useful other than those operations that can be done with the Jr (that I know of -- there may be hidden secrets I'm not aware of).

This code implements firmware update, too. Feel free to play with it, but you'll have to reenable it in printers.py yourself as I've disabled it for safety reasons. However I believe the file upload process to be safe, there are just certain times and ways that you shouldn't use it. In my case, I may have used a bad firmware file, or my attempt to update while printing could have been what blew up my firmware. I'm just not sure. Unfortunately because the firmware decryption happens on-board and no one has cracked the firmware encryption yet, there's currently no way to restore stock firmware (and no, there's still no repetier support for the board).

Be aware that the serial communications can be a little tricky. I've sometimes had to retry printing several times before it succeeds. Usually that looks like a long pause in the upload progress followed by an error message. I think it has something to do with timing issues buffering the serial data one way or the other, as it seems to happen more on slower systems like my Raspberry Pi I set up as a print server. That said, the protocol is in place and if anyone can improve on the situation they're welcome to do so. I probably won't be spending much more time on it because my Jr is soon to be a RAMPSenstein.

10 (edited by crcasey 2016-07-28 14:33:57)

Re: daVinci Jr gcode commands via serial

Thanks for the good start Anthem.

I will have to take a look at your gethub and see how you did the command encoding.  It looks like there may be some issues with the last update to your github.

Are there any external python libs that your code needs?

Good luck on your ramps conversion. I hope you open a thread for that project.

-C

11 (edited by Anthem 2016-07-30 21:00:29)

Re: daVinci Jr gcode commands via serial

@crcasey - The last update I pushed probably needs some updates to its unit tests. I haven't been able to check that out yet. Maybe I'll get to fixing that this weekend, we'll see.

In other news, I have successful prints coming out of my Jr RAMPS now! I think I will start a new thread documenting my experiences with the conversion soon, as I definitely learned a lot along the way and want to pass that on.

For now, just to show off a bit, here's a pic of the RAMPS 1.4 conversion with the full graphic reprap screen. I tried to be as non-destructive as possible, and I think I was fully successful in that goal (aside from fixing a few things I broke by accident). That means no desoldering, cutting or drilling. I used JST and Dupont connector kits with some ribbon cable to make new cables for all the connectors.

Oh, and by the way, the light bar is fully controllable using the M42 gcode on pin 4 (it's a 12v input with a 5v signal to turn it on/off)
https://www.dropbox.com/s/5lacd5mnh0cr8v0/20160728_164800.jpg?dl=1

This was my first full print -- just a test disk using XYZ nature filament.:
https://www.dropbox.com/s/i319tpkmcz4xhvb/disk.jpg?dl=1

And here's my current print job, half finished -- a Robot Turtle (http://www.thingiverse.com/thing:216285)
https://www.dropbox.com/s/mli0kevbmzkx1pj/Screenshot%20from%202016-07-30%2016-45-38.png?dl=1