-
-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issues with the WIDE Link #9
Comments
Hey Yasston, What might be happening, is that the 'chunk' size is incorrect. The image is chopped up into several parts which are sent to the printer one by one. You can see the sizes in Types.h, but the one for the Capturing the logs really is easiest on a Mac (also because Android uses a different protocol as you've seen). Maybe you know someone who has a Mac you could use for this? |
@Yasston You can uncomment this line to have the script print the expected image size: |
Hey @javl thank you so much for your quick answer ! Yes I am pointing out that it should be 1260, not 1240 :) If you look closely at my screen capture you'll see I fixed it using (1260, 840) :) |
@Yasston The instax specs say 1260 x 800, not 840, which is odd. But I guess your printer knows best what it wants so we'll go with the size it reports ;) |
Yes @javl, Height reported by the printer seems to be 840 :) as per previous screen capture. I'd also like to add that the other repo instax-link-web is using 840 for Height (Width was wrong though). But it also doesn't work with WIDE model, as I reported in this ticket here. |
I don't have a lot of time at the moment, but let me quickly try something. |
@Yasston Ok, this is a weirdly small number, but could you try setting the chunksize (in Types.h) to 100? |
Yeah the yellow flashing means it timed out waiting for a valid signal. |
I understand, I'll trying capturing the BT traffic from the Android app and let you know once I succeed. Thank you again for your time and help ! |
Ok so I captured BT traffic between Android app and the printer, and isolated the packets sending the following events : After the first For the From my understanding, we then need to remove 6 bytes (Ab header + packet length + event code). That’s 905 bytes, times 100 which gives 90500 bytes for the total payload of the JPEG expected by the printer, is this correct ? How do you calculate the chunk size from that ? :) EDIT : turns out you also need to remove the packet index (4 bytes), and another byte at the end of the payload represneting the checksum. That gives 900 bytes, the chunksize ^^ |
You know what, have you tried a chunksize of 900? Because I think the I mentioned trying a size of 100 before because I found some mention of that number in the Android app, but I guess it wasn't the package size but the package amount like you just discovered. Thanks for getting the logs, would be great to also have InstaxBLE support the Wide printer properly :) |
That's great! So weird though, that only the square seems to use a different chunksize. I'll update the source right now so you should be able to use the code without manual changes. There are still two main issues:
I'll close this issue, but feel free to open any new ones as needed, like maybe for the 'photos left' issue. I think I noticed this myself as well. |
Well honestly the speed is not that bad, it's maybe 5-7 seconds longer than from the Android app... It's just that for a photo booth usage, it could be a bit annoying ^^ Also it seems we could improve it a bit seeing that the Android app sends 100 packets, and I believe we send 182 packets if I'm not mistaken ? |
One thing you could do to help with the slow response in a photo booth setting is to play with visuals a bit. In one installation I made a few year ago the display would show some sort of lottery interface where it would cycle through a list of options until it slowly stopped to select one, you know, like in a game show. In truth I picked the item as soon as the user pressed the button and the interface was just hiding a bunch of processing that had to be done in the background (like scraping some webpages related to the option). Maybe you can do something similar, like taking the photo and sending it off immediately, but then slowly revealing the photo on screen, as if it is developing. That way users have something visual to wait for, instead of some hidden printer that doesn't seem to do anything. |
I am trying the WIDE and immediately hit so it looks like the size change isn't in the repo yet? Even after fixing that manually, I am having other issues with the WIDE--the sample image prints, but other images don't seem to print (and don't get a print confirmation message) after the packets have been sent. I've tried shrinking the image size in the python code as well as shrinking the source image itself, but it didn't seem to help. I could switch to the SQUARE instead if that's better supported? |
Hello, thank you for this project which gave me hope to recycle an Instax WIDE Link to use in a raspberrypi-based photobooth. I have issues making it print photos though with the WIDE Link model.
First fix I had to do was correct the image size in InstaxBLE.py file, because the WIDE is 1260x840 :
The rest seems to works, except for the Photos left that indicates 0/10, but goes ahead with the printing (The app shows 9/10, printing using the iOs app works I tested). It then seems the code gets stuck in a while loop when calling
Event PRINT_IMAGE_DOWNLOAD_DATA
:I'm trying to print the 'example-wide.jpg' image that you provide, that I simply resized to 1260x840.
I'm currently testing on Windows PC, but a previous try seemed to work on a Rapi 3B with the latest bullseye official raspi image. It appears the communication is made on the (IOS) bluetooth endpoint (and not the Android one as I saw you mention you had difficulties making a Raspi see the IOS BT connection endpoint).
I do not own a Mac to capture BT traffic to help reverse engineer for the WIDE Link model, but if you think it can be done using an Android phone, I could do it with a bit of guidance.
Let me know if I could do anything else to help, I'd be ok to give you access remotely to a testing setup. Thank you !
The text was updated successfully, but these errors were encountered: