Erfassen und Neuzuordnen eines Tastendrucks in HUniKit

Die MCU fungiert als Schnittstelle zwischen dem CAN-Bus-System deines Fahrzeugs und deinem Android-Headunit. Immer wenn eine Taste im Fahrzeug gedrückt wird, wird ein CAN-Bus-Signal erzeugt. Die MCU fängt dieses Signal ab und leitet es an Android weiter.

Jeder MCU-Hersteller verwendet ein eigenes Protokoll und ein eigenes Paketformat für die Kommunikation mit Android. Die Android-Firmware, die auf deinem Aftermarket-Headunit installiert ist, enthält einen Systemdienst, der diese Signale empfängt und sie vordefinierten Aktionen zuordnet.

Wenn eine Taste gedrückt wird, wird die entsprechende CAN-Bus-Nachricht über das Fahrzeugnetzwerk übertragen. Die MCU erfasst diese Nachricht und leitet sie mithilfe einer bestimmten Byte-Sequenz an Android weiter. Um eine Taste neu zuzuordnen, muss diese Byte-Sequenz zunächst identifiziert werden.

  1. Zunächst kann der Live-Monitor eine große Menge an irrelevanten Daten anzeigen. Diese Signale können verschiedene CAN-Bus-Nachrichten oder allgemeine Android-Hardwareereignisse darstellen. Da sie nicht mit der Taste zusammenhängen, die du neu zuordnen möchtest, sollten sie herausgefiltert werden, um das Rauschen zu reduzieren und die Analyse zu vereinfachen.
  2. Sobald der Monitor bereinigt ist, drücke die gewünschte Taste und beobachte das neu erzeugte Signal. In den meisten Fällen entspricht die erfasste Byte-Sequenz direkt dieser Taste. Beachte, dass einige MCUs separate Signale für einen Tastendruck und das Loslassen der Taste senden. In diesem Fall sollten beide Signale erfasst werden, damit sie später daran gehindert werden können, an die Firmware zurückgegeben zu werden.
  3. Füge die identifizierten Byte-Sequenzen deinem Mapper hinzu und überprüfe, ob die Anwendung die Tastenereignisse im Event-Monitor korrekt erkennt.
  4. Du kannst die Taste nun einer gewünschten Aktion neu zuordnen. Wenn die Taste sowohl ein Druck- als auch ein Loslasssignal erzeugt, weise eines davon der Aktion „Keine Aktion“ zu und ordne das andere der gewünschten Funktion zu. Dadurch werden unbeabsichtigte Nebenaktionen verhindert.