-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Enhance OSD Custom Elements #10282
Enhance OSD Custom Elements #10282
Conversation
Removed switch indicators and increased the number of osd custom elements to 8. The number of osd custom elements and custom element parts can now be automatically changed using the defined numbers. MSP change Requires Configurator
Sounds like we are removing something simple (switch indicators) with something users will have a hard time wrapping their heads around, even if it is more powerful. We should probably leave the switch indicators alone for now. |
I honestly don't think it's too bad a change. I can make a very quick example on how to replicate the functionality. It just seems pointless to me to have two things that can do the same thing. |
I do get @mmosca point.. However, I'm sure Darren will make a good tutorial video concerning this feature, to help people understand how to take full advantage of all it offers. |
We are going from this, where the user enables a switch indicator, picks a channel and give it a name: To making 5 choices, including picking an icon by number and potentially setting up things in the programming tab. While the custom OSD is powerful and can replicate the switch indicator function, I see it as an advanced option, not something every user will be familiar and confortable using. My opnion is that we should at the very least match the usability of the existing switch indicators, but it is probably best to leave them alone and let advanced users use the custom osd elements if they need more than 4 switch indicators. The original intent of the custom osd was to augment the existing osd, cover corner cases and add flexibility, not necessarily replace parts of it. |
@MrD-RC was there a technical reason to replace the switch indicator elements? (Like, did we run out space on the variable that stores the osd elements?) |
It occurs to me we COULD keep the same UI available for now, but behind the scenes implement it using the new feature. |
I did not created custom osd elements as replacement for switch idicator. It was just side efect. I use custom osd elements for
In my todo list is:
|
- Added switch indicators back in - Updated OSD document
I have reinstated the Switch Indicators. Maybe they can be removed in a later release. |
The OSD custom elements are extremely useful. They can provide pilots with any information they can access and modify in the programming framework. They can, for example, be used to show the position of a switch on the transmitter. But in a more customisable way than the current switch indicators.
Removed switch indicators, as the functionality and more can be achieved by the custom elementsOSD Custom Elements now have their own category on the left options menu.
The layout for the editing boxes. Changing the options for each custom element now updates the OSD preview. Meaning that the OSD can be accurately aligned without having to use the goggles.
The drop-down list for the new type options. The original
None
,Text
,Icon Static
, andIcon GVar
are still at the top. The numerical options for global variables are matched for logic conditions.A screen shot from HITL to show the same layout as seen in the above configurator screen grabs.
enum change
This update does change the indexing of enum
osdCustomElementType_e
. This would break backwards compatibility. I could change the enum values so that the old settings persist. But, this is a new feature, and it would be better to have the enum ordered appropriately.MSP Breaking change
This change was required to allow for more than 4 custom elements to be used. Normally, I would create new MSP IDs. But this has only been in INAV for a single version. And it is unlikely used by external tools. I asked in the dev Discord group, and there were no objections.
MSP2_INAV_CUSTOM_OSD_ELEMENTS
(0x2100) used to pull the settings and all custom OSD elements. Now it just pulls the settings.MSP2_INAV_CUSTOM_OSD_ELEMENT
(0x2101) pulls an individual custom element's dataMSP2_INAV_SET_CUSTOM_OSD_ELEMENTS
(0x2102) Sets an individual custom element's dataRequires Configurator
iNavFlight/inav-configurator#2159
Release notes
Changes have been made to Custom OSD elements. This update changes the indexing of the custom element type. This breaks backwards compatibility. To keep your custom OSD elements working, you will need to change the element type IDs, if they are 4, 5, 6, or 7. The table below shows the old and new IDs.
Below, you can see the position of the IDs that you need to change if they are 4, 5, 6, or 7.