Diagnoza ESC status system error

Moderatorzy: Adrián, breweryhills, moderatorzy2014, moderatorzy

Miccrel
Posty: 9
Rejestracja: czwartek 17 sie 2017, 20:56

Diagnoza ESC status system error

Post autor: Miccrel »

Witam, przyszedłem na to forum z prośbą o porad, problem objawił się kilkoma sytuacjami gdzie wyskoczył esc error, aktualnie wyskakuje cały czas. Ściągnąłem logi z wnętrza ale nie mam pojęcia gdzie mogę szukać przyczyny.
Załączam log może ktoś coś potrafił by doradzić

Kod: Zaznacz cały

.000 : 1098 :       0 IST8303[2:0x18]:Init...
.005 : 1101 :       0 IST8303[2:0x18]:set mode failed
.005 : 1101 :       0 ist83xx:0 ret:-14
.005 : 1101 :       0 IST8303[2:0x1e]:Init...
.010 : 1104 :       0 IST8303[2:0x1e]:set mode failed
.010 : 1104 :       0 ist83xx:1 ret:-14
.520 : 1410 :       0 ms5607:0 ret:0 spi_id:0 init ok 
3.437 : 3160 :       0 [BAT]read barcode data success num:1
3.437 : 3160 :       0 [BAT]read begin:12211232.end:12345678
3.437 : 3160 :       0 [BAT]barcode[0]:6171152308289
3.485 : 3189 :       0 eeprom load  0    0   22   32
3.522 : 3211 :       0 eeprom load  1   32   28   32
3.557 : 3232 :       0 eeprom load  2   64   34   40
3.610 : 3264 :       0 eeprom load  3  104   20   24
3.647 : 3286 :       0 eeprom load  4  128  132  136
3.753 : 3350 :       0 eeprom load  5  264  128  136
3.862 : 3415 :       0 eeprom load  6  400   12   16
3.897 : 3436 :       0 eeprom load  7  416   40   48
3.950 : 3468 :       0 eeprom load  8  464   11   16
3.985 : 3489 :       0 eeprom load  9  480    1    8
4.020 : 3510 :       0 eeprom load 10  488    6   16
4.055 : 3531 :       0 eeprom load 11  504    4    8
4.090 : 3552 :       0 eeprom load 12  512   52   56
4.145 : 3585 :       0 eeprom load 13  568    8   16
4.180 : 3606 :       0 eeprom load 14  584    7   16
4.215 : 3627 :       0 eeprom load 15  600   12   16
4.268 : 3659 :       0 eeprom load 16  616   38   48
4.322 : 3691 :       0 eeprom load 17  664   12   16
4.373 : 3722 :       0 eeprom load 18  680   56   64
4.428 : 3755 :       0 eeprom load 19  744   32   40
4.482 : 3787 :       0 eeprom load 20  784    1    8
4.517 : 3808 :       0 eeprom load 21  792   16   24
4.570 : 3840 :       0 eeprom load 22  816   16   24
4.605 : 3861 :       0 eeprom load 23  840    1    8
4.640 : 3882 :       0 eeprom load 24  848    1    8
4.675 : 3903 :       0 eeprom load 25  856   10   16
4.727 : 3934 :       0 eeprom load 26  872   36   40
4.782 : 3967 :       0 eeprom load 27  912   52   56
4.852 : 4009 :       0 eeprom load 28  968   44   48
4.905 : 4041 :       0 eeprom load 29 1016   28   32
4.960 : 4074 :       0 eeprom load 30 1048   18   24
5.012 : 4105 :       0 eeprom load 31 1072   16   24
5.047 : 4126 :       0 eeprom load 32 1096   72   80
5.118 : 4169 :       0 eeprom load 33 1176   24   32
5.172 : 4201 :       0 eeprom load 34 1208   64   72
5.243 : 4244 :       0 eeprom load 35 1280   24   32
5.278 : 4265 :       0 eeprom load 36 1312   96  104
5.460 : 4374 :       0 mis cali 55 55 b01c fff0 cnt:0
5.460 : 4374 :       0 imu status:0
5.460 : 4374 :       0 [hardfault]:******************check fault info and trace ************
5.460 : 4374 :       0 [hardfault]:-----fault is null: addr(0x40024000),flag(0xc6cfea2f)-----
5.460 : 4374 :       0 [hardfault]:-----fault is null: addr(0x400241a0),flag(0x4e5c6989)-----
5.460 : 4374 :       0 [hardfault]:-----task info  is null: addr(0x40024340),flag(0x4e039bed)-----
5.460 : 4374 :       0 [hardfault]:-----trace info  is null: addr(0x400244d0),flag(0x9c7aeb0e)-----
5.460 : 4374 :       0 [hardfault]:******************check last trace ******************
5.462 : 4375 :       0 [hardfault]:-----trace info  is null: addr(0x40024790),flag(0xd23669a4)-----
5.462 : 4375 :       0 [hardfault]:-----wdg_time_info is null: addr(0x40024a50),flag(0x3604e8cd)-----
5.462 : 4375 :       0 startup:7.188302||
5.462 : 4375 :       0 Board:"wm320v2"
5.482 : 4387 :       1 airport limit inited[1]
5.482 : 4387 :       1 compass calibration init!
5.482 : 4387 :       1 [LED] changed: test led when startup
5.482 : 4387 :       1 app connect changed:last(255) != current(0)
5.482 : 4387 :       1 assistant connect changed:last(255) != current(0)
5.482 : 4387 :       1 [FDI MAGN[1]] event:turn on
5.482 : 4387 :       1 [FDI GYRO[1]] event:turn on
5.482 : 4387 :       1 [FDI ACC[1]] event:turn on
5.483 : 4388 :       1 [FDI BARO[1]] event:turn on
5.483 : 4388 :       1 [FDI AHRS[1]]:turn on
5.483 : 4388 :       1 [FDI CTRL] event: turn on
5.485 : 4389 :       1 temp cali (0.000000,0.000000) 0 fw:4 4||
5.485 : 4389 :       1 temp cali 0 bw:0.000000 0.000000 0.000000 ba:0.000000 0.000000 0.000000||
5.485 : 4389 :       1 app temp cali (11.000000,65.002945) aa fw:6 6||
5.485 : 4389 :       1 app temp cali aa bw:0.000350 -0.000612 0.000188 ba:0.000238 -0.000086 0.000203||
5.485 : 4389 :       1 read gps date in flash failed
5.485 : 4389 :       1 read gps date:0
5.495 : 4395 :       1 ESC0 link up||
5.507 : 4402 :       2 ESC1 link up||
5.518 : 4409 :       2 ESC2 link up||
5.522 : 4411 :       3 Battery barcode:6171152834634
5.530 : 4416 :       3 ESC3 link up||
5.530 : 4416 :       3 esc alive info = 0xf||
5.543 : 4424 :       4 [esc_is_stall] status changed: last(0xffffffff) != current(0x00000000)
5.543 : 4424 :       4 [esc_is_empty] status changed: last(0xffffffff) != current(0x00000000)
5.562 : 4435 :       4 ESC0 version: Protocol = [V1.0] Hardware = "WM320_FOC_V4" 
5.562 : 4435 :       4 Loader   = [V00.00.01.01] 
5.562 : 4435 :       4 Firmware = [V01.12.00.00] ||
5.570 : 4440 :       5 ESC1 version: Protocol = [V1.0] Hardware = "WM320_FOC_V4" 
5.570 : 4440 :       5 Loader   = [V00.00.01.01] 
5.570 : 4440 :       5 Firmware = [V01.12.00.00] ||
5.578 : 4445 :       5 ESC2 version: Protocol = [V1.0] Hardware = "WM320_FOC_V4" 
5.578 : 4445 :       5 Loader   = [V00.00.01.01] 
5.578 : 4445 :       5 Firmware = [V01.12.00.00] ||
5.587 : 4450 :       6 ESC3 version: Protocol = [V1.0] Hardware = "WM320_FOC_V4" 
5.587 : 4450 :       6 Loader   = [V00.00.01.01] 
5.587 : 4450 :       6 Firmware = [V01.12.00.00] ||
5.662 : 4495 :      10 [FDI GPS[1]] event:turn on
5.762 : 4555 :      15 Battery name    :ATL  NVT  DJ005.||
5.762 : 4555 :      15 manufacture Date:2015/7/10||
5.762 : 4555 :      15 Serial number   :569||
7.487 : 5590 :     101 [FDI AHRS[1]]:ahrs_init begin
7.502 : 5599 :     102 [FDI AHRS[1]]:bias fdi turn on
7.502 : 5599 :     102 [FDI AHRS[1]]:init fdi turn on
7.502 : 5599 :     102 [FDI AHRS[1]]:wait for sensor check
7.682 : 5707 :     111 [LED] changed: temperature not ready when startup
8.562 : 6235 :     155 old.IOC reset intelligence_orientation_enabled
8.562 : 6235 :     155 [BATTERY]:reset default smart cfg - L1:1  L2:2
8.562 : 6235 :     155 [smart_battery]this fireware calc gohme speed:7.800000 - land speed:2.500000|| 
8.562 : 6235 :     155 CTRL reset all by rc mode switch
8.562 : 6235 :     155 [Ctrl<1>] REQ_RC_NORMAL ATTI ctrl_atti
8.685 : 6309 :     161 Eeprom write offset:1d0||
9.122 : 6571 :     183 [LED] changed: no atti
9.422 : 6751 :     198 [FDI AHRS[1]]:(wxyz)wait for static when init
10.248 : 7247 :     239 counter: 1 timeout_counter1 || check_comm_state 3 ||
10.248 : 7247 :     239 gps init failed cmd 0x101
10.248 : 7247 :     239 gps init: nack:0 ack:6 false_flag:1|| 
13.282 : 9067 :     390 [FDI AHRS[1]]:ahrs_init pass
13.282 : 9067 :     391 [FDI AHRS[1]]:evaluation fdi turn on
13.862 : 9415 :     420 [Ctrl<1>] REQ_RC_NORMAL ATTI_HOLD ctrl_gps_atti
13.922 : 9451 :     423 [LED] changed: rc completely lost
14.842 : 10003 :     469 [Ctrl<1>] REQ_RC_NORMAL ATTI ctrl_atti
15.942 : 10663 :     524 [Ctrl<1>] REQ_RC_NORMAL ATTI_HOLD ctrl_gps_atti
16.822 : 11191 :     568 [Ctrl<1>] REQ_RC_NORMAL ATTI ctrl_atti
18.522 : 12211 :     653 [Ctrl<1>] REQ_RC_NORMAL ATTI_HOLD ctrl_gps_atti
18.722 : 12331 :     663 [Ctrl<1>] REQ_RC_NORMAL ATTI ctrl_atti
25.682 : 16507 :    1011 [Ctrl<1>] REQ_RC_NORMAL ATTI_HOLD ctrl_gps_atti
25.962 : 16675 :    1025 [Ctrl<1>] REQ_RC_NORMAL ATTI ctrl_atti
//////////////////////////////

412.482 : 248587 :   20351 [Ctrl<1>] REQ_RC_NORMAL ATTI_HOLD ctrl_gps_atti
420.422 : 253351 :   20748 [Ctrl<1>] REQ_RC_NORMAL ATTI ctrl_atti
423.543 : 255224 :   20904 [Err] OFDM_TX State:0x00000400
424.002 : 255499 :   20927 [Err] OFDM_TX State:0x00000000
424.342 : 255703 :   20944 app connect changed:last(0) != current(1)
425.122 : 256171 :   20983 [LED] changed: normal led
425.402 : 256339 :   20997 [Ctrl<1>] REQ_RC_NORMAL ATTI_HOLD ctrl_gps_atti
425.442 : 256363 :   20999 sub_cmd:10,data_len:15
425.442 : 256363 :   20999 set app type:1
425.463 : 256376 :   21000 sub_cmd:10,data_len:15
425.463 : 256376 :   21000 set app type:1
425.483 : 256388 :   21001 sub_cmd:9,data_len:14
425.483 : 256388 :   21001 MONITOR_CHECK_UUID_SET status:0
425.523 : 256412 :   21003 sub_cmd:9,data_len:14
425.523 : 256412 :   21003 MONITOR_CHECK_UUID_SET status:0
426.402 : 256939 :   21047 sub_cmd:10,data_len:15
426.402 : 256939 :   21047 set app type:1
426.423 : 256952 :   21048 sub_cmd:10,data_len:15
426.423 : 256952 :   21048 set app type:1
426.423 : 256952 :   21048 sub_cmd:9,data_len:14
426.423 : 256952 :   21048 MONITOR_CHECK_UUID_SET status:0
426.442 : 256963 :   21049 sub_cmd:9,data_len:14
426.443 : 256964 :   21049 MONITOR_CHECK_UUID_SET status:0
427.383 : 257528 :   21096 sub_cmd:10,data_len:15
427.383 : 257528 :   21096 set app type:1
427.402 : 257539 :   21097 sub_cmd:10,data_len:15
427.402 : 257539 :   21097 set app type:1
427.403 : 257540 :   21097 sub_cmd:9,data_len:14
427.403 : 257540 :   21097 MONITOR_CHECK_UUID_SET status:0
427.422 : 257551 :   21098 sub_cmd:9,data_len:14
427.422 : 257551 :   21098 MONITOR_CHECK_UUID_SET status:0
428.442 : 258163 :   21149 sub_cmd:7,data_len:40
428.442 : 258163 :   21149 [set uuid]:884087113357238272
428.443 : 258164 :   21149 uid ex flash index:3
428.443 : 258164 :   21149 iwdg_set_max_timeout befor set swdg_timeout(0x00000120)!
428.443 : 258164 :   21149 iwdg_set_time_out time_out(0x00000ffa)!
428.443 : 258164 :   21149 iwdg_set_swdg_time_out time_out(4090) set g_swdg_timeout_max(0x000007ab) ||
432.423 : 260552 :   21153 sub_cmd:7,data_len:40
432.423 : 260552 :   21153 [set uuid]:884087113357238272
432.423 : 260552 :   21153 sub_cmd:7,data_len:40
432.423 : 260552 :   21153 [set uuid]:884087113357238272
432.425 : 260553 :   21153 uid ex flash index:0
432.425 : 260553 :   21153 iwdg_set_max_timeout befor set swdg_timeout(0x00000120)!
432.425 : 260553 :   21153 iwdg_set_time_out time_out(0x00000ffa)!
432.425 : 260553 :   21153 iwdg_set_swdg_time_out time_out(4090) set g_swdg_timeout_max(0x000007ab) ||
434.662 : 261895 :   21167 [M.Start]REQ_RC_NORMAL FAIL, esc error!
434.962 : 262075 :   21182 set_get_real_name_info
434.962 : 262075 :   21182 get_real_name_info:ad
434.963 : 262076 :   21182 set_get_real_name_info
434.963 : 262076 :   21182 get_real_name_info:ad
435.142 : 262183 :   21191 set_get_real_name_info
435.142 : 262183 :   21191 set_real_name_info,data: 1502997953, flag: ad, len:27 14
435.210 : 262224 :   21192 set_get_real_name_info
435.210 : 262224 :   21192 set_real_name_info,data: 1502997953, flag: ad, len:27 14
435.942 : 262663 :   21227 set_get_real_name_info
435.943 : 262664 :   21227 set_real_name_info,data: 1502997954, flag: ad, len:27 14
436.010 : 262704 :   21228 set_get_real_name_info
436.010 : 262704 :   21228 set_real_name_info,data: 1502997954, flag: ad, len:27 14
xboomx
Posty: 52
Rejestracja: niedziela 26 cze 2016, 10:03
Lokalizacja: Krakow

Re: Diagnoza ESC status system error

Post autor: xboomx »

Masz więcej niż jedną baterię do niego? Jeśli tak, to czy problem pojawia się bez względu na to, której baterii używasz?
Miccrel
Posty: 9
Rejestracja: czwartek 17 sie 2017, 20:56

Re: Diagnoza ESC status system error

Post autor: Miccrel »

Mam więcej niż jedną, problem na każdej.
Awatar użytkownika
PiotrSz
Posty: 3518
Rejestracja: środa 21 sie 2013, 22:04
Lokalizacja: Olsztyn

Re: Diagnoza ESC status system error

Post autor: PiotrSz »

Miccrel pisze:Witam, przyszedłem na to forum z prośbą o porad, problem objawił się kilkoma sytuacjami gdzie wyskoczył esc error, aktualnie wyskakuje cały czas
A ten "esc status system error" wyskakuje w pralce czy kuchence mikrofalowej bo nie napisałeś w czym oraz nie napisałeś czy model miał crash czy też nie ... wróżki wyprowadziły się z tego forum ;-)
Miccrel
Posty: 9
Rejestracja: czwartek 17 sie 2017, 20:56

Re: Diagnoza ESC status system error

Post autor: Miccrel »

Model P3P v2 nie doszło do crasha czy nawet twardego ładowania
gorszysort
Posty: 244
Rejestracja: niedziela 19 cze 2016, 17:55
Lokalizacja: Pomorskie/Zachodniopom.

Re: Diagnoza ESC status system error

Post autor: gorszysort »

Jak porównuję to z moimi logami - u mnie nie ma:

Kod: Zaznacz cały

5.543 : 4424 :       4 [esc_is_stall] status changed: last(0xffffffff) != current(0x00000000)
5.543 : 4424 :       4 [esc_is_empty] status changed: last(0xffffffff) != current(0x00000000)
Zazwyczaj wartość 0xffffffff (-1) używa się w takiej sytuacji jako "nie ustawiono" a 0x00000000 jako "wszystko ok".
Ale może Chińczycy myślą jakoś skośnie i inaczej interpretują te wartości.

Reszta loga wydaje się ok - ESC'e się odzywają przy sprawdzaniu obecności i grzecznie robią "kolejno odlicz" podając jaki mają firmware.

Zastanawiają mnie jeszcze mesydże przed "eeprom load" - u mnie "eeprom load" to pierwsza rzecz która pojawia się w logu.

Jaką wersję FW masz?
Miccrel
Posty: 9
Rejestracja: czwartek 17 sie 2017, 20:56

Re: Diagnoza ESC status system error

Post autor: Miccrel »

Wgrane najnowsze zarówno do kontrolera i ptaka 1.11.20. Poważnie nie wiem gdzie szukać przyczyny. Sprawdzałem luty na płycie głównej wygląda że w porządku nie wiem czy winny mainboard czy może silnik któryś?
Awatar użytkownika
PiotrSz
Posty: 3518
Rejestracja: środa 21 sie 2013, 22:04
Lokalizacja: Olsztyn

Re: Diagnoza ESC status system error

Post autor: PiotrSz »

Mam na serwisie Phantoma 3 Pro który ma dokładnie ten sam objaw co u Ciebie tyle że ten co jest u mnie jest po upadku z około 20m. Diagnoza padnięta płyta główna, koszt płyty V2 z silnikami to około 1200zł ponieważ nie współpracuje ta wersja płyty z silnikami 2312 a jedynie z 2312A...
gorszysort
Posty: 244
Rejestracja: niedziela 19 cze 2016, 17:55
Lokalizacja: Pomorskie/Zachodniopom.

Re: Diagnoza ESC status system error

Post autor: gorszysort »

Generalnie "ESC status error" występuje, gdy którykolwiek z ESC'ów zgłosi jakiś błąd. Sprawdzenie następuje przez zmienną, której cztery bity odpowiadaja czterem ESC'om - niestety zmiennej tej nie ma w log'u.

Zmienna ta pamięta tylko które ESC'e zwróciły błąd (0x01 - błąd ESC0, 0x08 - błąd ESC3). Ustawiana jest na podstawie struktury z informacjami otrzymanymi od każdego z ESC'ów.

Innymi słowy - w firmwarz'e jest jasno zapisane który ESC jest problemem oraz jaki kod błędu przesłał mikrokontroler ESC'a do FC. Problem jest tylko taki, że tych informacji nie ma w logach.

Może dało by się zmodyfikować firmware by wstawiał taką informację?

EDIT: Jest jeszcze kwestia, iż można zignorować błędy zwracane przez ESC poprzez jeden z flyc_param. nie pamietam jak ten konkretny parametr się nazywał, coś jak "force_start_motors"?
Miccrel
Posty: 9
Rejestracja: czwartek 17 sie 2017, 20:56

Re: Diagnoza ESC status system error

Post autor: Miccrel »

Widzę że sprawa wcale nie będzie taka łatwa,spróbuje odkopać jakieś starsze logi może zagłębie się w downgrade firmware
gorszysort
Posty: 244
Rejestracja: niedziela 19 cze 2016, 17:55
Lokalizacja: Pomorskie/Zachodniopom.

Re: Diagnoza ESC status system error

Post autor: gorszysort »

Miccrel pisze:sprawa wcale nie będzie taka łatwa
Może i tak, ale jest to droga która rozwiąże problem definitywnie dla wszystkich. Nie jesteś pierwszy ani ostatni, jak dotad wszyscy którym ten błąd się zdarzy błądzą jak we mgle.

Jeszcze rok temu nie było sposobu na downgrade firmware'u (z wyjątkiem pewnych przypadków na które DJI pozwalało). Chodziły jakieś dziwne pliki które miały odblokowywać downgrade, jakieś metody wymagające wybebeszania drona - ale żadna z nich nie działała, to były tylko trollowe historyjki. Dopóki ktoś się nie poczuł, nie przysiadł konkretnie do tematu i nie znalazł prostej metody z tworzeniem pustego pliku na karcie SD. Dziś to powszechna wiedza.

Btw, znalazłem nazwę tej zmiennej która wymusza pozwolenie na start silników jeśli jest ustawiona - g_real.status.motor_status_0.

EDIT: Od znajomego dostałem informację że lepiej tego parametru nie używać, bo on pozwala na start ignorując wszelkie możliwe błędy - czy za zimno, czy bateria się pali, czy kompas szaleje, czy żyroskop się zblokował - silniki wystartują, co wcześniej czy później skończy się katastrofą.

EDIT2: Przyjrzałem się jak wygląda kod. Generalnie jest coś co wydaje się gdzieś wysyłać pełny status ESC'a w odpowiedzi na jakieś żądanie, ale za cienki na to jestem. Dorobic logi - też ciężko, w kodzie nie ma pustych miejsc a ponadto to by wymagało downgreade'u firmware'u do diagnozowania.

Moim zdaniem najlepiej zdiagnozować problem podpinając się pod UART'a na którym ESC rozmawia z FC i użyć comm_serial2pcap.py do złapania ruchu, a potem w wireshark'u wykombinować jaki jest problem.

Skrypty i instrukcja Wireshark'a są tu:
https://github.com/mefistotelis/phantom-firmware-tools

EDIT3: Do powyższych narzędzi Wireshark'owych właśnie dodano wsparcie pakietu pokazującego szczegółowy status ESC'ów. Można też teraz otworzyć tam logi .DAT, tyle że najpierw trzeba skonwertować je do formatu PCAP.

Okazało się więc że wszystko jest w logach, tylko wcześniej nie mieliśmy narzędzi do ich odczytania.
Załączniki
wireshark-esc-status.png
wireshark-esc-status.png (60 KiB) Przejrzano 5210 razy
ODPOWIEDZ