Autor Wątek: mapamap wskazania  (Przeczytany 6854 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

kaprikorn

  • Jr. Member
  • **
  • Wiadomości: 68
    • Zobacz profil
Odp: mapamap wskazania
« Odpowiedź #15 dnia: Lipca 11, 2012, 11:58:20 »
wygląda dobrze i nawiguje (przynajmniej u mnie w mieście) jak trzeba, ale wskazania prędkości też ma podwojone ;) 
MID07/GB Aero2/T.Mobile

Malymon

  • Sr. Member
  • ****
  • Wiadomości: 312
  • Najpierw rób, potem pytaj :)
    • Zobacz profil
Odp: mapamap wskazania
« Odpowiedź #16 dnia: Lipca 12, 2012, 09:23:46 »
No to rzeczywiście prawdziwa ciekawostka. Dodam, że są jeszcze dwa takie pozytywne przypadki :)

Padi

  • Full Member
  • ***
  • Wiadomości: 169
    • Zobacz profil
Odp: mapamap wskazania
« Odpowiedź #17 dnia: Lipca 12, 2012, 18:51:53 »
Mnie pokazuje prawidłowo. (Mapamap)

kaprikorn

  • Jr. Member
  • **
  • Wiadomości: 68
    • Zobacz profil
Odp: mapamap wskazania
« Odpowiedź #18 dnia: Lipca 13, 2012, 10:39:02 »
no i teraz zagadka: po wgraniu romu od MANTY MapaMap działa prawidłowo.
MID07/GB Aero2/T.Mobile

Malymon

  • Sr. Member
  • ****
  • Wiadomości: 312
  • Najpierw rób, potem pytaj :)
    • Zobacz profil
Odp: mapamap wskazania
« Odpowiedź #19 dnia: Lipca 13, 2012, 22:51:14 »
GB czy ICS? Na GB u mnie wskazania są prawidłowe (Leia).

kaprikorn

  • Jr. Member
  • **
  • Wiadomości: 68
    • Zobacz profil
Odp: mapamap wskazania
« Odpowiedź #20 dnia: Lipca 16, 2012, 09:32:12 »
na mantowy GB
MID07/GB Aero2/T.Mobile

GUTEK

  • Newbie
  • *
  • Wiadomości: 1
    • Zobacz profil
Odp: mapamap wskazania
« Odpowiedź #21 dnia: Lipca 18, 2012, 23:03:55 »
Niestety mam ten sam problem.
Na mantowym GB nie zdążyłem sprawdzić.
Obecnie mam Leie i zainstalowany Mapfactor Navigator.

Takie pytanie: U mnie "Wersja pasma podstawowego" to 11.813.01.03.00.
W niektórych Androidach "Baseband" ma związek z GPS.
Jaką macie wersję z dobrym GPSem i z tym podwajającym?

Malymon

  • Sr. Member
  • ****
  • Wiadomości: 312
  • Najpierw rób, potem pytaj :)
    • Zobacz profil
Odp: mapamap wskazania
« Odpowiedź #22 dnia: Lipca 18, 2012, 23:10:04 »
To kwestia użycia smali/backsmali w przeróbce framework.jar, w wolnej chwili po powrocie do domu opiszę jak to zrobić :)

tbalc

  • Newbie
  • *
  • Wiadomości: 13
    • Zobacz profil
Odp: mapamap wskazania
« Odpowiedź #23 dnia: Października 27, 2012, 18:22:47 »
Pod linkiem http://club.dx.com/forums/forums.dx/threadid.916565 znalazłem rozwiązanie. Sprawdzone, działa. Właśnie wróciłem z próbnej jazdy i prędkość jest 2-3 km/godz niższa od wskazywanej przez prędkościomierzale to jest normalne. Samochodowe zawyżaj zawsze o te kilka km/godz.

Jedna uwaga. .line pozostawiamy tak jak w oryginale. nie zmieniamy na .line 591. W moim pliku było .line 506 i tak zostawiłem. Może ktoś mi wyjaśni jeszcze co to za liczba 0x3F03B2A1 i na czym polega mul-float? Bo to tu tkwi sedno zamiany węzłów na metry.

Do dekompilacji i kompilacji użyłem najświeższej wersji smali i backsmali 1.4.2 zamiast 1.2.6 jak poniżej.
----------------------------------------------------------
The needed actions in order to patch framework are:

 * Pull framework.jar from the phone
 * Extract classes.dex from framework.jar (command: unzip framework.jar classes.dex)
 * Unpack classes.dex with baksmali (command: java -jar baksmali-1.2.6.jar -o classes classes.dex)
 * Remove bad classes.dex (not needed anymore)
 * Edit file Location.smali under classes\android\location and replace getSpeed function from:

 .method public getSpeed()F
 .registers 2

 .prologue
 .line 591
 iget v0, p0, Landroid/location/Location;->mSpeed:F

 return v0
 .end method


 into:


 .method public getSpeed()F
 .registers 6

 .prologue
 const v1, 0x3F03B2A1

 .line 591
 iget v0, p0, Landroid/location/Location;->mSpeed:F

 mul-float v2, v0, v1
return v2
 .end method


 * Repack classes.dex using smali (command: java -Xmx512M -jar smali-1.2.6.jar classes -o classes.dex)
 * Add newly patched classes.dex into original framework.jar (command: zip -1 framework.jar classes.dex)
 * Push newly patch framework.jar into the phone

Short explanation: speed was wrongly being acquired in knots (it should be in m/s). The code is writen in Dalvik bytecode and basically a register is set with the float 0,5144444 (1 knot in m/s), multiplied by the speed passed from the GPS driver and returned "corrected".
--------------------------------

Powodzenia
« Ostatnia zmiana: Czerwca 07, 2013, 20:47:46 wysłana przez tbalc »