inkstitch / pyembroidery

libembroidery/EmbroideryFormats converted to python
MIT License
71 stars 28 forks source link

Remove invalid trim command from ExpWriter. #90

Closed cody82 closed 2 years ago

cody82 commented 2 years ago

This fixes https://github.com/inkstitch/inkstitch/issues/1315. ExpReader still handles the invalid trim command but I dont know if thats a problem.

lexelby commented 2 years ago

I'm torn about this. I would like to fix it for real, changing this to whatever byte sequence is actually correct to do a trim in an EXP. But so far, I haven't been able to find an example file that even has a trim, and I don't want to make you wait for a fix... Do you have any EXP files that have trims?

cody82 commented 2 years ago

I have not taken a look at all my files yet. Will do it in the next days.

cody82 commented 2 years ago

Ok I looked at 10 files and 4 of them contained 0x80 0x80 0x07 0x00. But it looks like those files where converted from other formats. Those that where directly downloaded do not contain this pattern. So still no idea whats right here.

lexelby commented 2 years ago

Huh, interesting. So we're not the only ones doing 0x80 0x80 0x07 0x00. Where did those 4 files come from?

cody82 commented 2 years ago

This is one of the files: https://blog.bernina.com/de/2016/06/lavendel-alphabet-wir-beginnen-mit-dem-a/ It has many 80 80 07 00 in it and it does not stitch properly on the Chicago 7. Maybe there are two exp file formats? Then there should be an option not to export trims.

I removed the trim commands from the linked exp file and will check if it stitches properly then.

lexelby commented 2 years ago

Whoa, so it's a file that's from Bernina. You'd think they'd know the format...

cody82 commented 2 years ago

I can confirm that removing the trim commands fixes everything. But I also found this: https://www.naehzentrum-braunschweig.de/Updates-und-Firmware:_:145.html It mentions a new firmware for Chicago 5 and 7 with version 1.65.7.0 which fixes the trim problem. My machine displays version 1.65 and EMB(?) 6.8. So I think this firmware would fix everything but I did not find where to download it. So it is a bug in the machine.

lexelby commented 2 years ago

Whoa, nice find!

I found this page that claims to have firmware files, but it doesn't:

https://www.bernina.com/en-US/Support-US/Machines/bernette/Read-more-at-bernette-com

Maybe contact Bernina...

Assuming you can't find the firmware file, what next? Can you just remove trim commands from your SVGs, or is there a reason that's not viable?

I have been thinking of adding the ability to specify file format options in Ink/Stitch, but that's probably fairly low on the priority list.

cody82 commented 2 years ago

I sent a mail to Bernina. I doubt they will answer as they dont even have a support address or forum.

Anyway, regarding InkStitch: As I have to remove the trim commands from downloaded files anyway, it is ok for me removing them from Inkstitch files, too.

Adding an option to the exporter would be the best solution though, as others might run into the same problem.

cody82 commented 2 years ago

Update: Bernina just sent me two hex files. Now I have to find out how to use them.

lexelby commented 2 years ago

Whoa, cool! I'm glad they responded.

cody82 commented 2 years ago

Yes, but I still dont know how to flash those files. Filenames are: Chicago 7 embroidery module software V75 (1).hex Chicago 7 sewing machine software V167 (2).hex Does anyone know how to use these? Just copy them on the Stick? But the filenames are probably too long for the machine to recognize. I did not find any documentation on this.

cody82 commented 2 years ago

I close this because it is a machine bug. Update is only possible by a technician, not by the user. So an option not to export trims would be nice, but this merge request does not implement it.