Skip to content

Possible Features

Joonas Trussmann edited this page Apr 5, 2022 · 14 revisions

Here's an attempt to discuss some of the frequently requested features and what might be good ways of solving them or what's already been tried. When will they get done? When somebody with the skills to do so can be bothered. Feel free to jump in. Or if you donate a generous sum and add a note as to what you'd like to see, we might just prioritize it. But no promises, some of this stuff is a lot harder than others.

If you don't see a feature you'd like on here, hit us up on Discord or open an Issue and we'll at least document it here.

Anti bricking measures

The next release of margerine will make an alternate copy of /system for you to play around and ways for you to skip loading it in case you really mess something up.

Package management/App Store

One of the higher priorities for the core team is to add a proper package manager and web based "app store" for end users to discover and install tweaks.

Live audio from an Air Unit

There's already disabled code in the Goggles/AU for live audio and we have it working, but it's still hacky at the moment. Expect this to be one of the first mods available when package management is done.

MSP Displayport for full OSD

bri3d is working on it. First results are very promising. Give him some time to finish everything up.

Canvas mode for Pixel OSD

Probably not going to happen as Canvas mode is a full bitmap overlay on top of the video stream and would require a ton of bandwidth. Doing it Air Side would be a bad time, because of focus mode / bitrate drops.

Show Air Unit / Vista input voltage for users without FC

The values are available. Likely to be added as part of/in addition to OSD mods such as MSP Display port.

Re-enable the official debug menus

Low hanging fruit, not that useful, but why not? Can already be done in a hacky manner, waiting for package management to be published.

Video In

It should be possible to re-use the DVR / iOS simulator code-path on to enable video in on Goggles. This would take the form of an h264 stream. A good start would be to port the Moonlight Embedded client for compatibility with Nvidia Gamestreaming/Sunshine server.

Support for DVR while USB Video out is being used

The main issue here currently is that when a USB host is connected the SD card gets exported as storage to the host and de-attached from the Goggles. It should be possible to override this one way or another.

Add a delay to the Goggles side when stopping automatic recording when disarming

Would allow one to get all the gory details of all those crashes. Shouldn't be too hard, relevant code is probably somewhere in dji_glasses (dji_gls_wm150 on V1).

Support for Wifi dongles/Ethernet adapters on the Goggles V2

This could enable live streaming directly from the Goggles. The main obstacle is being able to build new modules for the kernel, for which we don't have sources. Anybody have the capability of brining a serious legal threat to DJI in regards to their GPL violations? They've published sources previously here but all the old links are dead and no new ones have been published. Note: V1s don't support USB host mode, may be possible to work around, see next topic.

Support for DVR on Vistas to USB storage

Theoretically Vistas should be able to support USB OTG (like the V2 Goggles do), to enable USB storage. We suspect the main problem is power not being routed properly to the USB port. Wiring up external power (with common ground to the Vista) might do the trick. If anyone can be bothered give it a shot with a USB keyboard or USB Flash Drive and check your dmesg output afterwards let us know the results!

Fix binding lost when switching between DIY mode and Drone mode

Is possible by overwriting pairing id-s in CP memory. Needs packaging up into a usable solution.

Use the V2 RC for Air Units/Vistas

We tried forcing the appropriate pairing id-s in CP memory, no luck. Needs more research.

Mavlink support

Someone once mentioned this. I don't know anything about Mavlink or why you'd want it. Hit me up on Discord if you want this and you'd like to enlighten me.

The 13.3km limit

It's probably somewhere deep in the CP RTOS code. The limit was increased in 0600, so diffing CP for earlier versions against 0060 might be a good start. 0600 also added 50mbit mode though, so good luck digging. jaanuke spotted that in 0600 a parameter in CP RTA7 was changed from 32 to 63, which could be LTE Timing Advance. The experts all agree: here be dragons. Proceed at your own risk and be sure to share pics if you bring forth the apocalypse, get raided by the FCC or just have your wing crash and burn.

Linux support for margerine

As mentioned in the README, the USB stack on Linux behaves weirdly compared to Windows / OS X. The relevant code is in the currently obfuscated parts of margerine so you can't really do much about it your self, sorry. We have some ideas on how to solve it and hope to get around to it soon.

Custom firmware flasher

Not currently required, but can be useful in future if DJI stops serving vulnerable FWs. DUML + ftp, easy to capture with usbpcap.

Activation for V2 Goggles / FPV Drone without official methods.

Unlikely to be ever released as this enables theft and warranty fraud.

Support for newer FW versions

Requires a fundamentally new exploit chain. Some day for sure, but don't hold your breath.