Skip to content

Configuration Samples

smellykid101 edited this page Jun 23, 2016 · 29 revisions

Configuration Samples

Share your config!

Please edit this wiki page to add you own successful configuration...

2003 Jeep Grand Cherokee (theksmith)

  • Use: I use the factory steering wheel mounted stereo buttons to control a XOOM tablet configured as a carputer (completely replaced the factory head unit). More details here...

  • Physical Connection: Originally just on the factory OBD2 port, then later I attached the OBD2 adapter's J1850 VPW signal pin directly to the "Chrysler PCI Data" wire found in the radio harness so that I could have the ODB2 dongle with my other carputer electronics and not need to run an OBD2 extension cable (which also keeps the factory diagnostic port open for getting emissions checkups).

  • OBD2 Interface Startup Commands: Basically I just set the protocol to J1850 VPW for the Chrysler PCI bus and then monitor for any messages sent to the original radio which was node ID 11 - ATWS; ATL0; ATE0; ATS1; ATH1; ATSP2; ATMR11;

  • Car Interface Monitors:

  • left center button = pause/play, quick double-tap = recent apps screen: 3D 11 00 80 C8 | false | 120 | 30 | 100 | 300 | *BUTTON_ROOT=KEYCODE_MEDIA_PLAY_PAUSE | *BUTTON_ROOT=KEYCODE_APP_SWITCH

  • left up button = next track: 3D 11 20 00 9B | false | 120 | 60 | 0 | 0 | *BUTTON_ROOT=KEYCODE_MEDIA_NEXT |

  • left down button = previous track: 3D 11 10 00 5A | false | 120 | 60 | 0 | 0 | *BUTTON_ROOT=KEYCODE_MEDIA_PREVIOUS |

  • right center button single press = home screen, quick double-tap = switch to last app: 3D 11 00 02 D4 | false | 120 | 30 | 100 | 300 | *BUTTON_ROOT=KEYCODE_HOME | *LAST_APP

  • right up button = volume increase: 3D 11 04 00 C3 | false | 120 | 60 | 0 | 0 | *VOLUME=UP |

  • right down button = volume decrease: 3D 11 02 00 76 | false | 120 | 60 | 0 | 0 | *VOLUME=DOWN |

2001 Chrysler 300m (nokes)

  • Use: I use the factory steering wheel mounted controls to control my LG Optimus L5 running stock Android 4.1.2 as a media player. (UPDATE: Also works with Moto G 2nd Generation)

  • Physical Connection: Just on the factory OBD2 port using an inexpensive Bluetooth OBD2 dongle.

  • OBD2 Interface Startup Commands: I just used the default settings, which I assume was node ID 11 - ATWS; ATL0; ATE0; ATS1; ATH1; ATSP2; ATMR11;

  • Car Interface Monitors: Using BUTTON_ROOT constants didn't work for me (even with my Rooted LG), so I used MEDIA_BUTTON constants instead.

  • left center button = pause/play: 3D 11 00 80 C8 | false | 120 | 60 | 0 | 0 | *MEDIA_BUTTON=KEYCODE_MEDIA_PLAY_PAUSE |

  • left up button = next track: 3D 11 20 00 9B | false | 120 | 60 | 0 | 0 | *MEDIA_BUTTON=KEYCODE_MEDIA_NEXT |

  • left down button = previous track: 3D 11 10 00 5A | false | 120 | 60 | 0 | 0 | *MEDIA_BUTTON=KEYCODE_MEDIA_PREVIOUS |

  • right center button = I had errors trying to configure this (maybe I didn't understand the syntax.) a single tap and a double tap both stop media: 3D 11 00 02 D4 | false | 120 | 30 | 0 | 0 | *MEDIA_BUTTON=KEYCODE_MEDIA_PAUSE |

2008 VW Rabbit (Midline) (SmellyKid101)

  • Use: I use a 12 button multi-function steering wheel swapped in from a mk6 GLI to control a Nexus 7 2013 tablet powered by Timur's Kernal (LP 5.1.1) which has completely replaced the factory head unit.

  • Physical Connection: Arduino Nano (ATmega328, CH340) with MCP2515 CanBus, HC-06 bluetooth and ESP8266 WiFi modules. CanBus is obtained from behind the radio, on the infotainment bus, and filtered to only monitor canbus ID 5C1 and returns the raw hex, over bluetooth, for all messages associated with that ID. Side Note: I'm hoping to figure out a way to alter the code for choosing bluetooth or usb monitoring for reduced latency and increased audience.

  • Startup Commands: Since the arduino takes care of filtering messages on the ID 5C1, the only startup command sent to the arduino from the app is AT;. The response is: OK\r\n from the arduino. I also hacked up the source code to monitor for 12 buttons instead of 10 and named each one to their corresponding picture.

  • Car Interface Monitors:

  • Phone button (left controls) = play/pause, long press = open spotify and current song: 1a 00 00 60 | false | 200 | 50 | 300 | 301 | *BUTTON_ROOT=KEYCODE_MEDIA_PLAY_PAUSE | su -c am start com.spotify.music; sleep 1; su -c input tap 300 1000

  • Right arrow (left controls) = next song, long press = swipe from right edge: 02 00 00 60 | false | 200 | 50 | 300 | 301 | *BUTTON_ROOT=KEYCODE_MEDIA_NEXT | su -c input swipe 1919 600 1550 600

  • Left arrow (left controls) = previous song, long press = swipe from left edge: 03 00 00 60 | false | 200 | 50 | 300 | 301 | *BUTTON_ROOT=KEYCODE_MEDIA_PREVIOUS | su -c input swipe 0 600 350 600

  • Increase button (left controls) = volume up, long press = swipe from top edge: 06 00 00 60 | false | 50 | 50 | 250 | 251 | *VOLUME=UP | su -c input swipe 960 0 960 350

  • Decrease button (left controls) = volume down, long press = swipe from bottom edge: 07 00 00 60 | false | 50 | 50 | 250 | 251 | *VOLUME=DOWN | su -c input swipe 960 1000 960 450

  • Microphone button (left controls) = context menu, long press = open voice assist intent: 2a 00 00 60 | false | 200 | 50 | 300 | 301 | *BUTTON_ROOT=KEYCODE_MENU | *BUTTON_ROOT=KEYCODE_VOICE_ASSIST

  • Ok button (right controls) = enter, long press = open search intent: 28 00 00 60 | false | 200 | 50 | 300 | 301 | *BUTTON_ROOT=KEYCODE_ENTER | *BUTTON_ROOT=KEYCODE_SEARCH

  • Next page button (right controls) = right dpad, long press = swipe from the right: 48 00 00 60 | false | 50 | 50 | 250 | 251 | *BUTTON_ROOT=KEYCODE_DPAD_RIGHT | su -c input swipe 1300 600 600 600

  • Previous page button (right controls) = left dpad, long press = swipe from the left: 47 00 00 60 | false | 50 | 50 | 250 | 251 | *BUTTON_ROOT=KEYCODE_DPAD_LEFT | su -c input swipe 600 600 1300 600

  • Up arrow (right controls) = up dpad, long press = swipe from the top: 22 00 00 60 | false | 50 | 50 | 250 | 251 | *BUTTON_ROOT=KEYCODE_DPAD_UP | su -c input swipe 960 350 960 850

  • Down arrow (right controls) = down dpad, long press = swipe from the bottom: 23 00 00 60 | false | 50 | 50 | 250 | 251 | *BUTTON_ROOT=KEYCODE_DPAD_DOWN | su -c input swipe 960 850 960 350

  • Return button (right controls) = go back, long press = show running apps: 29 00 00 60 | false | 250 | 50 | 300 | 301 | *BUTTON_ROOT=KEYCODE_BACK | *BUTTON_ROOT=KEYCODE_APP_SWITCH