This is a collection of helper utilities for interacting with the BMW/Mini IDrive, including the IDrive Etch protocol definition and convenience classes for building RHMI applications.
Each phone app communicates to the IDrive with the Apache Etch RPC protocol. This library contains an IDL definition of this protocol, and automatically builds the Etch proxy objects for ready consumption by the main application.
Each IDrive RHMI application has a XML UI Description of the widget layout that is sent to the car. This library provides parsing of this widget layout into high-level objects that can be interacted with, in a disconnected fashion or connected to a live car. Each UI component is conveniently linked to any related models and action handlers.
These widget objects can also be constructed manually, for testing purposes.
After parsing the UI Description into high-level widgets, action and event handlers can be attached to each object, ready for easy dispatching from the Etch callback receiver.
Check out some of the example applications!