1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-19 14:25:20 +03:00
Commit graph

41 commits

Author SHA1 Message Date
Steve Evans
c2b105486e Add display port sub-command definitions 2022-10-02 13:55:57 +01:00
phobos-
f10413392b VtxDevice over msp 2022-09-07 14:41:36 +02:00
Dominic Clifton
e2c0388a6a OSD - Add support for async screen clearing to display API.
No screen clearing is actually done asynchronously yet.
2022-01-22 18:59:11 +01:00
Steve Evans
ab1baccc66 Track state execution time for OSD, baro, rx and GPS tasks and inform scheduler of next state execution time 2021-12-17 15:40:01 +00:00
Michael Keller
1aa3d943e3
Merge pull request #10485 from etracer65/msp_displayport_video_system
Make MSP displayPort respect the NTSC/PAL setting
2021-02-08 16:14:39 +13:00
Bruce Luckcuck
835aadfdde Make MSP displayPort respect the NTSC/PAL setting
Previously the display rows was hardcoded to 13 (NTSC). Now it will use 16 if the user has explicitly selected PAL. This allows the display to fully use the screen - particularly when in the CMS menus. Since there is no device to "AUTO" detect, this will still default to safer value of 13 rows as NTSC.

Eventually we may want to extend MSP displayPort to add an auto-detect capability. But since the protocol is a one-way "push" from the firmware to the device that's somewhat difficult. Will probably need a MSP message that the displayPort device can use to "register" its capabilities.
2021-01-16 14:22:47 -05:00
Bruce Luckcuck
07598d824c Add up/down page indicator to CMS menu display
Often the user doesn't realize that there are more menu items then displayed and the only way to tell was to try and move the selection to the bottom to see if another page appears.

This PR adds page up/down indicators if there are more menu items than those visible on the current display.

Uses the OSD arrow symbols when possible (for OSD supporting devices), otherwise the `^` (carat) and `V` are used for text-only represenatations.

To determine if the device was capable of displaying symbols the `displayPort` structure has a new `deviceType` set when it is initialized. There have been other times when knowing the type of device would have been useful so that's now supported. Then this is abstracted by a new `displaySupportsOsdSymbols()` function. Devices that support OSD are assumed to support the OSD symbols as the OSD element drawing code always uses them. For devices that don't support OSD function we have to presume the sybols aren't available.
2021-01-16 13:57:04 -05:00
mikeller
cfc89c98a8 Fixed the MAX7456 loop time problems introduced by #9948. 2020-07-05 22:00:13 +12:00
mikeller
e9cb979cd8 Revert #9215: Vendor specific displayport initialisation. 2020-03-15 13:42:56 +13:00
mikeller
5f733da444 Show errors when resetting to custom defaults. 2020-03-02 00:24:28 +13:00
jflyper
104990c507 Add device local blinking support 2020-01-21 11:14:22 +09:00
mikeller
21b9fba3bf Some fixes for what looks like merge problems introduced by #9012. 2019-11-25 19:01:27 +13:00
jflyper
2e84b0c442 Add support for character attribute rich displayport 2019-11-25 10:43:29 +09:00
jflyper
3d7151c6c0 Add temporary facility of vendor specific init string to displayport msp
Only for debugging purposes during attribute rich displayport devices.
Should be / Will be removed from a production firmware.
2019-11-23 18:11:58 +09:00
Michael Keller
4ba9602e66
Changed 'mspSerialPush()' to not check displayPort when request… (#9104)
Changed 'mspSerialPush()' to not check displayPort when requesting current data.
2019-11-06 13:30:09 +13:00
Michael Keller
67adc4ddab
Cleaned up parameter group definitions for displayPort. (#9115)
Cleaned up parameter group definitions for displayPort.
2019-10-31 01:14:22 +13:00
Bruce Luckcuck
5f5ee33718 Add OSD background support for the static portions of display elements
Significantly reduces the time the OSD task spends drawing elements that are completely or mostly static. The larger the element the more time savings are realized. Currently implemented support for:
- Crosshairs
- Artificial Horizon Sidebars
- Craft name
- Display name
- Stick overlay

Since the static portions are only rendered once, the static elements add no processing time to the OSD task. As an example, enabling the above elements prior to these changes results in a total rendering time of 47us. After the enhancements they take only 6us (basically the rendering phase minimum overhead). So effectively 41us are removed from the OSD task.

Opens the possibility to add large mostly static elements with no additional overhead. An example would be a camera framing element that might draw a "box" around most of the screen. Previously this would add significant processing overhead to the OSD task, but now it will have no impact.
2019-10-28 19:34:29 -04:00
mikeller
d71b117c3e Cleaned up parameter group definitions for displayPort. 2019-10-28 08:30:09 +13:00
mikeller
e7e46c578b Changed 'mspSerialPush()' to not check displayPort when requesting current data. 2019-10-26 22:05:10 +13:00
mikeller
38e1ce04df Reorganised interfaces, putting them where they are used. 2019-01-27 13:38:22 +13:00
blckmn
a9f74cd6df Removed excess trailing spaces before new lines on licenses. 2018-04-25 20:58:00 +10:00
blckmn
46fe22b4bd Direct license replacement 2018-04-22 09:22:46 +10:00
Michael Keller
dd25358a63
Merge pull request #3028 from cleanflight/improve-osd-slave-comms (#5405)
Improve OSD slave timeout/disconnect/reconnect handling.
2018-03-15 02:30:46 +13:00
mikeller
b489d0ba9d Renamed 'parameter_group' to 'pg'. 2017-12-19 23:36:31 +13:00
Martin Budden
8044d08fb3 Renamed fc_msp* files to msp* 2017-11-12 21:43:09 +00:00
Martin Budden
e3ee9a5588 Created new interface directory 2017-11-12 12:20:58 +00:00
Martin Budden
1c7f574a55 Displayport tidy 2017-06-28 21:21:29 +01:00
Martin Budden
23f158913e Moved time functions out of system.h into time.h 2017-05-26 14:03:28 +01:00
Hydra
22147105fb CF/BF - First cut of MSP current sensor.
How it works:
1. Current Meter Source on FC is set to MSP/OSD Slave by user.
2. On reboot FC sends MSP_ANALOG to OSD Slave.
3. OSD Slave listens for incoming MSP as usual.
4. OSD responds to MSP as usual.
6. The FC recevies the data from the OSD Slave and updates the MSP
Current Meter.
2017-04-29 20:57:08 +01:00
Martin Budden
f67838f1cf Merge pull request #2896 from betaflight/msp-displayport-cli-fix
CF/BF - Fix CLI being spammed with OSD MSP_DISPLAYPORT messages
2017-04-18 08:19:31 +01:00
Hydra
ce76bf5b8f CF/BF - Fix CLI being spammed with OSD MSP_DISPLAYPORT messages when OSD
over MSP is enabled.
2017-04-17 19:11:15 +01:00
Hydra
228e457ead CF/BF - Prevent 'waiting for fc' message on OSD slave when the osd
statistics page or splash screen is shown.
2017-04-17 18:27:42 +01:00
Hydra
b307007ac3 CF/BF - Improve performance of mspSerialPush / MSP_DISPLAYPORT.
* avoiding the use of an unncessesary buffer and memcopy
* the `pushBuf` was a fixed size
* the size didn't correlate to the size of the buffer being passed in.
* avoids repeating the memcpy for each port being used for MSP.
* reduces ram usage.
2017-04-09 14:17:58 +01:00
Hydra
ca5bafeab9 CF/BF - SPRACINGF3OSD initial target support inc support for OSD SLAVE via MSP_DISPLAYPORT.
OSD is tested and working on an SPRACINGF3EVO stacked with an SPRACINGF3OSD.
2017-04-09 14:17:17 +01:00
Martin Budden
5e5fc09b1d Added PG config definitions 9 2017-02-27 08:43:17 +00:00
Martin Budden
c67d6eb4f1 Preparation for conversion to parameter groups 14 2017-02-19 20:33:45 +00:00
jflyper
d33977a506 Add displayPortProfile 2017-01-16 19:37:40 +09:00
Martin Budden
7c8d1967d0 Improved OSD & displayPort initialisation. Allowed nested screen grabbing 2016-11-19 06:47:53 +00:00
Martin Budden
c97e71e995 Made OSD device independent, now uses displayPort 2016-11-19 06:47:53 +00:00
Martin Budden
44d633e5e7 Changed USE_MSP_OSD to USE_MSP_DISPLAYPORT 2016-11-06 20:40:42 +00:00
Martin Budden
d8a83518db CMS file renaming. displayPort renaming 2016-11-06 20:24:33 +00:00