Cool experience you have there.
We should (all) swap stories.
Certainly there are some #defines in the source that would allow you to tweak the 2V offset you found.
First of all, the LP wiki which should be assumed correct if it says something different than I do:
https://librepilot.atlassian.net/wiki/spaces/LPDOC/pages/91947115/MWOSD+SetupThe following are my recollections about OSD and may be wrong.
MinimOSD is the OSD hardware we use. The variant is Micro-MinimOSD (small square board with one voltage source) KV-Team (which as I recall started out as a few trace changes to bring out a couple A-D pins for voltage and current sensors).
MWOSD is the standard firmware inside the OSD. It was designed to run with different FC firmware. LibrePilot made source code changes to talk to it starting in 16.09. It works fine on Revo class FCs. It doesn't run on CC3D because of memory constraints although I recall that @f5soh made a version that did work. You could probably disable some memory hog stuff and get it to work. You can certainly redo some memory allocations (stack and heap) or disable some unused modules in the build to get it to work with CC3D.
MinOPOSD is a LibrePilot variant of MWOSD (firmware and configurator). It talks native LibrePilot and doesn't require translation and works on Revo or on CC3D.
ShikOfTheRa/scarab-osd is the where MWOSD comes from. ShikOfTheRa took it closed source and doesn't release full source code for free any more. The MWOSD that we use is basically the free last version of ShikOfTheRa. I went through the github repo and extracted what I think is the last free version 1.6.8.0. I recall thinking that what I got this way was a little newer than the other MWOSD versions. One concern is getting matching firmware and configurator versions. The configurator underwent a source language change after 1.6.8.0.
https://github.com/ShikOfTheRa/scarab-osdHere is an old thread with some good info:
https://forum.librepilot.org/index.php?topic=3926.0