-
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
Palette based dithering #47
Conversation
I have a 7-color waveshare 7.5" and would be happy to help test this if needed - I've been trying to figure out how to get my display working |
Hey @ZarekParker , thanks for this! I only have B/W waveshare frames myself. I do have one with B/W and Red, but it stopped working for some reason. Thus I'm very happy to accept your offer to test it out. Waveshare did send me one 4-inch 7-color display for testing, but it's still in transit and should arrive any day now. Will you be able to run this branch locally, or would you need a new docker image? I'd like to test a bit before merging this in... hopefully even get my 3-color frame working somehow. So any help is very appreciated. I just managed to update the drivers for the frames I don't have to use the new dithering, but they may or may not work. |
I'll merge this in and do any fixes in followups. Very curious to hear if this works, and/or what errors you get. A new docker |
@mariusandra I pulled the latest docker. I'm able to build locally if that helps. I'm running a raspberry pi 3b, lite OS 32-bit. I have Waveshare 7.3" (F) 800x480 7 Color (not implemented) chosen. 2024-01-17 03:07:40
|
I just submitted a patch that hopefully fixes it. So please try again once the new image is available. |
Hmm, I pulled the latest docker and tried. That didn't work so I built locally to make sure, and still seem to be getting the same error: 2024-01-17 14:16:48 |
I pushed another change that could help with this. |
I can't quite tell; is this enabled for the Inky displays, or just the Waveshares? I have a red/back Inky and 7c3173c doesn't appear to do anything different. Also, it looks like @ZarekParker is running a 32-bit OS, so I'm not sure frameos/backend/app/tasks/deploy_frame.py Lines 62 to 63 in 8058198
|
uname -m does output arm71, happy to switch to 64-bit if needed. It got further: 2024-01-17 15:41:48
|
Another fix. I wasn't able to run the code locally earlier (different computer), and made the previous changes here on Github without testing. I hope this version works now. I'll be able to run and test it in a few hours if it still fails. I should also get my waveshare 7-color frame soon (already in the country... so tomorrow?), and can then test even more. @alexrudd2 this is only for the Waveshare drivers for now. Inky frames go through the inky python driver. The "inky impression" frames have their own built in dithering, but I don't know about the others. I'd like to remove the dependency on python altogether, but it's going to be a bit of work. |
Interesting. I have a 32-bit raspberry pi zero w, which outputs |
Well good news: that most recent commit seems to have fixed the compiling and it got all the way through and seemed to have started. 2024-01-17 17:04:39 |
Ah, great that you got this far! Looks like the frame is crashing on boot. I probably messed up something with the waveshare driver. I'll definitely get it fixed once my display arrives (this week?), but if you want to debug a bit further, the next step would be to SSH into the raspberry, and run
... and see what extra errors are logged into the terminal. There might be a small stacktrace there that gives more clues. |
./frameos |
So... good news. My display just arrived. I was able to fix the indexing bug and got the display rendering. I pushed it directly to |
Nice timing! With the latest docker I'm also able to get images to show up now, but like you it does seem a little off. Thanks for all the work getting it this far! |
Great news, I got it working. See the next PR: #49 |
Get ready to support 3-color, 4-color and 7-color dithering.
This is a work in progress. The dithering is implemented, just need to hook it up to the drivers
3-color (black, white, red)
![image](https://private-user-images.githubusercontent.com/53387/296981673-82df98f8-b925-440c-a826-f618352df951.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ1Njg5MDYsIm5iZiI6MTcyNDU2ODYwNiwicGF0aCI6Ii81MzM4Ny8yOTY5ODE2NzMtODJkZjk4ZjgtYjkyNS00NDBjLWE4MjYtZjYxODM1MmRmOTUxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI1VDA2NTAwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTlmYzRiMjRkN2VjYmVlODVjNzQyNTY5MDczOTQxMDZjMzZmYWM2OGRjNmM2MDBkNzZjYmU2OGJiY2IwNDNkZTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.MTCWoQzVnpDWPkA18T6lMOq0Bs7z7DjcMirsK_bEY9A)
4-color (black, white, red, yellow):
![image](https://private-user-images.githubusercontent.com/53387/296981455-f8462dae-a1e2-4882-afdf-17c37d427c71.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ1Njg5MDYsIm5iZiI6MTcyNDU2ODYwNiwicGF0aCI6Ii81MzM4Ny8yOTY5ODE0NTUtZjg0NjJkYWUtYTFlMi00ODgyLWFmZGYtMTdjMzdkNDI3YzcxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI1VDA2NTAwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWMyZDc1MWUzMDhkNjQ0NGQxNzdkNTEyMzg3NzcwOThiZGZiNDc5NzBkMzFlNGVmZTJjZjllNjBjNGE0OGY1OWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.gcpLHA7TuMmxjVDbV4Hok_LxAQu4cqZbvDmLeev8vOY)
![image](https://private-user-images.githubusercontent.com/53387/296981274-41c65a8f-53fe-40f1-ab55-21d0a9f675fa.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ1Njg5MDYsIm5iZiI6MTcyNDU2ODYwNiwicGF0aCI6Ii81MzM4Ny8yOTY5ODEyNzQtNDFjNjVhOGYtNTNmZS00MGYxLWFiNTUtMjFkMGE5ZjY3NWZhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI1VDA2NTAwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWMwNmM5MDI2MTE1ZjI0NjBlNmZhMWZiYmU0MjJhZmQ1Yjc2ZmQ4Y2RjYmQ5MDI5MjFhMDI0ZTAwMWIyMDBmMTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.343CY6muYGU0N8uVi7eN_-mJAW91DDlIXrdCJwWKvvo)
7-color:
![image](https://private-user-images.githubusercontent.com/53387/296982577-d1be0210-f710-4805-b043-77bcff6940f1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ1Njg5MDYsIm5iZiI6MTcyNDU2ODYwNiwicGF0aCI6Ii81MzM4Ny8yOTY5ODI1NzctZDFiZTAyMTAtZjcxMC00ODA1LWIwNDMtNzdiY2ZmNjk0MGYxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI1VDA2NTAwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQxOTU4MDljYzFkYWM4YmQ3YjE0OTM3MWRjODk4YzFjM2I2YjZjNDZkYzdiZDIyMTBkODEzYzE0OTBkMmIwMmEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.5Oj-UhrTPu7pSXc8iJk3DFVam49_-EHOFbEDuLyWIfc)
![image](https://private-user-images.githubusercontent.com/53387/296982696-7bb62705-1343-4812-81d0-731c99256130.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ1Njg5MDYsIm5iZiI6MTcyNDU2ODYwNiwicGF0aCI6Ii81MzM4Ny8yOTY5ODI2OTYtN2JiNjI3MDUtMTM0My00ODEyLTgxZDAtNzMxYzk5MjU2MTMwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI1VDA2NTAwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg0NjI4N2Y5N2I4ZTgzODgzM2RlZWY3NTYwYzk4MWNkOWY2MDBlNWQ2ODBiNWRiMTZhMjFjNWFiZjA2NDY5M2QmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ADzGMvnQcO95zWdEpcPGxFV9JqoO67rOA6uCzGZezQ4)