-
Notifications
You must be signed in to change notification settings - Fork 73
Frequently Asked Questions
Feel free to ask other questions by emailing [email protected], or filing an issue here.
A: This is a great question. I don't have an answer for you either, except that I think the software and tools presented here provide a good foundation to make answering that question easier.
A: The software is printer-agnostic, and in theory any printer can be supported. As long as it identifies its type in the Accept
header (e.g. application/vnd.freerange.printer.A2-raw
, or application/vnd.freerange.printer.CBM231
), then the data that the printer is sent can be tailor for that specific printer model. This is achieved by passing the pixel data through different PrintProcessor
subclasses depending on that printer type.
At the moment, the only PrintProcessor
implementations are for the A2
printer that is commonly available. However, it should be simple to write others, and if you do, please submit a pull request!
Q: Do I have to use an Arduino? Can't I use a [nanode | Raspberry Pi | Portable router running OpenWRT | something else]?
A: You can use anything you want to talk to the backend server, as long as you're happy to write the software to do so. You can use the [Arduino sketch] as a guide to how your device should operate, but the gist of it is:
- Generate and store an ID on first boot;
- Make requests to a server every 10 seconds to the path
/print/<printer-id>
, including your printer type in anAccept
header - If some data was returned, download it and then send it to the printer
As long as you can get that to work, the hardware that it is running on is unimportant.
A: Assuming that you are using the A2
printer, there are a few different firmware versions floating around. I have seen versions 2.2, 3.8 and 4.0 "in the wild". To find out your printer version, power on the printer while holding down the line-feed button.
Regardless, to control the darkness of the printing, for the moment you need to modify the type
which your printer reports as in the Arduino sketch to include a heat time parameter.
- For version 4.0, a heat time of 240 seems to work well -- set the type to
A2-raw.240
- For version 2.2, a heat time of 150 is find -- set the type to
A2-raw.150
A: Feel free to ask other questions by emailing [email protected], or filing an issue here. If it's something that other people might find useful, we'll update the wiki accordingly.