@jameskuesel , can you please do a quick test:
move / rename the following file:
/usr/lib/camera/com.qti.tuned.cmk_imx577.bin
then restart camera server and take a look at the image again.
I believe the tuning file is smoothing out the image too much. the imx412 sensormodule file (also in /usr/lib/camera) is linked to com.qti.tuned.cmk_imx577.bin tuning file. By removing the file, the camera pipeline will load the default tuning file, which is what I believe your imx214 is using (com.qti.tuned.default.bin).
another thing to try is to use a different tuning file, which we have been testing, which removes a lot of the smoothing for IMX412:
cd /usr/lib/camera
mv com.qti.tuned.cmk_imx577.bin com.qti.tuned.cmk_imx577.bin.bak
ln -s com.qti.tuned.imx412_fpv.bin com.qti.tuned.cmk_imx577.bin
#then restart voxl-camera-server
Essentially this will replace the tuning file that is currently being used with a custom one we are experimenting with.
Please let me know if these options look better.
In order to see which camera is using which tuning file you can enable a special debug mode:
add to /vendor/etc/camera/camxoverridesettings.txt:
logInfoMask=0x20000
if you see systemLogEnable=0, set it to 1:
systemLogEnable=1
run in one terminal:
logcat | grep -i tuning
Then restart voxl-camera-server and you should see in the first terminal something like the following.. chromatix file is analogous to tuning file.
voxl2-mini:/$ logcat | grep -i tuning
01-29 02:22:27.003 3844 3844 I CamX : [ INFO][HWL ] camxhwenvironment.cpp:1762 CreateTuningDataManager() Enter : sensor index: 0, sensor name: imx412_fpv, chromatix name: imx412_fpv
01-29 02:22:27.003 3844 3844 I CamX : [ INFO][HWL ] camxhwenvironment.cpp:1798 CreateTuningDataManager() Searching regular tuning file
01-29 02:22:27.014 3844 3844 I CamX : [ INFO][HWL ] camxhwenvironment.cpp:1839 CreateTuningDataManager() Loaded tuning file: /usr/lib/camera/com.qti.tuned.imx412_fpv.bin for sensor index: 0
01-29 02:22:27.118 3844 3844 I CamX : [ INFO][HWL ] camxhwenvironment.cpp:1762 CreateTuningDataManager() Enter : sensor index: 1, sensor name: ar0144, chromatix name: onsemi_ar0144
01-29 02:22:27.118 3844 3844 I CamX : [ INFO][HWL ] camxhwenvironment.cpp:1798 CreateTuningDataManager() Searching regular tuning file
01-29 02:22:27.118 3844 3844 I CamX : [ INFO][HWL ] camxhwenvironment.cpp:1811 CreateTuningDataManager() No tuning data file for sensor: ar0144, assigning default
01-29 02:22:27.127 3844 3844 I CamX : [ INFO][HWL ] camxhwenvironment.cpp:1839 CreateTuningDataManager() Loaded tuning file: /usr/lib/camera/com.qti.tuned.default.bin for sensor index: 1
01-29 02:22:27.158 3844 3844 I CamX : [ INFO][HWL ] camxhwenvironment.cpp:1762 CreateTuningDataManager() Enter : sensor index: 2, sensor name: imx214, chromatix name: imx214
01-29 02:22:27.158 3844 3844 I CamX : [ INFO][HWL ] camxhwenvironment.cpp:1798 CreateTuningDataManager() Searching regular tuning file
01-29 02:22:27.158 3844 3844 I CamX : [ INFO][HWL ] camxhwenvironment.cpp:1811 CreateTuningDataManager() No tuning data file for sensor: imx214, assigning default
01-29 02:22:27.163 3844 3844 I CamX : [ INFO][HWL ] camxhwenvironment.cpp:1839 CreateTuningDataManager() Loaded tuning file: /usr/lib/camera/com.qti.tuned.default.bin for sensor index: 2
I currently have hooked up 3 cameras, my results probably wont match yours since i don't have exactly the same setup and drivers, but you can see what to expect.
After testing, you can disable the log mask and system logging to reduce cpu usage.
Alex