4.4 displayport_msp_serial and DJI O3 OSD #12167
-
Hello, Thank you, |
Beta Was this translation helpful? Give feedback.
Replies: 14 comments 5 replies
-
On the ports tab select |
Beta Was this translation helpful? Give feedback.
-
Steve: I have been looking at the OSD outputs and the output is merged into TYPE= MSP_MULTIPLE_MSP(230), what are the actual OSD types and structures used to send base strings. Not interested in 3rd party fonts/images just the internal DJI mapping. Wanted to add custom GPS data to add multiple GPS waypoints along a path to retrace. My flying buddies are always loosing there fixed wing airplanes in the corn :), when I find them - would like to pop up GPS to display. |
Beta Was this translation helpful? Give feedback.
-
Regards,Jan LarsenM: (651)335-6269On Jan 31, 2023, at 7:07 PM, Steve Evans ***@***.***> wrote:
See https://betaflight.com/docs/development/API/DisplayPort. Note that DJI don't currently support this, although I'm working with them to add full HD OSD support. As of now you should select vcd_video_system = PAL and osd_displayport_device = MSP. In future these will both be set automatically as is currently the case with WFTOS as they support the MSP_SET_OSD_CANVAS command.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Steve: two (2) follow on questions;
Thanks for any help!! |
Beta Was this translation helpful? Give feedback.
-
Steve,Thanks for the previous feedback on DJI 03 OSD implementationCouple of questions;1. I have implemented Uart for OSD, its appears that 03 sends REQ commands (11) at roughly 10ms interval (3,10…,130,150) + 90ms ~ 200ms repeat timing.2. I have implemented sending REQ after final (150) command to ARM and DISARM,Supporting high power modes - this is functional (So RSP, REQ are working)3. I can decode all SBUS traffic - this is functional.Q1–> what is the normal timing used to inject commands, I’m tracking (DJI 03) last command.4. I have implemented and tested (DisplayPort sub commands 2, 4, and 3)Yup - as you indicated they do not seem to work. (Hopefully sometime in future).I have not tested the elements - Would these work? Will try next.Q2-> what would you recommend to implement to support simple strings and/orData on OSD. What would be the mechanics. Regards,Jan LarsenOn Feb 3, 2023, at 12:05 PM, Jan Larsen ***@***.***> wrote:Regards,Jan LarsenM: (651)335-6269On Jan 31, 2023, at 7:07 PM, Steve Evans ***@***.***> wrote:
See https://betaflight.com/docs/development/API/DisplayPort. Note that DJI don't currently support this, although I'm working with them to add full HD OSD support. As of now you should select vcd_video_system = PAL and osd_displayport_device = MSP. In future these will both be set automatically as is currently the case with WFTOS as they support the MSP_SET_OSD_CANVAS command.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Steve,I built my own FC and connected it to the DJI 03.Although I fly a lot of Rotary, I’m more into the fixed wing and turbine class.What is the simplest FC that you might recommend.Any simple references you might provide for MSP command sequencesI would be very grateful, no a lot of data to help with this issue.Regards,Jan LarsenOn Feb 3, 2023, at 2:40 PM, Steve Evans ***@***.***> wrote:
If you’re able to log the serial traffic which you appear to be then I suggest you hook up a BF FC and inspect the dialog. Much easier for you to do that than for me to do so and then try to describe it.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Would a log off the interactions between BF and O3 help? I can create one with bytes and time-stamps. |
Beta Was this translation helpful? Give feedback.
-
Steve, That would be fantastic, happy to learn the environment. Regards,Jan LarsenOn Feb 3, 2023, at 7:03 PM, Steve Evans ***@***.***> wrote:
Would a log off the interactions between BF and O3 help? I can create one with bytes and time-stamps.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
@thorbyte OK, so the attached dialog is using the following OSD configuration, which is quite busy.
|
Beta Was this translation helpful? Give feedback.
-
Steve, This is great. Thank-you!! Can you clarify the position information? The BF documents talk about row, col (byte) organizations. 30x16 I also see fixed units like 2545, which is 16bit organized single target. what is the position convention?Regards,Jan LarsenOn Feb 4, 2023, at 7:43 PM, Steve Evans ***@***.***> wrote:
@thorbyte OK, so the attached dialog is using the following OSD configuration, which is quite busy.
DJI_O3_MSP.csv.zip
set osd_warn_bitmask = 17391
set osd_vbat_pos = 2497
set osd_rssi_pos = 2433
set osd_link_quality_pos = 2529
set osd_rssi_dbm_pos = 2401
set osd_rsnr_pos = 4585
set osd_tim_1_pos = 2545
set osd_tim_2_pos = 2552
set osd_remaining_time_estimate_pos = 33
set osd_flymode_pos = 2074
set osd_throttle_pos = 226
set osd_vtx_channel_pos = 32
set osd_crosshairs_pos = 2255
set osd_ah_sbar_pos = 2256
set osd_ah_pos = 2128
set osd_current_pos = 343
set osd_mah_drawn_pos = 2466
set osd_craft_name_pos = 393
set osd_gps_lon_pos = 393
set osd_gps_lat_pos = 361
set osd_gps_sats_pos = 2241
set osd_home_dist_pos = 98
set osd_flight_dist_pos = 130
set osd_compass_bar_pos = 2124
set osd_warnings_pos = 2411
set osd_avg_cell_voltage_pos = 44
set osd_pit_ang_pos = 2145
set osd_rol_ang_pos = 2113
set osd_disarmed_pos = 267
set osd_nheading_pos = 2274
set osd_esc_tmp_pos = 163
set osd_esc_rpm_pos = 150
set osd_core_temp_pos = 2061
set osd_sys_goggle_voltage_pos = 4577
set osd_sys_vtx_voltage_pos = 4599
set osd_sys_bitrate_pos = 4605
set osd_sys_delay_pos = 4605
set osd_sys_distance_pos = 4577
set osd_sys_lq_pos = 4285
set osd_sys_goggle_dvr_pos = 4253
set osd_sys_vtx_dvr_pos = 4605
set osd_sys_warnings_pos = 4257
set osd_sys_vtx_temp_pos = 4225
set osd_stat_bitmask = 2240740
set osd_displayport_device = MSP
set osd_canvas_width = 30
set osd_canvas_height = 16
set vcd_video_system = PAL
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Steve, Thanks again for the data dump file. The file contained about 33K of 0xFF RX data, all appeared to be false uart starts, looks like noise on ground, I’m guessing. I see this on my FC to DJI interface. Filtering the ground greatly reduces, but does not eliminate. I see 1 byte in 10K. Basic sequence is clear; CLEAR 2 WriteString 3 … WriteString 3 Render 4 Heart 0 I have not utilized this command, does DJI timeout? I appear to be missing only two things (or maybe three) 1. Is the Heart rate required? What timing, mostly why. 2. I must be missing some initialization phase(configuration), since my data follows the overall flow of data from your dump file. 3. I have no rooting or pre-configuration on the DJI product only latest build. What build on 03 is required to support OSD interface to BF4.4Regards,Jan LarsenOn Feb 5, 2023, at 10:19 AM, Steve Evans ***@***.***> wrote:
See https://github.com/betaflight/betaflight/blob/cb2ab68c212a2e835f2298640b8dcb2d40e6fa04/src/main/osd/osd.h#L79 for the encoding.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Steve, Appreciate you answering all my questions - BIG THANKS! Yes - it works. Standard DJI (latest) with no rooting etc., no special fonts etc. The actual sequence was a bit of a pain to unravel… * I can display OSD information on any location. * GPS is running and showing LAT/LON, ALT, DIR. * BLE is running - updates data, building remote app, and implementing ASTM3411-22 beacon, although currently I only show my device and location. Cheers!Jan LarsenOn Feb 5, 2023, at 10:19 AM, Steve Evans ***@***.***> wrote:
See https://github.com/betaflight/betaflight/blob/cb2ab68c212a2e835f2298640b8dcb2d40e6fa04/src/main/osd/osd.h#L79 for the encoding.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Steve, Just completed adding waypoints to the system, it supports; Lat/Lon, altitude, speed, radius, status track. The waypoints (WP) are used for either - flight targets, or area’s to avoid (hence adding radius). DJI utilizes the lower right quadrant, so I utilize the upper right for always showing home distance and heading. The upper left always shows the altitude, speed. The lower left navigation information to waypoints or avoid notification. All OSD images are scheduled interlaced with the DJI lock sync interface timing. Since DJI constantly sends 200ms updates, I have distributed the OSD commands evenly - any commands are adjustable. each command has either static component, dynamic component or both. This reduces traffic to only needed dynamic updates. Flight controls are done, GNSS tracking is done, OSD integration is done. BLE integration has been updated to support Beacon, and services - basically showing either FC changes, GNSS, OSD changes, and finally Waypoints. Just building the aircraft platform - once the snow melts - we are ready. Since I have couple weeks - will also re-integrate previous head tracking into system. Fixed wing aircraft don’t allow easy camera motion, so I’m slaving camera with two servos’ pitch and yaw( my 3D printer is thrashing away) Head tracker is Euler BNO055 Bosch - works very well - very easy to integrate. almost done….. ::))Regards,Jan LarsenM: (651)335-6269On Mar 7, 2023, at 5:10 PM, x4code ***@***.***> wrote:
@SteveCEvans how is that OSD HD with DJI Development? any news? gonna take a while? any news? :)
Regads
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Steve,
hopefully - quick question.
what is the MSP command to ask the AIR03 online status of either Goggles
or TX controller.
The controller when off line, terminates the SBUS output. So a timeout detects
the offline state.
The AIR03 will send MSP commands regardless of Goggle state, what is the
MSP_STATUS_EX, MSP_RC or other state that can ask, if the goggle are
connected to the AIR03.
Hope the question makes sense.
Basically until the Goggles are online, no need to update OSD commands.
specifically the device requires CLR screen, Heart and DrawScreen, not until Goggles are ready.
Regards,
Jan
|
Beta Was this translation helpful? Give feedback.
On the ports tab select
VTX (MSP + Displayport)
.