Für eine Infotainment-App: ARM Entwickler-/Ubuntu-Hilfe gesucht: Externe Sensordaten an das Infotainment übermitteln

  • Hallo zusammen,


    Vor knapp einem Jahr hat ein Entwickler (in einem US Mazda-Forum) mit Hilfe eines Microcontrollers (ARM-Cortex M3) über einen der USB-Anschlüsse externe Sensordaten an das Mazda Infotainmentsystem übermittelt, so dass diese in einer App (Speedometer) der MZD-AIO Tweaks auf dem Infotainmentdisplay angezeigt werden konnten. Bei ihm waren es Bluetooth Reifendrucksensoren, ich möchte diesen Weg gerne für die Daten der Ölsensoren verwenden. Auch andere Anwendungen wären denkbar, z.B. RGB-LEDs über eine App im Infotainmentsystem steuern, usw.


    Ihm fehlte damals ein Entwickler für die App, vor allem für das User Interface, als ich dazukam um die Apps dafür zu bauen, war er leider nirgendwo mehr erreichbar.
    Ich habe seinen Code für den Microcontroller (in C geschrieben), seine Befehle zum Kompilieren auf Ubuntu und die Toolchain, die er zum Kompilieren benutzt hat.
    Leider kenne ich mich mit Linux nur ein bisschen und mit ARM-Development und der Toolchain gar nicht aus und komme bei der Benutzung der Toolchain nicht weiter.


    Gibt es hier einen Entwickler, der sich mit ARM-Development/Toolchains unter Ubuntu auskennt und der Lust hätte, daran mitzuwirken oder zumindest mal drauf schauen würde? Hauptsächlich suche ich jemanden, der den Befehl zum Kompilieren (Punkt 3, siehe unten) versteht.


    1.) Code: https://pastebin.com/SKwfQbud?…PTKpw021yekP7NejwR-rGQXCs
    2.) Toolchain: https://github.com/jmgao/m3-to…Ba4P0jha0NeTIAHOQZ46OKElE
    3.) Befehle zum Kompilieren: https://pastebin.com/Q5ScQLyL?…k9mTHk37wNA9fva8Z6HdcvPFI


    Fragen:
    - Warum sind zum Kompilieren zwei Befehle notwendig?
    - Was hat es mit den zwei Laufwerken I und L auf sich, die in den Flags stehen?


    Wie gesagt, von demjenigen, der das schon ein mal gemacht hat, bekomme ich keine Antworten mehr, als wäre er vom Erdboden verschluckt.


    Falls jemand Interesse an einem Austausch und Zusammenarbeit hat:
    Das Microcontrollerboard (das der ursprüngliche Entwickler auch verwendet hat) kann ich bereitstellen und ich wäre auch bereit, als Dank die ein oder andere Tankfüllung springen zu lassen, wenn wir das Ganze gemeinsam zum Laufen bringen können!


    PS: Ich weiß, das Thema ist speziell, ich bitte zunächst um sachdienliche Antworten zum Thema. Weitere Diskussionen über mögliche Anwendungsbereiche usw. können wir gerne führen, sobald wir eine funktionierende Basis haben.

    »Drive it like you're sponsored.«
    | KW Variante 3 | Setup by Raeder Motorsport/Manthey Racing | OZ Formula HLT 7,5x17 ET35 | Yokohama AD08R 215/40 R17 |

  • Ich bin jetzt kein ARM entwickler, dafur kenne ich die cross compile Toolchain unter Linux ganz gut.


    Der erste Befehl übersetzt den C Code in ein object file, der zweite verlinkt es mit diversen Bibliotheken zu einen ausführbaren Programm.


    Die beiden optionen
    -I spezifiziert pfade zu C include files
    -L spezifiziert Biblitheken zum linken


    Grüsse
    W

    Gravitation ist überbewertet - Autowaschen auch ! 8o

  • Oh man, wie bin ich denn da auf Laufwerksbuchstaben gekommen? :S Bestimmt, weil I und L groß geschrieben sind, aber das dient bestimmt der Unterscheidung untereinander?


    Eure Hinweise haben mir schon mal etwas auf die Sprünge geholfen. Dann wollen wir jetzt die Tage über mal sehen, ob das mit der virtuellen Ubuntu-Maschine funktioniert. Seh ich das richtig, dass da aber noch nichts geflasht wird? Dann brauch ich noch einen Programmer?


    Das Board ist ein RedBear Duo. Grund dafür ist wohl, dass libusb notwendig ist und das mit dieser Toolchain via ARM-Cortex chip realisierbar ist.
    Für alternative Vorschläge, eine Datei in den tmp-Ordner des Infotainmentsystems zu schreiben, bin ich offen.

    »Drive it like you're sponsored.«
    | KW Variante 3 | Setup by Raeder Motorsport/Manthey Racing | OZ Formula HLT 7,5x17 ET35 | Yokohama AD08R 215/40 R17 |

  • @Torben


    Hmmm.... Ich hab mir den code mal angesehen.
    Ich glaube nicht dass der dazu gedacht ist auf einem Microcontroller Board zu laufen, sondern auf dem MZD selbst.
    Als BLE adapter verwendet der den RedBear BLE Mini um mit den Reifensensoren zu sprechen.


    Ich hab mich mit den MZD und den Tweaks selber noch garnicht beschäftigt könnte mir aber vorstellen dass das einfach so ein ARM controller mit nem embedded Linux drauf ist...


    Martin @Merten142 vielleicht ??

    Gravitation ist überbewertet - Autowaschen auch ! 8o

  • =O


    Puh, das wäre ... hm.


    Er schrieb allerdings damals: "Yes the firmware code loaded on the board is ..."
    Dann habe ich diesen Teil vielleicht von Anfang an falsch verstanden? ?(


    Das würde allerdings die Notwendigkeit einer Toolchain für das CMU erklären.



    Da erkenne ich allerdings im zweiten und dritten Link den Code wieder – und die müssten doch eigentlich für das Board sein?


    Hier ist die Quelle des Ganzen:
    https://mazda3revolution.com/f…our-cmu-infotainment.html

    »Drive it like you're sponsored.«
    | KW Variante 3 | Setup by Raeder Motorsport/Manthey Racing | OZ Formula HLT 7,5x17 ET35 | Yokohama AD08R 215/40 R17 |

  • Alles drei ist für den Microcontroller denke ich.
    Der Tweak (Code) für das MZD fehlt.


    Ich habe den Thread mal überflogen.
    Er hat einen Testcode in C der die Daten vom board ausliest und in eine Textdatei schreibt. Dann wird ewig über Integration in AA oder Speedometer geschwaffelt. Mir fehlt leider die Zeit mich da durch zu ackern. Mag sein das alle benötigten Programme im Thread enthalten sind, erschließt sich aber nicht auf Anhieb.


    Helfen würde wahrscheinlich wenn man wüsste wie speedometer an die Fahrzeugdaten kommt, den das Board benutzt eine ähnliche Methode.

    Einmal editiert, zuletzt von Merten142 ()

  • Hab ich also doch richtig verstanden, oder? Der Microcontroller sagt dem MZD er ist ein libusb HCI USB CDC Gerät und darf dann die Datei in den tmp-Ordner schreiben.


    Auf diese Datei kann dann jede App des MZD zugreifen.


    Am Wochenende setz ich mich an die virtuelle Ubuntu-Maschine und versuche da mal weiter zu kommen.

    »Drive it like you're sponsored.«
    | KW Variante 3 | Setup by Raeder Motorsport/Manthey Racing | OZ Formula HLT 7,5x17 ET35 | Yokohama AD08R 215/40 R17 |