Over the last month or so I've been doing a lot of work on the Shinko/Sinfonia printer codebases, with the goal of unifying and re-using code that is identical between the various models. This will make adding new printers easier, and also reduces the opportunity for bugs.
I've about reached the end of the second phase, with a net reduction of about 1600 lines of code. This is in spite of adding quite a bit of functionality to the Kodak 605 backend.
Meanwhiile, last week I briefly had access to a Kodak 7000 and a Kodak 8810 printer. I learned enough to add preliminary support for them into the codebase, and while I believe status queries, media reporting, and printing should now work, printing has yet to be confirmed.
The Kodak 6900 and Sinfonia S3/S2245 also landed some experimental support, but I expect there's still quite a bit of effort required to get things to the point where everything works properly.
Anyway. to make a long story short, there has been a great deal of churn
in the codebase, and I only have access to two of the affected models.
Here is a list of the rest:
- CIAAT Brava 21
- Kodak 605
- Kodak 6800
- Kodak 7000, 7010, and 7015
- Kodak 8810
- Kodak 6900
- Hiti M610 Not X610!
- HiTi P910L
- Sinfonia E1 / CHC-S1245
- Sinfonia CS2 / CHC-S6145
- Sinfonia CE1 / CHC-S6245
- Sinfonia S3 / CHC-S2245
As always, if you have access to one, send me an email. Or better yet, a printer!
Update 2019/06/05 -- Added HiTi M610 as another S2245 variant
After the recent improvements to the older Sony printers (Most notably, the UP-CR10L is now confirmed working after a bunch of little modifications!) I decided to take another look at some more recent (but not necessarily new) models:
They're a diverse bunch, but share a common data format and communications protocol built on top of what appears to be standard HP-PJL.
I believe I've successfully figured out the data format for all of these models, and written the intial backend parser. The next step is to write the Gutenprint rasterizer code, but anything beyond that will require access to one or more of these models so I can obtain details about the communication protocol they use, and of course, test my code out.
I still don't know how to obtain media type and counter information out of the older Sony models (UP-DR150/UP-DR200/UP-CR10L) too, so without someone out there willing to perform sniffs of Sony's Windows or OSX drivers doing their thing (or send me a printer!) I'm not likely to be able to progress beyond the current state of affairs.
There are a bunch of other Sony models, mostly consumer-focused, that may be worth trying to support too, but I'd rather spend my time on models that are still commercially relevant. Of course, hardware in hand trumps everything else!
Anway. Back to the bit mines..
Over the past month or so I've been figuring out the Sony UP-D895 & UP-D897 Medical/Scientific Thermal printers. They're most commonly seen on ultrasound workstations, but can be found nearly everywhere.
I'm happy to report that Gutenprint (5.3.2-pre or newer) now has full support for these two models with feature parity with the Windows drivers, including basic status & error reporting.
In the process of figuring out the UP-D895/897, I discovered a lot more about other Sony printers, resulting in the UP-DR150 & UP-DR200 getting basic status reporting and error handling as well. Now I just need someone to test this out and let me know if my guesses are correct! :)
Looking ahead, the UP-D898 series is a somewhat different beast, eschewing the old Sony comms format/protocol in favor of something wrapped in HP-PJL. It shouldn't be too hard to support, but someone's going to have to send me one first.
It's been more than a year since I've posted anything about printers. Rest assured that progress continues whether or not I write anything about it. I always keep this page updated with the current state of affairs, but day-to-day changes tend to only be documented in my selphy_print git repository.
New models added
- Sony UP-D895 & UP-D897 families (more on these soon!)
- Canon CP1300
- Mitsubishi CP-D90DW
- Fujifilm ASK-2000, ASK-2500, and ASK-4000
- Nidac Copal DPB-6000, DPB-7000, and DPB-4000
Major enhancements (& fixes)
- Mitsubishi CP-D707DW
- Magicard family
- DNP DS80DX
- Citizen CW-01
- Shinko/Sinfonia S1245
- Mitsubishi CP9800/CP9810 family
- Sony UP-DR150 and UP-DR200
- Kodak 605
Minor enhancements (& fixes)
- Canon ES2, ES20, and newer Selphy CP1000-series
- Mitsubishi P93 & P95 families
- Updates for latest DNP & Citizen firmware
- Kodak 305 5" media support
- Fujifilm ASK-300
Other noteworthy stuff
- New, much simpler URI scheme for backend
- General reliability improvements
- Bugfixes all over the place
- Unified marker level reporting for all printer models
- Automated regression testing
January 21st, there was a total Lunar eclipse. I pulled out my Ukranian 500/5.6 mirror lens and tried to get some decent pictures, but there was a lot of haze in the upper atmosphere.
This was my favorite picture of the set:
In other news, I accidentally deleted the photos I took of the new year's sunrise, on West Palm Beach. No real loss, as it was an overcast horizon, but I got a really cool shot of the sun while driving home that I wanted to post.
Arm Deerfield Beach (nee Sunrise Micro Devices), April 2013 - December 1, 2018.
On October 30th, Arm informed us that they were shutting down not just our office but their entire wireless networking group. In about four more hours, I will be officially unemployed, along with over 40 of my nearly-former colleagues.
It is a gross understatement to say that this unceremonious scrapping of five and a half years of concerted effort comes as a dissapointment, but in the immortal words of Futurama's Hedonism Bot, "I regret nothing!"
Even though David Flynn's "Florida Adventure" did not ultmately acheive the commercial success Arm was looking for, we can still be proud of what we achieved. I personally learned a great deal and worked with many brilliant colleagues that I already miss. I hope our paths cross again.
....been there, done that, and got the commemorative poster.
So, what's next for Solomon Peachy? My experience at Arm has greatly expanded my skillset, and combined with a farily decent economy, I find myself in a position where I can afford to be picky and aim higher.
I'm angling for a role that I can perform (mostly) remotely, or at least closer to my Tick Farm, and ideally something that has me working on foundational Free/Open-Source Software. But even that is a wide swath, and in the mean time, I have a huge backlog of personal projects to work on, and maybe get in some long-overdue flying in the process!