Commit Graph

192 Commits

Author SHA1 Message Date
Andy Piper c483c04d4b AP_OSD: separate parameter screen
display parameter names and types and allow modification via stick gestures
add support for updating selected parameters
support symbolic names for cetain options with add vehicle specific labels
add support for OSD parameter access and modification over mavlink
save OSD parameter when setting
add missing serial protocols
set defaults on settings correctly
re-organise defaults for NTSC screens and add 9th parameter
allow parameter control to be disabled
add plane aux options (from vierfuffzig)
only enable osd param on bitmap enabled backends
make sure draw() is elided on non-bitmap backends
2020-09-09 20:36:42 +10:00
Andrew Tridgell c7b03dc936 AP_OSD: added missing OSD types to param docs 2020-09-09 06:35:50 +10:00
vierfuffzig a547af97c6 AP_OSD_Screen.cpp: fix aviation unit vspd sym
in aviaition units it's ft / min actually, not ft / s. stumbled across this thanks to increased attention to the vspeed panel using @samuelctabor awesome soaring addons ;)
2020-09-08 08:13:24 +10:00
Andrew Tridgell 8ca9af72e0 AP_OSD: prevent startup segfault 2020-09-02 05:56:46 +10:00
Andrew Tridgell 0e55a63be2 AP_OSD: skip backend drawing for boards without font backends
this saves a lot of flash space on boards that want the MSP OSD system
but not the MAX7456 backend
2020-09-02 05:56:46 +10:00
Andrew Tridgell 25746ef27e AP_OSD: avoid building MAX7456 driver without an SPI device for it 2020-09-02 05:56:46 +10:00
yaapu b8b285b359 AP_OSD: added support for an MSP based OSD 2020-09-02 05:56:46 +10:00
bugobliterator 13188b5e7e AP_OSD: ensure that we use environment Python interpreter 2020-08-03 14:02:09 +10:00
Iampete1 3a0329822a AP_OSD: apply aspect ratio correction to horizon 2020-07-21 20:08:03 +10:00
Peter Barker 8867457c4f AP_OSD: fix pointless multiple/divide
This is scaling code; OSD wants 0 to 99 vs 0 to 255 the uint8_t
function gives.  Use the unerlying 0-1 function in the OSD code in
preference to unscaling it from 255 then scaling to 99
2020-06-10 09:39:59 +10:00
Andrew Tridgell 6360c67858 AP_OSD: avoid build when OSD disabled 2020-03-28 15:28:03 +11:00
Henry Wurzburg bf1b48b940 AP_Notify: add mah consumed to BAT line in OLED displays 2020-02-18 15:15:52 +11:00
Peter Hall e2c4d453e1 AP_OSD: move to airspeed_estimate with pointer 2020-01-14 22:34:37 -07:00
Peter Barker 9410d40b2f AP_OSD: reduce scope of WITH_SEMAPHORE
The backend write() calls don't look nasty ATM - but we should get in,
get out data and get out again ASAP.
2020-01-14 10:36:44 +11:00
Andy Piper a09c18386e AP_OSD: allow osd to be disabled 2019-12-30 13:02:04 +11:00
Andrew Tridgell c4d78a7d8c AP_OSD: fixes for modified AP_ROMFS API
need to use AP_ROMFS::free()
2019-10-24 22:03:43 +11:00
vierfuffzig 1f9b2f712e AP_OSD: add clock panel 2019-10-07 19:55:42 +11:00
Henry Wurzburg cf3bd2487b AP_OSD: add current averaging filter to reduce jitter (~5 sample timeconstant) 2019-09-28 14:17:59 +10:00
Henry Wurzburg 11c633be32 AP_OSD: distance total fix for slow vehicles 2019-09-27 07:19:55 +10:00
Henry Wurzburg 59ce3f1007 AP_OSD: scale xtrack, add precision for distances <10 units 2019-09-26 12:56:12 +10:00
Henry Wurzburg f592806184 AP_OSD: formatting fixes 2019-09-25 15:01:59 +09:00
Henry Wurzburg 57dc253be8 AP_OSD: Add autoranging to current and speed displays 2019-09-17 07:34:46 +10:00
Andrew Tridgell 6af9d55e70 AP_OSD: fixed vsnprintf return assumption 2019-09-12 08:43:31 +10:00
vierfuffzig 6b1046f0ac AP_OSD: add primary airspeed item
and fix param description
2019-08-02 09:22:55 +09:00
vierfuffzig d1f80a841f AP_OSD_Screen: fix param descriptions 2019-07-20 14:23:55 +10:00
Henry Wurzburg ee079a50dc OSD: fixes missing param def for SATS_EN and typos 2019-07-18 08:51:44 +10:00
Henry Wurzburg deb3d6d8c3 OSD: Add panel parameter descriptions 2019-07-17 09:42:49 +10:00
Michael du Breuil 10410b696c AP_OSD: Refactor battery current interface 2019-07-14 00:28:00 -07:00
Michael du Breuil 631b4380e1 AP_OSD: Include needed AP_Baro.h 2019-06-27 14:56:21 +10:00
Michael du Breuil 2ab8a2318e AP_OSD: Fix AP_GPS.h include 2019-06-18 10:02:05 +10:00
Michael du Breuil ba4c589ff2 AP_OSD: Fix depending upon AP_Logger for AP_BattMonitor header 2019-06-18 10:02:05 +10:00
Andrew Tridgell 48ac028cd0 AP_OSD: take ahrs and baro semaphores
this ensures OSD data is self-consistent within each item
2019-05-30 08:33:12 +10:00
Peter Barker 32a6f0026a AP_OSD: add mutex against maniplating sf windows from different threads 2019-05-21 09:21:56 +10:00
Andrew Tridgell b3b59c7298 AP_OSD: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
SergeyBokhantsev cd166ec911 AP_OSD: Switch screens basing on FS state
AP_OSD: Switch screens basing on ARM state
2019-04-23 20:41:07 +10:00
Pierre Kancir 492c7532eb AP_OSD: move get_bearing_cd to Location and rename to get_bearing_to 2019-04-06 09:10:28 +11:00
Dr.-Ing. Amilcar do Carmo Lucas 12a6e9ad69 AP_OSD: replace location_offset() and get_distance() function calls with Location object member function calls
This allows removing duplicated code
2019-02-28 11:44:09 +11:00
Tom Pittenger 1648a6544b AP_OSD: unify singleton naming to _singleton and get_singleton() 2019-02-10 19:09:58 -07:00
Alexander Malishev 15db7a6b97 AP_OSD: normalize whitespace symbols
This fixes garbage on the screen (\n and \r symbols are not mapped
inside used fonts).
Thanks to @atshort for reporting the issue.
2019-01-22 13:11:50 +11:00
vierfuffzig 64915c69b6 AP_OSD: check for airspeed object 2018-12-03 07:57:46 +11:00
vierfuffzig 5a262a7f6a AP_OSD: add secondary airspeed item 2018-12-03 07:57:46 +11:00
Andrew Tridgell 42b89e7427 AP_OSD: flash GPS if no lock 2018-11-29 08:49:23 +11:00
vierfuffzig 47463e8159 AP_OSD: set default type for boards with onboard OSD 2018-11-09 08:12:51 +11:00
Peter Barker 41b6f30450 AP_OSD: add include for WITH_SEMAPHORE 2018-10-22 11:15:47 +11:00
Peter Barker de3244e26c AP_OSD: account for snprintf now null-terminating strings 2018-10-21 07:54:30 +11:00
vierfuffzig 83f4f5c347 AP_BLHeli: add motor pole parameter 2018-10-20 10:15:34 +11:00
vierfuffzig 5b955333ce AP_OSD: fix BLHAMPS current divisor 2018-10-19 15:05:53 +11:00
Andrew Tridgell 17049ff5f5 AP_OSD: use WITH_SEMAPHORE()
and removed usage of hal.util->new_semaphore()
2018-10-17 12:54:22 +11:00
Randy Mackay 8d3b093bbf AP_OSD: resolve compiler warning 2018-09-28 15:17:40 +09:00
Andrew Tridgell 1e0ca409d1 AP_OSD: check we have an airspeed object 2018-09-11 22:23:53 +10:00
vierfuffzig 2936f24814 AP_OSD: battery support improvements
adds airpseed temperatur item
adds secondary batt instance items
switches used capacities to Ah above 9999 mAh
volt / amp / distance symbols reworked and realigned to specific font styles
2018-09-11 22:23:53 +10:00
Andrew Tridgell d98110084d AP_OSD: updated fonts for new OSD items 2018-09-11 22:23:53 +10:00
vierfuffzig 395820096a AP_OSD add external baro temperature item 2018-09-11 17:17:59 +10:00
cclauss 7291aa0d00 AP_OSD: Simplify with the code enumerate()
* Avoid hardcoding the path to the python executable on the shebang line
* Using __with open() as__ automates file close().
2018-09-08 20:24:42 +10:00
Randy Mackay 305d927dd8 AP_OSD: resolve compiler warnings 2018-08-30 20:23:00 +09:00
Andrew Tridgell 83f293305f AP_OSD: raise thread stack size to 1024
based on testing in SITL
2018-08-20 13:49:14 +10:00
Hwurzburg 53a28cdf18 AP_OSD: Adding efficiency and climb efficiency
and new font characters
2018-08-17 16:33:53 +10:00
Hwurzburg 7c79175309 AP_OSD: add flytime item 2018-08-16 12:00:50 +10:00
Hwurzburg 5f72c9040e AP_OSD: Adding flight distance and summary panels for OSD 2018-08-16 12:00:50 +10:00
Alexander Malishev eec34fc47d AP_OSD: add waypoint and xtrack_error items 2018-08-16 10:26:34 +10:00
vierfuffzig aae1054a94 AP_OSD: add hdop display 2018-08-16 09:39:02 +10:00
Randy Mackay 8bf6e8e0cf AP_OSD: fix compiler warnings 2018-07-26 10:25:56 -07:00
vierfuffzig 1c91bd3588 AP_OSD: added temperature item 2018-07-21 06:32:07 +10:00
Alexander Malishev 13b56d5870 AP_OSD: improve AHI for large roll angles 2018-07-14 18:08:36 +10:00
vierfuffzig 78386ed080 AP_OSD: added OSD_MSG_TIME parameter 2018-07-14 09:07:42 +10:00
Alexander Malishev 785cf293cd AP_OSD: use software blink
This should fix blink issue with some hardware
2018-07-12 15:04:32 +10:00
Andrew Tridgell 6328a7233f AP_OSD: cope with no EKF for vspeed 2018-07-10 15:40:08 +10:00
vierfuffzig bdede462e8 AP_OSD: updated fonts 2018-07-10 12:34:42 +10:00
vierfuffzig 02bc49f6b5 AP_OSD: added roll and pitch angle items 2018-07-10 12:34:42 +10:00
Andrew Tridgell 33653b6734 AP_OSD: added SI and Aviation units 2018-07-10 12:34:42 +10:00
Andrew Tridgell a561aa2f6d AP_OSD: allow for runtime H and V offset change 2018-07-10 08:52:02 +10:00
Andrew Tridgell a085b33729 AP_OSD: make units tables a bit easier to read
and add OSD_UNITS parameter
2018-07-10 08:52:02 +10:00
Alexander Malishev d2e05eb927 AP_OSD: ensure spi_buffer space 2018-07-10 08:52:02 +10:00
Alexander Malishev ac71a181d6 AP_OSD: refactoring based on review suggestions 2018-07-10 08:52:02 +10:00
Alexander Malishev e364a815f8 AP_OSD: add warning levels for vbat, rssi and nsat 2018-07-10 08:52:02 +10:00
Alexander Malishev 731ae44ffa AP_OSD: add imperial units option 2018-07-10 08:52:02 +10:00
Alexander Malishev eaac477131 AP_OSD: add inverted roll AH and inverted wind direction 2018-07-10 08:52:02 +10:00
Alexander Malishev 7873aff0b8 AP_OSD: allow to fine tune osd position 2018-07-10 08:52:02 +10:00
Alexander Malishev dc454881df AP_OSD: increased lat/lon field
Lattitude integer part could be 4 char wide like -171.123
2018-07-10 08:52:02 +10:00
Alexander Malishev 8dd4108f3c AP_OSD: create usable default osd layout 2018-07-10 08:52:02 +10:00
Andrew Tridgell 6eb00b92fd AP_OSD: don't panic on bad font num in SITL 2018-07-10 07:21:20 +10:00
Andrew Tridgell 52a8198311 AP_OSD: added font switching at runtime for SITL 2018-07-09 20:48:59 +10:00
Andrew Tridgell 64fae25882 AP_OSD: added runtime font switching 2018-07-09 19:48:09 +10:00
Andrew Tridgell 5682cef162 AP_OSD: created font binaries 2018-07-09 19:48:09 +10:00
vierfuffzig 4f1db0f979 AP_OSD: added fonts and styles 2018-07-09 19:48:09 +10:00
vierfuffzig 795947b405 AP_OSD: Addded README.md for fonts 2018-07-09 19:46:48 +10:00
Andrew Tridgell 7454c9f8c5 AP_OSD: load font on startup
this reduces memory fragmemtation and maximises available memory
during update
2018-07-09 19:41:56 +10:00
Andrew Tridgell 6347de2b89 AP_OSD: added OSD_FONT parameter
allow for user selection of font
2018-07-09 19:41:56 +10:00
Andrew Tridgell 4055f28bc5 AP_OSD: use font*.bin as font name 2018-07-09 19:41:56 +10:00
Andrew Tridgell 822e20f830 AP_OSD: rename clarity.bin to font0.bin 2018-07-09 19:41:56 +10:00
Andrew Tridgell aa205d0537 AP_OSD: use compressed font file 2018-07-09 19:41:56 +10:00
Andrew Tridgell b98d941526 AP_OSD: use thread_create API
this prevents a freeze in the FAT filesystem from affecting the OSD
2018-07-09 19:41:18 +10:00
Andrew Tridgell dbe096e2f3 AP_OSD: default OSD_TYPE to SITL when enabled with --osd 2018-07-08 08:22:40 +10:00
Andrew Tridgell ba1a611ea9 AP_OSD: fixed CPU usage in SITL thread 2018-07-07 13:09:52 +10:00
Andrew Tridgell d280dbf119 AP_OSD: display --- when no airspeed available 2018-07-05 09:32:09 +10:00
Andrew Tridgell f96c3c2c0f AP_OSD: added check for get_telem_data() 2018-07-05 09:16:50 +10:00
Andrew Tridgell 84d2b1cd93 AP_OSD: make packed decimal the default
and fix SITL char spacing
2018-07-05 08:06:04 +10:00
Alexander Malishev 3fb034e350 AP_OSD: fixed packed dot 2018-07-05 08:06:04 +10:00
Andrew Tridgell 9df4be7f49 AP_OSD: added blink for SITL backend 2018-07-04 20:53:25 +10:00
Andrew Tridgell 7d4a6795d8 AP_OSD: use a thread for SITL OSD
this allows for window scaling and should fix ubuntu 18 warning
2018-07-04 20:53:25 +10:00