-
-
Notifications
You must be signed in to change notification settings - Fork 723
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
WIP: Split Render for multiple screen resolutions #1888
Conversation
Thank you! 😀 👍🏻Successfully tested on both Oh, 🤦🏻 I just realized that I may have ticked that box too soon in the first post, since you're obviously going to change more of the code, right? |
Its all good on the tick. |
Alrighty all the templating is done (I think). |
I think the OLED driver is good to go now. Things I'm not sure how to handle:
|
Will do later (when back home again). 😊 |
@Ralim
Not related to the GUI changes (Nonetheless, needs to be fixed in order to be able test these too.)
I assume this should be enough for now.
Yes, please center the logo for now, to preserve the current frame count. btw: |
So I gave this a try, but about 60% of the messages dont fit if I print them with the large font, so not sure what best move will be for this. unless we add another font size to the mix? (maybe make the big & little font different sizes on these?)
Hmm thats new, will look
Thats a bug, will look
The tearing is from the slow I2C :'( will have to look into ways to fix this at the end (leaving till last)
I think so, it makes a bit more sense to get it in with this one?
Thats a bug
Thats not supported on the Sequre devices (they dont have the sensor) |
Is this on the S60/S60P? Its missing at the moment as there is nothing to show in it (not settings are applicable yet) |
Okay should have most of them squashed 😅 |
6144333
to
b165584
Compare
} | ||
|
||
void BootLogo::showOldFormat(const uint8_t *ptrLogoArea) { | ||
#ifdef OLED_128x32 | ||
// Draw in middle | ||
OLED::drawAreaSwapped(16, 8, 96, 16, (uint8_t *)(ptrLogoArea + 4)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just from a parametric perspective:
Could we use something like this here (instead of static values):
https://github.com/Ralim/IronOS-dfu/blob/7ab0a57c49e1913b87b49ae458e641aa48adea87/src/oled.c#L168
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At the moment the whole bootlogo stuff is setup only for that sizing. Which is sort of why I left it like that. 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just curious? 😊
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very valid question.
Still on the fence for what to do about the boot logo stuff.
Since limited frames could be messy, but also nice to do static full screen at the least.
But having half-half also feels messy.
So maybe I just carve out a little more logo space on these devices to have at least some frames of boot logo?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inclined to leave it as-is for the super short term as there are probably bigger issues to solve 🙃
btw:
Will provide screenshots later. 😊 |
Ah that will be because I fixed it so you can try and write out-of-bounds. Can you dump the logs over on the that thread and ill try and make you a recovery method |
Will do. 😃👍 |
I hope this is what you asked for:
|
But could we then set |
PD Timeout isnt supported by S60P or used anywhere in the code really. :/ what should this do in your book? |
It delays the CJC calibration. |
Ahh, hmmm, it shouldn't affect CJC 🙃 For the TS80 bootloader, I had a crazy idea that may work (and be low effort). Can you try and flash the S60P runtime in the bootloader (screen will look wonky, but usb might work). Then if the runtime works, use that to flash the TS80(P) version and try that. If it doesnt work LMK and ill try and make a custom built to do this |
Nice approach, will definitely try. |
Naah I meant the new working one. What we did by accident (sorry again) is flashed a main bootloader that wants the code at the wrong offset. the new S60 code is at that wrong offset so should take. Once you have a working runtime on there, that should let you flash the main bootloader to the right one |
@Ralim
|
Dang, can you try and flash the runtime from this, then flash the correct normal bootloader if this runtime works? |
Unfortunately that didn't work. |
@Ralim thanks in advance |
Best answer is SWD over the usb-c port. I'm just not sure in which way it's wrong and not starting |
No clue what that might mean. 😓 What am I supposed to do? |
@discip I take it back, there was a bug :)
Updated 🤞🏼 |
As far as I can tell this seems to work on the |
Finally! My
|
Fantastic news What do you think we should do for the text on the larger screens? |
@Ralim The 2nd option is more of a temporary workaround if it's not that hard to code: |
@Ralim Otherwise, let me know what I can do to get it to its final state, as I currently have some free time. |
Yeah I'm thinking of just merging it too.bi haven't had as much time to work on things so better to get this going I think. |
To enable future expansion by having multiple screen sizes, this aims to pull all the OLED rendering code out into a folder per screen size.
This way we can mask in these files only and collect all the drawing logic.
Things to do:
What is the new behavior (if this is a feature change)?
Other information: