Beiträge von jamakr4

    EVCC greift nur auf den saic-mqtt-gateway zu, wenn das Fahrzeug geladen werden soll, bzw. wenn es geladen wird.
    Da bei der Ladung die 12V Batterie gleich mit geladen wird, ist das kein Problem.
    Rufe ich die Fahrzeugdaten natürlich alle 10 Minuten ab, geht das natürlich auf die 12V Batterie, die aber normalerweise automatisch nachgeladen wird, auch wenn das Fahrzeug steht.

    Hast du nicht das Problem das die Kiste manchmal in diesen deep sleep mode geht?

    Gibt es dafür SoftwarSoftware Updates/Mods um sowas zu ermöglichen bzw das ganze zu verbessern

    Wie stellst du deinen ACC denn ein? Also wenn du den linken Stick nach oben schiebst um viel Kmh wird jeweils erhöht- 1er oder 5er Schritte? Die aktuelle Version von MG mach 1er Schritte, wenn deiner also 5er macht hast du definitiv eine alte Version.


    Oder was genau meinst du?

    So langsam muss ich mir wohl Obtainium auf den MG4 laden, damit ich die verschiedenen Apps und Versionen auf den jeweiligen Git im Griff habe.

    Ich guck mal ob ich auch so ein OTA Feature wie bei der Control App baue. Theoretisch könnte man die installation auch automatisieren per Script, da müsste man mal gucken welche Rechte so ein Skript auf dem MG hat.

    PS: Habe gerad dein Wiki durchgelesen. Super interessant! Wenn ich solche Sachen jeweils lese, bin ich nachher immer etwas frustriert, dass ich nicht programmieren kann.

    Man muss da einmal rein kommen - die Grundlagen sind eigentlich immer die gleichen. Das ist für mich auch das erste Mal Android, hab davor mal swift gemacht (das iOS Pendant) und sonst eigentlich immer Web basiert - da kann man den Code mit so Sachen wie Expo auch mittlerweile quasi nativ von Web basiert aus übersetzen und so diesen Cross Platform Kram wie Flutter umgehen..

    Eigenständige App ist mir persönlich lieber, da so easy auf "Werkszustand" gesetzt werden kann. Einfach die selbst hinzugefügten Apps deinstallieren und alles ist wieder original.

    Die andere App wird auch bleiben bzw ich weiß gar nicht ob man die überhaupt los wird. Die Idee war eher das die App dann automatisch an geht wenn der Gang eingelegt wird und das quasi so die alte ersetzt. Ich meine in den Einstellungen der alten App kann man das auch konfigurieren das die nicht immer automatisch angeht.

    Ersetzen bezieht sich hier nicht auf das Runterwerfen von einem der beiden sondern eher auf die Nutzung..

    Bei mir auch - fühlt sich son bisschen an wie ein Gummiband finde ich.. Aber fairerweise ist das auch schwer anders umzusetzen, denn soweit ich weiß nutz der ACC nur das Radar und nicht noch die Kamera oben vorm Innenspiegel.. Woher soll das Auto also in solchen Edge Cases sowas wissen bzw wie soll es das erkennen? Das Radar gibt harte Werte raus und wenn das Auto sofort reagieren würde, würden sich wahrscheinlich alle beschweren das der Wagen zu hart zu früh grundlos reagiert (das war ja in der alten ACC Version so mit den Kurven). Man könnte die Cam oben nutzen um zB via KI Echtzeiterkennung solche Fälle früher zu erkennen und entsprechend so zu reagieren - aber wahrscheinlich hat die MediaTek CPU dafür nicht genug Power damit beide System zusammen arbeiten..

    OT: Falls ich es noch schaffe, den Poweramp mit den Multimediatasten zu steuern, würde ich gerne den originalen MG Medienplayer durch den Poweramp ersetzen. Ich gehe davon aus, dass man "nur" den Programmnamen in der Poweramp APK durch den des originalen MG Medienplayers ersetzen müsste, damit der MG Launcher den dann aufruft. Habe allerdings keine Ahnung, wie das geht, da ich mich nur mit Webprogrammierung auskenne.

    Es gibt da 2 Optionen entweder den Launcher anpassen (das der quasi statt dem default player PowerAMP aufruft) oder PowerAmp selber anpassen das der quasi die Signatur vom Original hat. Bei 1tem ist halt das Problem sobald der Wagen ein Software Update fürs Infotainment kriegt ist das wahrscheinlich wieder weg und 2tes ist viel Fummelarbeit bzw. keine Ahnung ob das überhaupt funktioniert.


    Du kannst dir bei Fdroid die App APK extractor holen und damit quasi alle Apps vom Auto ziehen auch den Launcher glaube ich. Dann mit APK Tool entpacken und verändern und anschließend wieder neu signieren und installieren. Den Launcher kann man nicht emulieren (bzw ich habe noch keinen Weg gefunden) und viele andere Apps wie auch die 360 Cam App laufen so halb im Sim, weil die Abhängigkeiten des echten Autos fehlen. Auf dem Weg ist nur die entpackte App von der Logik her in .smali


    Edit: das hier ist ja mehr oder weniger 1tens nur für den MG4 - MG4 Headunit UI Mod

    com.saicmotor.360camera.show

    Das ist z.B der Call für den Aufruf der 360cam - man muss also nur wissen wir der Call für den Mediaplayer aussieht und diese Stelle im Launcher ändern.

    https://github.com/jamakr4/MG4…n-to-the-MG4-infotainment
    https://github.com/jamakr4/MG4…d-gain-access-to-the-code?

    Hochachtung vor deiner Arbeit und deinem Können!

    Danke aber das war gar nicht schwer - ich würde behaupten ein Software Dev der hauptsächlich dieses low Level C++ Zeugs macht und vor allem nicht erst experimentieren muss bis das dann irgendwann mal läuft würde das in wenigen Stunden hinbekommen. Ich vermute mal das MG die Software nicht selber entwickelt, sondern das outsourced - Anders kann ich mir nicht erklären wie man solche "Free Features" nicht mitnimmt. Die Hardware ist ja da... Tesla und co kochen ja auch nur mit Wasser bzw. mit der Hardware die verbaut ist, aber die nutzen sie immerhin..

    Ich hatte schon mal Kontakt mit der Software und Rechtsabteilung von MG (hatte denen ein Datenleck gemeldet) und hatte auch angeboten denen zu helfen ihre Fahrzeugsoftware mal zu verbessern, aber das wollte man nicht 😔

    Ja mein Repo ersetzt seins und nein meine App ist erstmal noch eigenständig- ich bin gerade am gucken wie es die originale MG App ablösen könnte, das gestaltet sich aktuell aber noch schwieriger als gedacht. Man kann die original App zwar extrahieren und mit APK Tool entpacken und dann verändert, aber dann ist der ganze Code in smali Dateien (aka der Android Assembler) - damit zu arbeiten ist die Hölle auf Erden..

    Ich kann halt die ganzen MG Grafiken extrahieren und könnte diese theoretisch auch nutzen, aber streng genommen haben diese ein Copyright und sind urheberrechtlich geschützt. Da ich keine Lust auf MG und deren Anwälte habe, muss ich mal gucken wie ich das baue. Aktuell wird die Original App primär durch den Launcher gestartet. Das müsste man noch irgendwie umstellen.

    Im issue board sieht man ja ca wo die Reise hingehen. Die Mockups die in den issues teilweise drin sind werde ich so aber nicht 1:1 umsetzen können (zumindest der teil der Grafiken aus dem original enthält).

    In der Stadt ist das absolut super, bei höheren Geschwindigkeiten auf der Autobahn offenbart sich dann leider die zu niedrige FPS Rate - Ich finde dennoch ein super Zugewinn, auf Tesla Niveau in Sachen Flüssigkeit und Auflösung wird's aber wegen der Hardware wahrscheinlich nie kommen. Denke hier ist das Kamera System einfach am Limit

    Das muss ich übrigens revidieren bzw. ich habe einen Weg gefunden wie das wesentlich flüssiger läuft. Für die die es interessiert hier einmal die Erklärung:

    Das Problem: Der ursprüngliche Code konvertiert das Kamerabild frame-by-frame von UYVY (das Format das die Kamera nativ liefert, aber Android so ohne weiteres nicht anzeigen kann) nach RGBA (das Format das Android darstellen kann). Diese Konvertierung wurde ursprünglich manuell in einer simplen CPU-Schleife gemacht — für jeden einzelnen Pixel, jeden Frame. Der MT2712 SoC (CPU vom Infotainment) ist dafür schlicht zu lahm bzw. der Code einfach nicht wirklich gut.


    Die Lösung: Statt der manuellen Schleife nutzen wir jetzt OpenCV's cvtColor Funktion für die Konvertierung. OpenCV verwendet intern ARM NEON SIMD-Instruktionen die mehrere Pixel gleichzeitig verarbeiten — das ist deutlich effizienter als was ein normaler Compiler aus einer einfachen Loop macht. Zusätzlich wurde der V4L2 Buffer von 2 auf 4 erhöht damit der Treiber nie auf die App warten muss, und ein select() vor dem Frame-Abruf eingebaut damit der Thread nicht unnötig CPU-Zeit frisst.


    Insgesamt merkt man eine deutlich bessere Performance und es hat bei meinem Testlauf heute auf der Autobahn quasi gar nicht mehr geruckelt. Ich will noch ein paar andere Kleinigkeiten machen (gerade mit Bezug auf die UI - aber denke irgendwann nächste Woche poste ich den ersten Release mal auf Github)

    Repo: https://github.com/jamakr4/MG4-360-Camera-App
    Issue Board: https://github.com/users/jamakr4/projects/4
    Wiki: https://github.com/jamakr4/MG4-360-Camera-App/wiki
    Milestones: https://github.com/jamakr4/MG4-360-Camera-App/milestones

    Gerade beim Wiki ändert sich relativ häufig was bzw. ich versuche das wirklich so gut zu dokumentieren wie möglich und machmal stellen sich manche Ideen dann in der Realität als nicht so toll raus wie gedacht weshalb ich sie wieder aus dem Wiki nehme.

    Edit: Fall jemand fragt: Der Entwickler will die App selber nicht mehr weiter entwickeln und ich habe die Erlaubnis seinen Code nach belieben zu verbessern..