Analizując firmware gimbala/kamery w P3P, trafiłem na ciekawą funkcję.
Kod: Zaznacz cały
int DjiLog2SdDetectProc(void)
{
int v9;
int v10;
char v11;
char v12;
char str[64];
v11 = 0;
memset_zero(&str, 64);
_R0 = &v12;
_R1 = (int)dword_E607100;
__asm
{
VLDMIA R1, {D0-D7}
VSTMIA R0, {D0-D7}
}
if ( sub_E80D3F4(_R0, _R1) == 1 )
{
return 0;
}
DjiUegPktGetDrive(&v11);
sprintf(&str, "%c:\\%s", v11, "0x40003000.dji");
if ( AmbaFS_Stat(&str, &v12) )
{
if ( sub_E804D8C() == 1 )
{
sub_E80D3D8(0);
}
else if ( sub_E804D8C() >= 2 )
{
v10 = sub_E80D3D8(1);
DjiLog2Sd_Init(v10);
if ( AmbaPrintk_Disabled() != 1 )
AmbaPrintk(1, 1, 1, 0, 0, 3, "[DJI_MIS] %s: camera aging state enable SD record log",__func__);
}
}
else
{
v9 = sub_E80D3D8(1);
DjiLog2Sd_Init(v9);
if ( AmbaPrintk_Disabled() != 1 )
AmbaPrintk(1,1,1,0,0,3,"[DJI_MIS] %s: detect log record config file enable sd record log",__func__);
}
return 0;
}
}
Jeśli na karcie SD w gimbalu znajduje się plik "0x40003000.dji", to (przy spełnieniu pewnych dodatkowych warunków) gimbal/kamera wchodzi w jakiś inny tryb tworzenia logów.
To jest znana sprawa?
Ktoś może wie czym się różnią takie logi?
EDIT: Jest też podobna funkcja która odpala "DjiShmooTask" jeśli znajdzie inny plik - "SHMTEST.bin". Czyżby coś zwiazane z tym?:
https://en.wikipedia.org/wiki/Shmoo_plot