# This section is mandatory. Populate all fields with accessory-specific info. [accessory] name=BMW RaHo model=F20-NBTEvo-0716 manufacturer=BMW serial=2580731 firmware_version=NBTevo_J16081A hardware_version=D4 current_language=en supported_languages=en,fr # This section describes the transport to the Apple device. [transport] name=Lightning Connector id=1234 # This section describes parameters for the link which will override the default values # maxretries: max number of retries if command is not acknowledged # retrytimeout: time to wait for an acknowledgement (ms) [link] retrytimeout=2000 maxoutpkts=10 maxacks=5 acktimeout=22 acktimeoutprio=30 maxpktsize=32768 # This section handles options for Application Launch. [applaunch] enable=yes # This section handles options for the Bluetooth Connection Status # mac: The mac address that is paired to the Apple device (IAP2_BT_STATUS_MAC_ADDR environment variable will be used first) # connectstatus: The initial connection status sent to the device. This can be controlled via API after connection. ;[bluetooth] ;enable=yes ;id=1111 ;name=Bluetooth ;connectstatus=enable ;mac=9C:DF:03:BF:84:9C # This section handles options for the WiFi Connection Status # id mandatory if enabled # name mandatory if enabled # SSID mandatory if enabled # SecurityType optional accepted values are "None"/"0", "WEP"/"1", "WPA2"/"WPA2 Personal"/2 # BSSID optional It is blob in Hex # Passphrase optional # Channel optional # carplay optional [WiFi] enable=yes id=2222 carplay=yes name=BMW RaHo ;BSSID=48a9d2ba070b SSID=BMW34567 CarPlay Passphrase=123456780 SecurityType=WPA2 Channel=11 # This section handles options for USB Device Mode audio. # Mandatory rates: 32000,44100,48000 # Optional rates: 8000,11025,12000,16000,22050,24000 # autostart: driver will automatically request device to stream audio during initialization ;[devaudio] ;enable=yes ;rates=32000,44100,48000 ;autostart=yes # This section handles options for Media Library Sync. # syncbufsize: Internal buffer size for sync. The driver will stop and resume if the internal buffer is full. # syynccompletetimeout (ms): Simulate a sync complete if there has not been any media update after X ms. # syncafterstop: Keep background sync active to allow future media library updates; published to PPS [medialib] enable=no ;syncbufsize=131072 ;synccompletetimeout=2000 ;syncafterstop=yes # This section handles options for the NowPlaying attributes to be published to PPS. # metadata: Track attributes to be published. # playback: Playback state attributes to be published. [nowplaying] enable=yes metadata=PersistentIdentifier,Title,PlaybackDurationInMilliseconds,AlbumTitle,AlbumTrackNumber,AlbumTrackCount,AlbumDiscNumber,AlbumDiscCount,Artist,Genre,Composer,ArtworkFileTransferIdentifier,IsLikeSupported,IsBanSupported,IsLiked,IsBanned,ChapterCount playback=Status,ElapsedTimeInMilliseconds,QueueIndex,QueueCount,QueueChapterIndex,ShuffleMode,RepeatMode,AppName,MediaLibraryUniqueIdentifier,SetElapsedTimeAvailable,AppBundleID,iTunesRadioAd,iTunesRadioStationName,iTunesRadioStationMediaPlaylistPersistentID,Speed,QueueListAvail,QueueListTransferID # This section handles options for Location. # types: Types of NMEA sentences that the accessory can provide [location] enable=yes name=Location id=1234 types=GPGGA,GPRMC,PASCD ;types=GPGGA,GPRMC,GPGSV,PASCD,PAGCD,PAACD,GPHDT # This section handles options for External Accessory Protocol. # protocol=Application protocol string # nativeprotocol=Native Application protocol string # match: # 0=The device will not attempt to find a matching app, but no button is present # 1=The device will attempt to find a matching app but a button is present # 2=The device will not attempt to find a matching app, but a button is present # appmatchID: Preferred application # maxbufsize: Buffer size for receiving data for each protocol [eap] enable=yes ;protocol=com.bmw.carplay,match::0 ;protocol=com.qnx.echoserver,match::1 ;protocol=com.qnx.eatest,match::2 ;nativeprotocol=com.qnx.eatest,match::2 ;appmatchID=com.qnx.EADemo maxbufsize=32768 multisessionperprotocol=no ppsprotocoldir=/pps/config/iap2/protocols/ # This section handles options for the Power feature. # charge: Charge battery when connected # current: Amount of current available for the iPod (0, 1000, 2100, 2400) # types: Types of information to request from the device [power] enable=yes provide=no charge=no current=0 ;types=MaximumCurrentDrawnFromAccessory,DeviceBatteryWillChargeIfPowerIsPresent,AccessoryPowerMode,IsExternalChargerConnected,BatteryChargingState,BatteryChargeLevel types=BatteryChargeLevel # This section handles options for the Telephony feature. [communications] enable=yes # This section handles options for the POI handover. [destination] enable=yes # This section handles options for the Vehicle information feature. # infoengine: Type(s) of engine - gasoline,electric,diesel,cng # statustypes: Types of vehicle info that the accessory can provide [vehicle] enable=yes displayname=BMW mapsdisplayname=BMW Map ;siriname=Paul status=no infoid=3333 infoname=Vehicle Information ;infoengine=gasoline,electric,diesel,cng ;statusid=1234 ;statusname=Vehicle Status ;statustypes=range,outsidetemp,rangewarn # This section handles options custom HID interfaces. # mediaremote: The internal driver Media Remote HID - can be customized # component=name::,function:: # nativecomponent=name::,function::,interface:: ;[hid] ;vendorid=0x05AC ;deviceid=0x0001 ;mediaremote=play,pause,next,prev,shuffle,repeat,bookspeedreg,bookspeedinc,bookspeeddec,playpause ;component=name::USB Keyboard,function::0 ;component=name::Steering Wheel Media Playback Remote,function::1 ;component=name::AssistiveTouch Joystick,function::2 ;component=name::Standard Gamepad,function::3 ;component=name::Form-Fitting Extended Gamepad,function::4 ;component=name::Non Form-Fitting Extended Gamepad,function::6 ;component=name::Switch Control,function::7 ;nativecomponent=name::Playback Remote,function::1,interface::1 # This section handles various workarounds. # btstatusdelay: Add a delay before sending StartBluetoothConnectionUpdates to workaround the Apple device becoming unresponsive. ;[workarounds] ;btstatusdelay=yes # As part of Apple certification, you must demonstrate a use case for any APIs that are enabled. # By default, they are all enabled. You should disable any APIs that you do not use by setting the desired API(s) to 'no’. #[commands] #iap2_medialib_play_resume=yes #iap2_medialib_play_collection=yes #iap2_medialib_play_tracks=yes #iap2_medialib_play_all=yes #iap2_nowplay_set=yes # This section handles PPS overrides for certain values in this config file. # If you specify a pps attribute here, the driver will use it in place of the value specified in this config file. # value=@ #[ppsoverrides] #name=name@/pps/services/hwinfo/status #model=model@/pps/services/hwinfo/status #manufacturer=manufacturer@/pps/services/hwinfo/status #serial=serial@/pps/services/hwinfo/status #firmware_version=firmware_version@/pps/services/hwinfo/status #hardware_version=hardware_version@/pps/services/hwinfo/status #current_language=current_language@/pps/services/hwinfo/status #supported_languages=supported_languages@/pps/services/hwinfo/status #btconnectstatus=btconnectstatus@/pps/services/bluetooth/stat