fpv-wtf / margerine

It's not butter, but it's root.
MIT License
205 stars 30 forks source link

AU/Vista Possible Features #14

Open Siberuys opened 2 years ago

Siberuys commented 2 years ago

Waited for DJI FPV Hack from the very beginning, you finally did it! Thank you! Unlocked adb in my Goggles and Vista, unfortunately i'm not a software developer so i hold breath and wait for interesting features. I will try to help as much as I can, testing/debug, donate when the opportunity arises.

I can ask some interesting questions? (Maybe some questions will inspire the idea to implement interesting functions).

  1. Theoretically is it possible to somehow hack AU/Vista and unlock features that are not available for Caddx Polar and other cameras?(adjust the image aspect ratio, scene, exposure, saturation, white balance, 120fps??);

  2. "Theoretically Vistas should be able to support USB OTG", so whether it will be possible to connect the USB camera and broadcast video to Goggles? (Connect USB Web camera or IR camera like Seek Thermal... and switch between main/secondary cameras);

  3. 0600 added 50mbit mode, it is obvious that the speed limit is artificial, theoretically is it possible to somehow disable the upper speed threshold (50Mbit) to increase image quality? (810p/960p/1080p), or maybe it doesn't work the way we used to think? (More Mbit=Better);

  4. Display the temperature of AU/Vista on screen?

Thank you!

j005u commented 2 years ago
  1. Some of these features could possibly be emulated in software, but would require patching the video pipeline RTOS, which is very difficult to do compared to patching things in the Linux userland and would probably result in extra latency. Unfortunately all these settings happen on the 120fps camera ISP (ap1302) chip itself, so we can't just turn them on for other cameras.

  2. Presuming we get OTG going then theoretically yes, but again the video pipeline resides in a separate RTOS outside the Linux userland which is significantly harder to reverse engineer/patch. It might also be possible to turn the video pipeline off in such a case and use the TCP/UDP stack available to userland, but it's unclear how much bandwidth that actually has available. I'd add that (with the proper patching of RTOS) it might also be possible to use 25mbit for the low latency camera and actually have a second 25mbit stream from USB going at all times for simultaneous streaming to an external decoder/screen in 50mbit wireless mode.

  3. There's actually a secret DUML command to switch to an arbitary bitrate, but due to RTOS limitations latency takes a nosedive as soon as you go significantly above 50mbit. It's worth noting that 25mbit uses a 20mhz wide signal whereas 50mbit uses 40mhz. It's unclear if the hardware could perhaps push even more, but that'd require heavy modifications to the LTE derived baseband in the RTOS and DSPs. Another concern is latency when it comes to the h264 encoder/decoder, usually they'll have different performance characteristics at different bitrates/resolutions. With that said, the 120fps cameras all actually run at 1080p internally and the Goggles screens are 810p, so trading off effective bitrate for resolution might be an interesting proposition. However, again the video pipeline is separate and much harder to tinker with.

  4. This is something for @bri3d's msp-osd. Probably can be done, I know he's already looking at what other metrics we could expose.

druckgott commented 2 years ago

I have also a possible future for the airunit. Maybe it´s posible to switch off the vtx compleat on startup of the quad and have switch on the glasses to switch it on or a switch in betaflight to eneably it. My Idea is if you have problems with gps you can get at first gps because the nois of the vtx is small or not availibe and the power it up to 25mw and after that if you disarm you quad you get full power what you have selected in the goggles.