Phantom 3 Pro/Adv - firmware analysis - 0x40003000.dji

Moderatorzy: Adrián, breweryhills, moderatorzy2014, moderatorzy

gorszysort
Posty: 244
Rejestracja: niedziela 19 cze 2016, 17:55
Lokalizacja: Pomorskie/Zachodniopom.

Phantom 3 Pro/Adv - firmware analysis - 0x40003000.dji

Post autor: gorszysort »

Hej,

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;
  }
}
W pewnym uproszczeniu:
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
gorszysort
Posty: 244
Rejestracja: niedziela 19 cze 2016, 17:55
Lokalizacja: Pomorskie/Zachodniopom.

Re: Phantom 3 Pro/Adv - firmware analysis - 0x40003000.dji

Post autor: gorszysort »

Trochę smutno że na kwestie techniczne nigdy nie uzyskuję na forum żadnych odpowiedzi.

W każdym razie, wygląda na to że inni już doszli do tego co ten plik robi:
https://github.com/mefistotelis/phantom ... interfaces
ODPOWIEDZ