Skip to content
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

Disable USE_SPEC_PREARM_SCREEN until timing is fixed #13386

Closed
wants to merge 1 commit into from

Conversation

SteveCEvans
Copy link
Member

Disables functionality introduced in #13210 as it rides roughshod over the requires timing constraints for well behaved tasks.

Should fix the issues being discussed in #13330.

@SteveCEvans SteveCEvans added this to the 4.5 milestone Feb 24, 2024
@SteveCEvans SteveCEvans self-assigned this Feb 24, 2024
Copy link

Do you want to test this code? You can flash it directly from Betaflight Configurator:

  • Simply put #13386 (this pull request number) in the Select commit field of the Configurator firmware flasher tab (you need to Enable expert mode, Show release candidates and Development).

WARNING: It may be unstable. Use only for testing!

@SteveCEvans
Copy link
Member Author

With a busy OSD and using the MAX7456 as shown below:

image

This PR reduces the late task rate from 13 per second

image

to a max of 5 per second, out of a total of 5500.

image

haslinghuis
haslinghuis previously approved these changes Feb 24, 2024
@haslinghuis haslinghuis added the RN: IGNORE This issue / pull request will be ignored in release note generation label Feb 24, 2024
@haslinghuis
Copy link
Member

Good find but USE_SPEC_PREARM_SCREEN is defined for targets > 512K and NOT defined when using CLOUD_BUILD.
Can be added also using USE_RACE_PRO.

@0crap
Copy link

0crap commented Feb 24, 2024

Tested this PR on my Pavo Pico problem quad and I'm afraid it does not solve the issue.
Still a load message on my OSD and not arming.

I do use cloud builds all the time because I deselect the analog osd item on my digital quads.

version
Betaflight / STM32F405 (S405) 4.5.0 Feb 24 2024 / 21:35:05 (52a8921) MSP API: 1.46
config rev: 5ee9260
board: manufacturer_id: BEFH, board_name: BETAFPVF405

@SteveCEvans
Copy link
Member Author

Whilst this makes a big difference on MAX7456 with MSP OSD there are outstanding issues which I'm looking at now.

@limonspb
Copy link
Member

limonspb commented Feb 24, 2024

Whilst this makes a big difference on MAX7456 with MSP OSD there are outstanding issues which I'm looking at now.

@SteveCEvans spec prearm screen is one of the main reasons for people to select race_pro, lets not disable it please? And it's already disabled by default, so it's active only when USE_RACE_PRO.

But anyways, how i can fix it? Hoping for your help :) I don't see any heavy calculations there, its just rendering bunch of strings... and they go away once armed, so not affecting flight performance, at least it should not. Its kinda the same as post flight stats that renders a bunch of text.

@haslinghuis haslinghuis dismissed their stale review February 24, 2024 23:38

Not the root cause of the problem

@SteveCEvans
Copy link
Member Author

I've resolved the OSD issues except for multi-line elements such as the artificial horizon and sidebars. Whilst rendering these is quick for the MAX7456, with MSP the complete character block is written. This needs breaking down.

@SteveCEvans
Copy link
Member Author

@limon The serial handling for MSP is much slower than for the MAX7456 buffer. I've greatly improved that in #13388 but it's still broken for multi-line elements such as the camera frame. Once I've determined a solution to that we can apply the same to your pre-arm screen.

@SteveCEvans
Copy link
Member Author

Closing this as no longer required due to 2100351

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RN: IGNORE This issue / pull request will be ignored in release note generation
Projects
Status: COMPLETED
Development

Successfully merging this pull request may close these issues.

None yet

5 participants