Timmmm / robocut

Control vinyl cutters, including Craft Robo, Silhouette, Cameo and Portrait
http://robocut.org/
GNU General Public License v3.0
81 stars 27 forks source link

Graphtec CC200 systematic error #11

Open FCare opened 3 months ago

FCare commented 3 months ago

Hello, I just got an old Graphtec CC200-20 and I compiled your latest branch.

Unfortunately, each time I was requesting to cut, I got an error. I looked a bit in the code and I commented this part:

    e = UsbSend(handle, "FE0\x03"); // No idea what this does.
    if (!e)
        return e;

    e = UsbSend(handle, "TB71\x03"); // Again, no idea. Maybe something to do with registration marks?
    if (!e)
        return e;

    sr = UsbReceive(handle, 10000); // Allow 10s. Seems reasonable.
    if (!sr)
        return e;

    resp = sr.unwrap();

Then, there was no error anymore and the cutting is working perfectly.

I do not know how to make it dependent from my model. For the moment, I just disabled this code. Maybe there is a command to get a model descriptor (a bit like getting the Firmware version), but I do not know the command.

At least, if it can help you to improve your nice tool, I would be glad to help and contribute.

Thanks a lot.

Timmmm commented 3 months ago

Ah thanks for the debugging! Were you using the develop branch? I also noticed it didn't quite work, even though master definitely did at some point with that code left in.

I actually need to do some vinyl cutting soon for the first time in ages so I'll do some debugging and hopefully fix & release develop. It's kind of tricky since I only have one vinyl cutter (also a CC200-20) so I can't test it on others.

FCare commented 3 months ago

Hi, yes I used the develop branch. And once this code has been removed, the CC200 is working nicely. I did a lot of cutting yesterday. I did not checked the pattern finding function. Just for info, where did you found all the commands you are using in your tool?

Timmmm commented 3 months ago

Ah great. I reverse engineering it years ago, hence the "No idea what this does" comments - it's just something the official Graphtec software sent.

Someone did actually managed to coax some documentation out of Graphtec later - there's a table of commands somewhere... but it barely tells you anything unfortunately.