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

Add support for multiple OSD layouts #2955

Merged
merged 7 commits into from Apr 26, 2018

Conversation

Projects
None yet
2 participants
@fiam
Copy link
Member

commented Mar 21, 2018

Support 3 alternate layouts controllable via RC channels. Lots of supporting changes in MSP, OSD, CMS and CLI required.

Configurator PR at iNavFlight/inav-configurator#392

@fiam

This comment has been minimized.

Copy link
Member Author

commented Mar 22, 2018

Just added CLI support and rebased on top of development

@fiam fiam added Enhancement and removed Rebase Required labels Mar 22, 2018

@fiam

This comment has been minimized.

Copy link
Member Author

commented Mar 22, 2018

+2084 FLASH
+536 RAM

@fiam fiam force-pushed the agh_osd_layouts branch from 6d66341 to a6d0b92 Mar 22, 2018

@digitalentity

This comment has been minimized.

Copy link
Member

commented Mar 27, 2018

@fiam is this ready for merge?

@fiam

This comment has been minimized.

Copy link
Member Author

commented Mar 27, 2018

It’s working and bench tested, I would like to improve the osd_layout command a bit, to allow printing a layout instead of just setting it. There are also a few typos in the code.

I won’t be able to work on this until the end of the next week, but I guess we’re not in a rush to merge it.

@fiam fiam added the In progress label Mar 27, 2018

@fiam fiam force-pushed the agh_osd_layouts branch from a6d0b92 to d57214c Apr 2, 2018

@fiam

This comment has been minimized.

Copy link
Member Author

commented Apr 2, 2018

I've added another commit which makes osd_layout more usable. It now accepts the following inputs:

- osd_layout: Prints all layouts
- osd_layout <layout>: Prints just the given layout
- osd_layout <layout> <item>: Prints just the given item
- osd_layout <layout> <item> <col> <row>: Sets the item position
    without changing its visbility.

This should be now ready to merge.

@fiam fiam removed the In progress label Apr 2, 2018

@fiam fiam referenced this pull request Apr 4, 2018

Closed

Improve OSD element storage #5607

@digitalentity digitalentity removed this from the 1.9.1 milestone Apr 17, 2018

@fiam fiam added this to the 2.0 milestone Apr 19, 2018

fiam added some commits Mar 21, 2018

Initial support for multiple OSD layouts
- Add 3 new boxes that can be controlled by a switch to toggle
between the default and 3 alternate layouts.
- Add new MSP cmds to retrieve/set the whole layouts, the OSD alarms
and the preferences.
- For now, CMS and settings just see the default layout. This
will be addressed on future commits.
Revamp OSD configuration from CMS
- Allow editing all OSD layouts from CMS
- Allow moving items, not just toggling them
- Add support for CMS to yield the screen for a given interval
- While changing a OSD element, yield from CMS to show a preview
to the user for 0.5s, so they can see how the final layout will
look like.
Add missing OSD elements to CMS configuration
Now all OSD elements can be fully configured from CMS. Also, a
static assert has been added to ensure future new elements are
also addede to CMS.
Add osd_layout CLI command to handle OSD element configuration
This dynamically handles all OSD layouts and items, so we no longer
need to manually add a setting for each OSD element.
Enhance osd_layout to allow printing besides setting
Allow the following inputs:
    - osd_layout: Prints all layouts
    - osd_layout <layout>: Prints just the given layout
    - osd_layout <layout> <item>: Prints just the given item
    - osd_layout <layout> <item> <col> <row>: Sets the item position
        without changing its visbility.
Add a compile time toggle for configuring the OSD from CMS
It requires 2K of flash, so it might be handy to turn it off on F3
when we start running out of space without having to disable the
whole CMS. For now, it's turned on for all targets with CMS.

@fiam fiam force-pushed the agh_osd_layouts branch from 43a67dc to 660ebf9 Apr 23, 2018

@digitalentity
Copy link
Member

left a comment

Ok to merge 👍

@digitalentity digitalentity merged commit e3dafbf into development Apr 26, 2018

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

@digitalentity digitalentity deleted the agh_osd_layouts branch Apr 26, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.