exciting-io / printer

Tools for exploring the possibilities of "internet of things" printing.
http://exciting.io/printer
MIT License
479 stars 94 forks source link

Very dark images often result in corrupt prints #24

Open lazyatom opened 12 years ago

lazyatom commented 12 years ago

It looks like images with a lot of darkness in them cause the prints to corrupt; sometimes skipping parts of the image, sometimes resulting in garbage character output. See here for examples:

Tweaking the darkness setting for the printer right down seems to resolve this:

The first print (at the bottom) used a darkness of 150, and still demonstrated the error. The second print (at the top) used a darkness of 50, and printed successfully.

My current best guess is that the slow-down caused by the darkness results in some kind of buffer overrun within the printer. Introducing a delay(1) after every 500 bytes sent to the printer resolves the problem, at the cost of a significant print speed reduction.

lazyatom commented 12 years ago

I wonder if the server could analyse the darkness of the image at certain points and introduce commands into the image stream to compensate? For example, images with large pixel densities could be split into smaller chunks of images, interspersed with commands to alter the heat time of the printer and thus increase the print speed?

lazyatom commented 12 years ago

We could also try to detect the state of the printer; at the moment nothing is done with any data that the printer might send back to the Arduino, if there is any?

jamesweiner commented 12 years ago

Thanks for looking into this James... let me know if I can help any more at all!