Please provide the following info (tick the boxes after creating this topic):
Software Version
DRIVE OS 6.0.8.1
DRIVE OS 6.0.6
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
other
Target Operating System
Linux
QNX
other
Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-300)
DRIVE AGX Orin Developer Kit (940-63710-0010-200)
DRIVE AGX Orin Developer Kit (940-63710-0010-100)
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
other
SDK Manager Version
1.9.3.10904
other
Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other
Hello,
We’re experimenting with the advanced camera triggering options on the Orin devkit. To start out, I’ve tried running the sample camera app with the command line arguments added to select Hetero Frame Sync. (-D) I noticed that setting these arguments had no effect on the program. A little debugging showed that deserializerInterfaceProvider->GetInterface(MAX96712_FUSA_NV_CUSTOM_INTERFACE_ID) is returning null. Probing a little further, I saw that deserializer names in the platform configuration are set to “MAX96712”. (We’re using platform configuration F008A120RM0AV2_CPHY_x4) Out of curiosity, I tried manually overriding it and setting it to “MAX96712_Fusa_nv”. That is, I kept the rest of the platform configuration intact but I added a tiny little piece of code that changes all of the deserializer names. However, this causes a memory crash, specifically “raised STORAGE_ERROR : stack overflow or erroneous memory access” inside the m_pCamera->Init() call.
So, I have a few questions. The Advanced GPIO Frame Sync Triggering is supposed to work more or less out of the box, no? Or what additional configuration do I need to do? (Yes I confirmed that we have Board Variant p3710-10-s05 and that the installed OS version is 6.0.8.1-34171226) If the deserializer names are set to “MAX96712” in the platform configuration, that actually guarantees that it won’t be able to do any of the advanced functions, no? Because it will load the old driver? So why are any platform configs set to that at all? In general is it ok for me to just change the name of the deserializer driver like that? Or is that breaking all kinds of assumptions and is bound to cause it to crash?
And finally, I think it’s actually a little interesting that the m_pCamera->Init() call failed with an internal memory corruption. Even if there is an error in my arguments to the method, these things should generally return with a status, not just blow up the call stack, no?
Thanks so much for your help, I’d just like to say that I’m super-impressed with the quality of the product in general.
Jason Catlin