-
-
Notifications
You must be signed in to change notification settings - Fork 691
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
base: dev
Are you sure you want to change the base?
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: |
} | ||
|
||
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? |
@Ralim |
Best answer is to reflash using the SWD (via stlink) over the USB port. I'm not sure what address is out of whack so a flash via the external connection would be the easiest. Try to power the stlink before connecting to the device if it's being flaky? |
@Ralim Tried on both Windows & Linux no luck what so ever. 😟 That's what I'm seeing if connected using Linux: After trying to flash the original bootloader: |
Ohhh, does your device have an off-brand of the ST chip in it (if you recall)? Wonder if the tool is spitting the dummy on that? Could you try the cli |
Also apologies for delay :( |
Genuine
And that what I get when I do what you suggested:
No worries! 😊 |
Hmm okay, so that definitely looks like the st-link isn't showing up to the pc at all. Likely this is not replaced the TS80 at all but rather is specific to the st-link. Does it show up in device manager / |
@Ralim This only shows up in DFU mode as:
And via ST-Link as:
|
😓 Dang. Well that makes it harder to debug as both look to work in isolation. Just to confirm, when in the bootloader on the device, can you flash this runtime? If that doesnt work send me an email and i'll try and figure out a different option. |
@Ralim
That is what it gives me when flashing not in
|
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: