<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.meego.com/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.meego.com/index.php?title=Special:Contributions/Jsbach86&amp;feed=atom&amp;limit=50&amp;target=Jsbach86&amp;year=&amp;month=</id>
		<title>MeeGo wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.meego.com/index.php?title=Special:Contributions/Jsbach86&amp;feed=atom&amp;limit=50&amp;target=Jsbach86&amp;year=&amp;month="/>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Special:Contributions/Jsbach86"/>
		<updated>2013-05-22T08:11:54Z</updated>
		<subtitle>From MeeGo wiki</subtitle>
		<generator>MediaWiki 1.16.2</generator>

	<entry>
		<id>http://wiki.meego.com/In-vehicle/Roadmap/Vehicle_Network_API</id>
		<title>In-vehicle/Roadmap/Vehicle Network API</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/In-vehicle/Roadmap/Vehicle_Network_API"/>
				<updated>2011-07-13T08:08:03Z</updated>
		
		<summary type="html">&lt;p&gt;Jsbach86: /* SDK Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== IVI Architecture for embedding CAN Network ==&lt;br /&gt;
=== Main Purpose ===&lt;br /&gt;
Accessing vehicle network to obtain vehicle data and to control certain vehicle functionalities is the essential feature of IVI system.&lt;br /&gt;
&lt;br /&gt;
=== Possible Use Cases ===&lt;br /&gt;
* Smart Drive-Thu : Franchised restaurants can provide App, which finds nearby restaurant and helps to select menu and place order. It may set the destination of navigation to it automatically, and report the order and expected arrival time to the  restaurants.&lt;br /&gt;
* Pay-As-You-Drive : Insurance companies can provide App, which reports the driver’s driving habits with his consent. The data can be used to discount insurance fee.&lt;br /&gt;
* Smart Routing Navigation : A driver can download the premium navigation App. It may provide server-based routing, which can perform complicated computation by using many conditions such as statistical data, current traffic status and traffic demands when the car will pass by the road. The reliable data can be collected by cars which use the navigation App.&lt;br /&gt;
* The more data we open to the public, the more convenient applications can be developed. It’s the key to make so-called ‘Smart Car’.&lt;br /&gt;
&lt;br /&gt;
=== Overview of the plan ===&lt;br /&gt;
We plan to make the standardized interface using D-Bus and Qt IVI package&lt;br /&gt;
* '''D-Bus''' need to be standardized for realizing security framework for user application. MeeGo is using the security mechanism based on D-Bus.&lt;br /&gt;
* '''Qt IVI package''' will provide convenience to App developers by Qt characteristics such as ‘signal slot mechanism’ and ‘cross-platform’.&lt;br /&gt;
&lt;br /&gt;
== Candidate Architecture ==&lt;br /&gt;
=== Architecture Proposal ===&lt;br /&gt;
&lt;br /&gt;
[[File:MeeGoIVI_Arch1.jpg|MeeGo IVI Architectures according to two popular system configurations]]&lt;br /&gt;
&lt;br /&gt;
CAN is being used widely for IVI. The diagrams above are two popular system configurations. Because of the real-time requirements about CAN communication, Configuration #1 is more preferred even though it costs more.&lt;br /&gt;
&lt;br /&gt;
There're a few commercial CAN stacks. It's not only CAN chipset driver, but it also includes more functions such as filtering and parsing messages. Since each OEMs uses its own CAN messages, CAN stack is OEM-specific part and seems not easy to be standardized.&lt;br /&gt;
&lt;br /&gt;
'''CAN Adapter''' communicates with CAN stack and delivers it on the specific D-Bus. It translates OEM specific messages to standardized D-Bus objects. It’s a just mapping or simple conversion, thus it’ll not be so difficult if we define D-Bus standard well-aligned with the existing OEM messages.&lt;br /&gt;
&lt;br /&gt;
In the case of configuration #1, SPI or UART is used for communication between Host CPU and MICOM. In normal, OEMs use their own protocol for this communication. In the case of configuration #2,  CAN Adapter and stack will be merged into one process.&lt;br /&gt;
This approach allows OEM not to change many critical parts such as their own CAN messages or hardware configuration to adopt MeeGo. The only thing they have to do is delivering its own vehicle data on the D-Bus as standardized format.&lt;br /&gt;
&lt;br /&gt;
'''Qt IVI''' is a package of libraries related to IVI. Car-System is a library to provide user application to access vehicle functionality via Qt style APIs. Although user application can access D-Bus directly, the library can help lightened the load of D-Bus coding. Furthermore, it provides convenience of Qt such as ‘signal slot mechanism’ and ‘cross-platform’.&lt;br /&gt;
&lt;br /&gt;
=== Another Possible Structure for after market IVI ===&lt;br /&gt;
[[File:MeeGoIVI_Arch2.jpg|MeeGo IVI can be used when using OBD dongle for accessing vehicle network]]&lt;br /&gt;
&lt;br /&gt;
It’s for the After-Market IVI system. In this case, IVI system can access vehicle data via OBD dongle. &lt;br /&gt;
Usually, OBD dongle provides vehicle data via wireless such as Bluetooth.&lt;br /&gt;
In this case, CAN Adapter should have a functionality to communicate with OBD Dongle. It may use the existing BT stack to BT communication and  add functions on the BT profile level.&lt;br /&gt;
&lt;br /&gt;
=== Consideration for interoperability with GENIVI ===&lt;br /&gt;
[[File:MeeGoIVI_Arch3.jpg|Consideration for interoperability with GENIVI]]&lt;br /&gt;
&lt;br /&gt;
GENIVI plans to standardize the infrastructure to interconnect 'Host CPU' and 'MICOM' including CAN communication in the configuration #1.&lt;br /&gt;
That either D-Bus or Qt IVI or both could be implemented on top of this infrastructure.&lt;br /&gt;
We need to keep working closely with GENIVI to align with it.&lt;br /&gt;
&lt;br /&gt;
== SDK Architecture ==&lt;br /&gt;
[[File:MeeGoIVI_Arch_SDK.jpg|To help App. Developer working without real CAN network]]&lt;br /&gt;
&lt;br /&gt;
Open platform should consider the development environment for public developers when designing its architecture. Especially, accessing vehicle network is difficult part for developers because it’s hard to test it without expensive simulation equipment.&lt;br /&gt;
Thus, convenient simulation environment is important to encourage developers to develop various IVI Apps.&lt;br /&gt;
&lt;br /&gt;
The suggested architecture can satisfy this requirement by providing '''CAN Adapter Emulator''' and '''Car Emulator'''.&lt;br /&gt;
User can send and receive vehicle data by using Car Emulator. It doesn’t need to use real CAN type message. The purpose of SDK is to provide convenience to App Developer not CAN Adapter developer. An App developer is interested in whether his App can work as he intended or not when a certain vehicle data comes.&lt;br /&gt;
Even so, the CAN Adapter developer can refer CAN Adapter Emulator code to make a real one.&lt;br /&gt;
&lt;br /&gt;
CAN Adapter Emulator and Car Emulator use TCP/IP. It can make Car Emulator work both in the same PC and in another PC without changing code.&lt;br /&gt;
The first one is the usual App development environment for single developer. The second one using additional laptop can help to test or demonstrate an entire IVI system without connecting to the real vehicle. The third one is for developer who works on Non-Linux OS. Since Qt provides cross-platform environment, it’s also possible model on the assumption that we makes windows or Mac version of Qt IVI package.&lt;/div&gt;</summary>
		<author><name>Jsbach86</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/In-vehicle/Roadmap/Vehicle_Network_API</id>
		<title>In-vehicle/Roadmap/Vehicle Network API</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/In-vehicle/Roadmap/Vehicle_Network_API"/>
				<updated>2011-07-13T07:22:51Z</updated>
		
		<summary type="html">&lt;p&gt;Jsbach86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== IVI Architecture for embedding CAN Network ==&lt;br /&gt;
=== Main Purpose ===&lt;br /&gt;
Accessing vehicle network to obtain vehicle data and to control certain vehicle functionalities is the essential feature of IVI system.&lt;br /&gt;
&lt;br /&gt;
=== Possible Use Cases ===&lt;br /&gt;
* Smart Drive-Thu : Franchised restaurants can provide App, which finds nearby restaurant and helps to select menu and place order. It may set the destination of navigation to it automatically, and report the order and expected arrival time to the  restaurants.&lt;br /&gt;
* Pay-As-You-Drive : Insurance companies can provide App, which reports the driver’s driving habits with his consent. The data can be used to discount insurance fee.&lt;br /&gt;
* Smart Routing Navigation : A driver can download the premium navigation App. It may provide server-based routing, which can perform complicated computation by using many conditions such as statistical data, current traffic status and traffic demands when the car will pass by the road. The reliable data can be collected by cars which use the navigation App.&lt;br /&gt;
* The more data we open to the public, the more convenient applications can be developed. It’s the key to make so-called ‘Smart Car’.&lt;br /&gt;
&lt;br /&gt;
=== Overview of the plan ===&lt;br /&gt;
We plan to make the standardized interface using D-Bus and Qt IVI package&lt;br /&gt;
* '''D-Bus''' need to be standardized for realizing security framework for user application. MeeGo is using the security mechanism based on D-Bus.&lt;br /&gt;
* '''Qt IVI package''' will provide convenience to App developers by Qt characteristics such as ‘signal slot mechanism’ and ‘cross-platform’.&lt;br /&gt;
&lt;br /&gt;
== Candidate Architecture ==&lt;br /&gt;
=== Architecture Proposal ===&lt;br /&gt;
&lt;br /&gt;
[[File:MeeGoIVI_Arch1.jpg|MeeGo IVI Architectures according to two popular system configurations]]&lt;br /&gt;
&lt;br /&gt;
CAN is being used widely for IVI. The diagrams above are two popular system configurations. Because of the real-time requirements about CAN communication, Configuration #1 is more preferred even though it costs more.&lt;br /&gt;
&lt;br /&gt;
There're a few commercial CAN stacks. It's not only CAN chipset driver, but it also includes more functions such as filtering and parsing messages. Since each OEMs uses its own CAN messages, CAN stack is OEM-specific part and seems not easy to be standardized.&lt;br /&gt;
&lt;br /&gt;
'''CAN Adapter''' communicates with CAN stack and delivers it on the specific D-Bus. It translates OEM specific messages to standardized D-Bus objects. It’s a just mapping or simple conversion, thus it’ll not be so difficult if we define D-Bus standard well-aligned with the existing OEM messages.&lt;br /&gt;
&lt;br /&gt;
In the case of configuration #1, SPI or UART is used for communication between Host CPU and MICOM. In normal, OEMs use their own protocol for this communication. In the case of configuration #2,  CAN Adapter and stack will be merged into one process.&lt;br /&gt;
This approach allows OEM not to change many critical parts such as their own CAN messages or hardware configuration to adopt MeeGo. The only thing they have to do is delivering its own vehicle data on the D-Bus as standardized format.&lt;br /&gt;
&lt;br /&gt;
'''Qt IVI''' is a package of libraries related to IVI. Car-System is a library to provide user application to access vehicle functionality via Qt style APIs. Although user application can access D-Bus directly, the library can help lightened the load of D-Bus coding. Furthermore, it provides convenience of Qt such as ‘signal slot mechanism’ and ‘cross-platform’.&lt;br /&gt;
&lt;br /&gt;
=== Another Possible Structure for after market IVI ===&lt;br /&gt;
[[File:MeeGoIVI_Arch2.jpg|MeeGo IVI can be used when using OBD dongle for accessing vehicle network]]&lt;br /&gt;
&lt;br /&gt;
It’s for the After-Market IVI system. In this case, IVI system can access vehicle data via OBD dongle. &lt;br /&gt;
Usually, OBD dongle provides vehicle data via wireless such as Bluetooth.&lt;br /&gt;
In this case, CAN Adapter should have a functionality to communicate with OBD Dongle. It may use the existing BT stack to BT communication and  add functions on the BT profile level.&lt;br /&gt;
&lt;br /&gt;
=== Consideration for interoperability with GENIVI ===&lt;br /&gt;
[[File:MeeGoIVI_Arch3.jpg|Consideration for interoperability with GENIVI]]&lt;br /&gt;
&lt;br /&gt;
GENIVI plans to standardize the infrastructure to interconnect 'Host CPU' and 'MICOM' including CAN communication in the configuration #1.&lt;br /&gt;
That either D-Bus or Qt IVI or both could be implemented on top of this infrastructure.&lt;br /&gt;
We need to keep working closely with GENIVI to align with it.&lt;br /&gt;
&lt;br /&gt;
== SDK Architecture ==&lt;br /&gt;
[[File:MeeGoIVI_Arch_SDK.jpg|To help App. Developer working without real CAN network]]&lt;br /&gt;
&lt;br /&gt;
Open platform should consider the development environment for public developers when designing its architecture. Especially, accessing vehicle network is difficult part for developers because it’s hard to test it without expensive simulation equipment.&lt;br /&gt;
Thus, convenient simulation environment is important to encourage developers to develop various IVI Apps.&lt;br /&gt;
&lt;br /&gt;
The suggested architecture can satisfy this requirement by providing '''CAN Adapter Emulator''' and '''Car Emulator'''.&lt;br /&gt;
User can send and receive vehicle data by using Car Emulator. It doesn’t need to use real CAN type message. The purpose of SDK is to provide convenience to App Developer not CAN Adapter developer. An App developer is interested in whether his App can work as he intended or not when a certain vehicle data comes.&lt;br /&gt;
Even so, the CAN Adapter developer can refer CAN Adapter Emulator code to make a real one.&lt;br /&gt;
&lt;br /&gt;
Can Adapter Emulator and Car Emulator use TCP/IP. It can make Car Emulator work both in the same PC and in another PC without changing code.&lt;br /&gt;
The first one is the usual App development environment for single developer. The second one using additional laptop can help to test or demonstrate an entire IVI system without connecting to the real vehicle. The third one is for developer who works on Non-Linux OS. Since Qt provides cross-platform environment, it’s also possible model on the assumption that we makes windows or Mac version of Qt IVI package.&lt;/div&gt;</summary>
		<author><name>Jsbach86</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/File:MeeGoIVI_Arch_SDK.jpg</id>
		<title>File:MeeGoIVI Arch SDK.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/File:MeeGoIVI_Arch_SDK.jpg"/>
				<updated>2011-07-13T07:07:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jsbach86: MeeGo IVI SDK Architecture&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MeeGo IVI SDK Architecture&lt;/div&gt;</summary>
		<author><name>Jsbach86</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/File:MeeGoIVI_Arch3.jpg</id>
		<title>File:MeeGoIVI Arch3.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/File:MeeGoIVI_Arch3.jpg"/>
				<updated>2011-07-13T07:07:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jsbach86: Consideration for interoperability with GENIVI&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Consideration for interoperability with GENIVI&lt;/div&gt;</summary>
		<author><name>Jsbach86</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/File:MeeGoIVI_Arch2.jpg</id>
		<title>File:MeeGoIVI Arch2.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/File:MeeGoIVI_Arch2.jpg"/>
				<updated>2011-07-13T07:06:32Z</updated>
		
		<summary type="html">&lt;p&gt;Jsbach86: Another Possible Architecture for after market IVI&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Another Possible Architecture for after market IVI&lt;/div&gt;</summary>
		<author><name>Jsbach86</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/File:MeeGoIVI_Arch1.jpg</id>
		<title>File:MeeGoIVI Arch1.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/File:MeeGoIVI_Arch1.jpg"/>
				<updated>2011-07-13T07:05:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jsbach86: MeeGo IVI Architecture according to two popular system configurations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MeeGo IVI Architecture according to two popular system configurations&lt;/div&gt;</summary>
		<author><name>Jsbach86</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/In-vehicle/Roadmap/Vehicle_Network_API</id>
		<title>In-vehicle/Roadmap/Vehicle Network API</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/In-vehicle/Roadmap/Vehicle_Network_API"/>
				<updated>2011-07-13T06:34:10Z</updated>
		
		<summary type="html">&lt;p&gt;Jsbach86: Created page with &amp;quot;== IVI Architecture for embedding CAN Network == === Why we’re going to do this? === Accessing vehicle network to obtain vehicle data and to control certain vehicle functionali...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== IVI Architecture for embedding CAN Network ==&lt;br /&gt;
=== Why we’re going to do this? ===&lt;br /&gt;
Accessing vehicle network to obtain vehicle data and to control certain vehicle functionalities is the essential feature of IVI system.&lt;br /&gt;
&lt;br /&gt;
=== Possible Use Cases ===&lt;br /&gt;
* Smart Drive-Thu : Franchised restaurants can provide App, which finds nearby restaurant and helps to select menu and place order. It may set the destination of navigation to it automatically, and report the order and expected arrival time to the  restaurants.&lt;br /&gt;
* Pay-As-You-Drive : Insurance companies can provide App, which reports the driver’s driving habits with his consent. The data can be used to discount insurance fee.&lt;br /&gt;
* Smart Routing Navigation : A driver can download the premium navigation App. It may provide server-based routing, which can perform complicated computation by using many conditions such as statistical data, current traffic status and traffic demands when the car will pass by the road. The reliable data can be collected by cars which use the navigation App.&lt;br /&gt;
* The more data we open to the public, the more convenient applications can be developed. It’s the key to make so-called ‘Smart Car’.&lt;br /&gt;
&lt;br /&gt;
=== How to enable applications to access vehicle network? ===&lt;br /&gt;
We plan to make the standardized interface using D-Bus and Qt IVI package&lt;br /&gt;
* '''D-Bus''' need to be standardized for realizing security framework for user application. MeeGo is using the security mechanism based on D-Bus.&lt;br /&gt;
* '''Qt IVI package''' will provide convenience to App developers by Qt characteristics such as ‘signal slot mechanism’ and ‘cross-platform’.&lt;br /&gt;
&lt;br /&gt;
== Candidate Architecture ==&lt;br /&gt;
&lt;br /&gt;
CAN is being used widely for IVI. The diagrams above are two popular system configurations. Because of the real-time requirements about CAN communication, Configuration #1 is more preferred even though it costs more.&lt;br /&gt;
&lt;br /&gt;
There're a few commercial CAN stacks. It's not only CAN chipset driver, but it also includes more functions such as filtering and parsing messages. Since each OEMs uses its own CAN messages, CAN stack is OEM-specific part and seems not easy to be standardized.&lt;br /&gt;
&lt;br /&gt;
'''CAN Adapter''' communicates with CAN stack and delivers it on the specific D-Bus. It translates OEM specific messages to standardized D-Bus objects. It’s a just mapping or simple conversion, thus it’ll not be so difficult if we define D-Bus standard well-aligned with the existing OEM messages.&lt;br /&gt;
&lt;br /&gt;
In the case of configuration #1, SPI or UART is used for communication between Host CPU and MICOM. In normal, OEMs use their own protocol for this communication. In the case of configuration #2,  CAN Adapter and stack will be merged into one process.&lt;br /&gt;
This approach allows OEM not to change many critical parts such as their own CAN messages or hardware configuration to adopt MeeGo. The only thing they have to do is delivering its own vehicle data on the D-Bus as standardized format.&lt;br /&gt;
&lt;br /&gt;
'''Qt IVI''' is a package of libraries related to IVI. Car-System is a library to provide user application to access vehicle functionality via Qt style APIs. Although user application can access D-Bus directly, the library can help lightened the load of D-Bus coding. Furthermore, it provides convenience of Qt such as ‘signal slot mechanism’ and ‘cross-platform’.&lt;br /&gt;
&lt;br /&gt;
=== Another Possible Structure for after market IVI ===&lt;br /&gt;
&lt;br /&gt;
It’s for the After-Market IVI system. In this case, IVI system can access vehicle data via OBD dongle. &lt;br /&gt;
Usually, OBD dongle provides vehicle data via wireless such as Bluetooth.&lt;br /&gt;
In this case, CAN Adapter should have a functionality to communicate with OBD Dongle. It may use the existing BT stack to BT communication and  add functions on the BT profile level.&lt;br /&gt;
&lt;br /&gt;
=== Consideration for interoperability with GENIVI ===&lt;br /&gt;
&lt;br /&gt;
GENIVI plans to standardize the infrastructure to interconnect 'Host CPU' and 'MICOM' including CAN communication in the configuration #1.&lt;br /&gt;
That either D-Bus or Qt IVI or both could be implemented on top of this infrastructure.&lt;br /&gt;
We need to keep working closely with GENIVI to align with it.&lt;br /&gt;
&lt;br /&gt;
== SDK Architecture ==&lt;br /&gt;
&lt;br /&gt;
Open platform should consider the development environment for public developers when designing its architecture. Especially, accessing vehicle network is difficult part for developers because it’s hard to test it without expensive simulation equipment.&lt;br /&gt;
Thus, convenient simulation environment is important to encourage developers to develop various IVI Apps.&lt;br /&gt;
&lt;br /&gt;
The suggested architecture can satisfy this requirement by providing '''CAN Adapter Emulator''' and '''Car Emulator'''.&lt;br /&gt;
User can send and receive vehicle data by using Car Emulator. It doesn’t need to use real CAN type message. The purpose of SDK is to provide convenience to App Developer not CAN Adapter developer. An App developer is interested in whether his App can work as he intended or not when a certain vehicle data comes.&lt;br /&gt;
Even so, the CAN Adapter developer can refer CAN Adapter Emulator code to make a real one.&lt;br /&gt;
&lt;br /&gt;
Can Adapter Emulator and Car Emulator use TCP/IP. It can make Car Emulator work both in the same PC and in another PC without changing code.&lt;br /&gt;
The first one is the usual App development environment for single developer. The second one using additional laptop can help to test or demonstrate an entire IVI system without connecting to the real vehicle. The third one is for developer who works on Non-Linux OS. Since Qt provides cross-platform environment, it’s also possible model on the assumption that we makes windows or Mac version of Qt IVI package.&lt;/div&gt;</summary>
		<author><name>Jsbach86</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/In-vehicle/Roadmap</id>
		<title>In-vehicle/Roadmap</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/In-vehicle/Roadmap"/>
				<updated>2011-07-13T06:20:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jsbach86: /* High-level Roadmap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== High-level Roadmap ==&lt;br /&gt;
&lt;br /&gt;
The big picture:&lt;br /&gt;
* [[In-vehicle/Roadmap/FeatureScope|Feature Scope]]&lt;br /&gt;
* [[In-vehicle/Roadmap/SystemArchitecture|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
Details on Roadmap items:&lt;br /&gt;
* [[In-vehicle/Roadmap/AutomotiveNetworking|Automotive Networking]]&lt;br /&gt;
* [[In-vehicle/Roadmap/AudioManagement|Audio management]]&lt;br /&gt;
* [[In-vehicle/Roadmap/UX|User Experience]]&lt;br /&gt;
* [[In-vehicle/Roadmap/API|API]]&lt;br /&gt;
* [[In-vehicle/Roadmap/Vehicle Network API|Vehicle Network API]]&lt;br /&gt;
* App Store Demonstration&lt;br /&gt;
* CE Device connectivity&lt;br /&gt;
* [[In-vehicle/Roadmap/Navigation|Navigation]]&lt;br /&gt;
* Auto UX&lt;br /&gt;
* BSP/ARM-support&lt;br /&gt;
&lt;br /&gt;
To help the discussion of the road map content, there is a separate overview of the [[In-vehicle/Roadmap/FeatureScope|potential feature scope]] for In-Vehicle Infotainment.&lt;br /&gt;
&lt;br /&gt;
== Feature list from Bugzilla ==&lt;br /&gt;
Feature suggestions and planning is tracked in the MeeGo bugzilla system.&lt;br /&gt;
&lt;br /&gt;
[https://bugs.meego.com/enter_bug.cgi?product=MeeGo%20IVI%20Features Submit new MeeGo IVI feature suggestions]&lt;br /&gt;
&lt;br /&gt;
New feature suggestions need design and development resources to be committed before they become &amp;quot;ACCEPTED&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[https://bugs.meego.com/report.cgi?x_axis_field=bug_status&amp;amp;y_axis_field=version&amp;amp;z_axis_field=&amp;amp;query_format=report-table&amp;amp;short_desc_type=allwordssubstr&amp;amp;short_desc=&amp;amp;classification=MeeGo+Features&amp;amp;longdesc_type=allwordssubstr&amp;amp;longdesc=&amp;amp;bug_file_loc_type=allwordssubstr&amp;amp;bug_file_loc=&amp;amp;deadlinefrom=&amp;amp;deadlineto=&amp;amp;rep_platform=Automotive&amp;amp;emailassigned_to1=1&amp;amp;emailtype1=substring&amp;amp;email1=&amp;amp;emailassigned_to2=1&amp;amp;emailreporter2=1&amp;amp;emailqa_contact2=1&amp;amp;emailcc2=1&amp;amp;emailtype2=substring&amp;amp;email2=&amp;amp;bugidtype=include&amp;amp;bug_id=&amp;amp;votes=&amp;amp;chfieldfrom=&amp;amp;chfieldto=Now&amp;amp;chfieldvalue=&amp;amp;format=table&amp;amp;action=wrap&amp;amp;field0-0-0=noop&amp;amp;type0-0-0=noop&amp;amp;value0-0-0= Current status of features suggested or planned for MeeGo IVI]&lt;br /&gt;
&lt;br /&gt;
== MeeGo 1.2 Target Features ==&lt;br /&gt;
The MeeGo 1.2 development milestones are:&lt;br /&gt;
* November 1, 2010 MeeGo 1.2 merge window open&lt;br /&gt;
* January 20, 2011 MeeGo 1.2 Feature freeze (Alpha finish, Beta start)&lt;br /&gt;
* March 20, 2011 MeeGo 1.2 Release Candidate start&lt;br /&gt;
* April 29, 2011 MeeGo 1.2 Release branch created&lt;br /&gt;
* May 19, 2011 MeeGo 1.2.0 Final Release&lt;br /&gt;
&lt;br /&gt;
The new features planned for the MeeGo IVI 1.2 release are:&lt;br /&gt;
* Terminal Mode from Nokia [https://bugs.meego.com/show_bug.cgi?id=8704 Feature 8704]&lt;br /&gt;
* Integration of EMGD graphics [https://bugs.meego.com/show_bug.cgi?id=6863 Feature 6863] [http://bugs.meego.com/show_bug.cgi?id=8815 Feature 8815]&lt;br /&gt;
* Integration of TopCliff/Crown Bay drivers [https://bugs.meego.com/show_bug.cgi?id=6862 Feature 6862]&lt;br /&gt;
* Integration of Crossville ML7213/OKI IVI IOH drivers [https://bugs.meego.com/show_bug.cgi?id=12050 Feature 12050]&lt;br /&gt;
* Updating IVI Home screen with new layout for the task launch menus and porting from QT to QML.&lt;br /&gt;
* Updating sample apps (browser, contacts, video player, photo player, music player, settings) from MeeGo Touch Framework based (MTF) to QML based.&lt;br /&gt;
&lt;br /&gt;
[[Category:IVI]]&lt;/div&gt;</summary>
		<author><name>Jsbach86</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/In-vehicle/Roadmap/API</id>
		<title>In-vehicle/Roadmap/API</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/In-vehicle/Roadmap/API"/>
				<updated>2011-07-05T09:20:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jsbach86: /* Car-Systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Automotive API ==&lt;br /&gt;
&lt;br /&gt;
To enable applications and software functionality specific to a vehicle context the MeeGo IVI software stack needs to implement an API that allows applications to access vehicle data and execute operations. The MeeGo IVI software stack essentially extends MeeGo Core and consequently the IVI APIs are extensions of the MeeGo Core APIs.&lt;br /&gt;
&lt;br /&gt;
[[File:MeeGo-IVI-Stack.png|800px|MeeGo IVI Stack]]&lt;br /&gt;
&lt;br /&gt;
The API most likely will have multiple layers abstracting applications from the underlying specifics of the vehicle architecture. The latter will definitely differ from make to make and most likely within model lines of the same make and also between generations of the same model of a particular make.&lt;br /&gt;
&lt;br /&gt;
The API layer provides vehicle data in a generalized form through methods such as getVehicleSpeed(), getFuelLevel(), getAverageFuelConsumption() etc. as well as executing function such as setRadioTuner(band, frequency), turnOnHeadlights(), lockDoor(doors), etc. An application can make use of these APIs directly.&lt;br /&gt;
&lt;br /&gt;
Another layer of abstraction is the application framework layer that combines operations across multiple MeeGo APIs. An example could be a function providing range information based on the fuel level, the average consumption and the current vehicle position.&lt;br /&gt;
&lt;br /&gt;
== API Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== Functionality ===&lt;br /&gt;
&lt;br /&gt;
The idea of the API is to treat vehicle data that can be retrieved and vehicle functions controlled through these APIs in an abstract manner. The implementation details of the API functionality e.g. where to get a particular piece of data from such as the fuel level or to execute a particular function e.g. closing a window are treated by underlying software layer and are transparent to the API. The developer using the API should not need to have any prior knowledge about the vehicle itself for instance what make and model it is.&lt;br /&gt;
&lt;br /&gt;
Since not all vehicles will implement all of the APIs it is necessary that software using the API has methods to determine during runtime what APIs are actually implemented. The most straight-forward way is that an API returns a specific value when it is not implemented e.g. API_NOT_DEFINED. A calling software module would simply invoke the API and react accordingly if the API returns API_NOT_DEFINED. However, that may not be the most efficient way since dependent on what API functionality is available software modules may want to configure themselves differently. The most obvious case would be an application that changes its appearance in the UX according to the available functionality. Hence, it is desirable that the API implements reflection that allows querying its functionality during runtime. That can be achieved via API registration or other mechanisms.&lt;br /&gt;
&lt;br /&gt;
If an API is implemented it must adhere to the API specification:&lt;br /&gt;
* Parameters are required to have the specified types and must accept values within the specified range.&lt;br /&gt;
* Return values must be of the specified type and only return values within the specified range.&lt;br /&gt;
* Only the specified exceptions (if exceptions are used at all by the API) must be thrown.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
Some APIs will require access control to restrict execution to calling software modules with the correct privileges. MeeGo IVI should rely on the security mechanisms provided by MeeGo and extend them where necessary.&lt;br /&gt;
&lt;br /&gt;
== API Functional Groups and Functions ==&lt;br /&gt;
&lt;br /&gt;
This section list proposed APIs and places them into functional groups.&lt;br /&gt;
&lt;br /&gt;
=== Car-Systems ===&lt;br /&gt;
&lt;br /&gt;
[[Category:IVI]]&lt;br /&gt;
&lt;br /&gt;
{|  x:str border=1 cellpadding=0 cellspacing=0 &lt;br /&gt;
|  rowspan=2 | Group&lt;br /&gt;
|  rowspan=2 | Function&lt;br /&gt;
|  colspan=2 | Parameter&lt;br /&gt;
|  rowspan=2 | Operation&lt;br /&gt;
|- &lt;br /&gt;
| Type&lt;br /&gt;
| Contents&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=5 | Application&amp;lt;br&amp;gt;&lt;br /&gt;
Interoperability&lt;br /&gt;
| Supported Features&lt;br /&gt;
| Integer&lt;br /&gt;
| Bit setting per each APIs&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Car Manufacturer&lt;br /&gt;
| String&lt;br /&gt;
| 　&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| WMI&lt;br /&gt;
| String&lt;br /&gt;
| World Manufacturer Identifier as defined by SAE. 3 characters.　&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Car Model Name&lt;br /&gt;
| String&lt;br /&gt;
| 　&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| VIN&lt;br /&gt;
| String&lt;br /&gt;
| Vehicle Identification Number as defined by ISO 3779. 17 characters.　&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=5 | Car Information&lt;br /&gt;
| Car Type&lt;br /&gt;
| Enum&lt;br /&gt;
| Sedan, Coupe, Cabriole, Roadster, SUV, Truck&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Door Type&lt;br /&gt;
| Compound&lt;br /&gt;
| # of doors in first row, second row, third row&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Engine Type&lt;br /&gt;
| Enum&lt;br /&gt;
| Gasoline, Diesel, Hybrid, Electric&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Transmission Gear Type&lt;br /&gt;
| Enum&lt;br /&gt;
| Auto/Manual&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Wheel Information&lt;br /&gt;
| Compound&lt;br /&gt;
| Radius of Wheel, Wheel Track (for GPS Dead Reckoning)&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=16 | Running Status&lt;br /&gt;
| Vehicle Power Mode&lt;br /&gt;
| Enum&lt;br /&gt;
| Off / Acc / Run / Ignition&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Speedometer&lt;br /&gt;
| Integer&lt;br /&gt;
| km/h or mph&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Engine Speed&lt;br /&gt;
| Integer&lt;br /&gt;
| rpm&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Trip meter&lt;br /&gt;
| Integer&lt;br /&gt;
| km or mile&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Transmission Gear Status&lt;br /&gt;
| Enum&lt;br /&gt;
| 0=N,1,2,3,4,5,6,7,8,9,10, 64=R, 128=Auto&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Cruise Control Status&lt;br /&gt;
| Compound&lt;br /&gt;
| Activate/Deactivate, Speed&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Wheel Brake&lt;br /&gt;
| Boolean&lt;br /&gt;
| Idle, Engaged, Malfunction&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Lights Status&lt;br /&gt;
| Compound&lt;br /&gt;
| On / Off per each light (Head, Turn Right, Turn Left, Brake, Fog, Hazard Signal, Parking)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Interior Lights Status&lt;br /&gt;
| Compound&lt;br /&gt;
| On / Off per each light (Driver, Passenger, Center)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Horn&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Chime&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Fuel&lt;br /&gt;
| Integer&lt;br /&gt;
| Remaining % (Remaining, Total Capacity in liter or gallon)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Engine Oil&lt;br /&gt;
| Compound&lt;br /&gt;
| Remaining %, Temperature&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Engine Coolant&lt;br /&gt;
| Compound&lt;br /&gt;
| Level, Temperature, Pressure&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Steering Wheel Angle&lt;br /&gt;
| Integer&lt;br /&gt;
| (for GPS Dead Reckoning)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Wheel Tick Sensor&lt;br /&gt;
| Compound&lt;br /&gt;
| Left Wheel Rotation Counter, Right Wheel Rotation Counter (for GPS Dead Reckoning)&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=6 | Maintenance&lt;br /&gt;
| Odometer&lt;br /&gt;
| Integer&lt;br /&gt;
| km/h or mph&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Transmission Oil&lt;br /&gt;
| Integer&lt;br /&gt;
| Remaining %&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Brake Fluid&lt;br /&gt;
| Integer&lt;br /&gt;
| Remaining %&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Washer Fluid&lt;br /&gt;
| Integer&lt;br /&gt;
| Remaining %&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Battery Status&lt;br /&gt;
| Compound&lt;br /&gt;
| Voltage, Current&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Tire Pressure&lt;br /&gt;
| Compound&lt;br /&gt;
| PSI or Status (Normal, Low) per each tire (front left, front right, rear left, rear right)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=10 | Personalization&lt;br /&gt;
| Key ID (Driver ID)&lt;br /&gt;
| Enum&lt;br /&gt;
| 　&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Language&lt;br /&gt;
| Enum&lt;br /&gt;
| English, Spanish, French, …&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Measurement System&lt;br /&gt;
| Boolean&lt;br /&gt;
| Km (litter), mile (gallon)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Mirror&lt;br /&gt;
| Compound&lt;br /&gt;
| 2byte(Tilt, Pan) position per each mirror (driver side, passenger side, inside mirror)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Steering Wheel Position&lt;br /&gt;
| Compound&lt;br /&gt;
| Level per each part (slide, tilt)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Driving Mode&lt;br /&gt;
| Enum&lt;br /&gt;
| Comfort, Auto, Sport, Eco, Manual&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Driver Seat Position&lt;br /&gt;
| Compound&lt;br /&gt;
| Level per each part (recline seatback, slide, cushion height, headrest, back cushion, side cushion)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Passenger Seat Position&lt;br /&gt;
| Compound&lt;br /&gt;
| Level per each part (recline seatback, slide, cushion height, headrest, back cushion, side cushion)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Dashboard Illumination&lt;br /&gt;
| Enum&lt;br /&gt;
| % of Illumination ( 0 : Darkest, 100 : Brightest)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Generated Car Sound Mode&lt;br /&gt;
| Enum&lt;br /&gt;
| Normal, Quiet, Sportive&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=10 | Driving Safety&lt;br /&gt;
| Antilock Braking System&lt;br /&gt;
| Enum&lt;br /&gt;
| Available (Equipped), Idle, Engaged&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Traction Control System&lt;br /&gt;
| Enum&lt;br /&gt;
| Available (Equipped), On/Off&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Vehicle Top Speed Limit&lt;br /&gt;
| Integer&lt;br /&gt;
| km/h or mph (0 means no limitation)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Airbag Status&lt;br /&gt;
| Compound&lt;br /&gt;
| Activate/Deactivate/Deployment per each airbag (driver, passenger, side)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Door Open Status&lt;br /&gt;
| Compound&lt;br /&gt;
| Open/Ajar/Close per each door (driver, passenger, rear left, rear right, trunk, fuel filler cap, hood)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Door Lock Status&lt;br /&gt;
| Compound&lt;br /&gt;
| Lock/Unlock per each door (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Occupants Status&lt;br /&gt;
| Compound&lt;br /&gt;
| Type (Adults/Child/Vacant) per each seat (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Seat Belt&lt;br /&gt;
| Compound&lt;br /&gt;
| Fasten or not per each seat (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Window Lock&lt;br /&gt;
| Compound&lt;br /&gt;
| Lock/Unlock per each window (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Obstacle Distance&lt;br /&gt;
| Compound&lt;br /&gt;
| Sensor Status (available or not), Distance per each sensor (Position #)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=3 | Parking&lt;br /&gt;
| Security Alert&lt;br /&gt;
| Enum&lt;br /&gt;
| Available (Equipped), Idle, Activated, Alarm Detected&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Parking Brake&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Parking Lights&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=16 | Climate&amp;lt;br&amp;gt;&lt;br /&gt;
/ Environment&lt;br /&gt;
| Interior Temperature&lt;br /&gt;
| Integer&lt;br /&gt;
| 0.1 degrees of Celsius&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Exterior Temperature&lt;br /&gt;
| Integer&lt;br /&gt;
| 0.1 degrees of Celsius&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Exterior Brightness&lt;br /&gt;
| Integer&lt;br /&gt;
| lux&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Rain Sensor&lt;br /&gt;
| Enum&lt;br /&gt;
| Level of rain intensity ( 0 : No Rain ~ 10 : Heaviest Rain)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Windshield Wiper&lt;br /&gt;
| Enum&lt;br /&gt;
| Level of speed ( 0 : Off, 1 : Slowest, 5 : Fastest, 10 : Auto)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| HVAC Fan&lt;br /&gt;
| Compound&lt;br /&gt;
| Airflow Direction (Front Panel, Floor Duct, Front+Floor, Defroster+Floor), Level of Fan Speed (0~7), Target Temperature (1 degrees of Celsius)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Air-Conditioning&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Air-Recirculation&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Heater&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Defrost&lt;br /&gt;
| Compound&lt;br /&gt;
| On / Off per each position (Windshield, Rear Window, Side Mirrors)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Steering Wheel Heater&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Seat Heater&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Seat Cooler&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Window&lt;br /&gt;
| Compound&lt;br /&gt;
| % of openness per each window (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Sunroof&lt;br /&gt;
| Compound&lt;br /&gt;
| % of openness ( 0 : Closed, 100 : Fully Opened), % of tilt ( 0 : Closed, 100 : Maximum Tilted )&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Convertible roof&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=7 | Electric Vehicle&lt;br /&gt;
| Hybrid Power Status&lt;br /&gt;
| Enum&lt;br /&gt;
| Idle, Battery Mode, Engine Mode, Hybrid Mode&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Charging Status&lt;br /&gt;
| Boolen&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Battery Voltage&lt;br /&gt;
| Compound&lt;br /&gt;
| Voltage ( 0.1 volt ), Level of charge (0~100%)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Battery Charge Cord&lt;br /&gt;
| Boolen&lt;br /&gt;
| Not Connected / Connected&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Target Charge Level&lt;br /&gt;
| Integer&lt;br /&gt;
| Level of charge capacity (0~100%)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Est. time to full charge&lt;br /&gt;
| Integer&lt;br /&gt;
| Number of minutes remaining&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Est. time to target charge&lt;br /&gt;
| Integer&lt;br /&gt;
| Number of minutes remaining&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Navigation ===&lt;br /&gt;
[[Category:Navigation]]&lt;br /&gt;
&lt;br /&gt;
{|  x:str border=1 cellpadding=0 cellspacing=0 &lt;br /&gt;
|  rowspan=2 | Group&lt;br /&gt;
|  rowspan=2 | Function&lt;br /&gt;
|  colspan=2 | Parameter&lt;br /&gt;
|  rowspan=2 | Operation&lt;br /&gt;
|- &lt;br /&gt;
| Type&lt;br /&gt;
| Contents&lt;br /&gt;
|- &lt;br /&gt;
|-&lt;br /&gt;
|  rowspan=16 | Maps / Navigation&lt;br /&gt;
| Navigation Status&lt;br /&gt;
| Enum&lt;br /&gt;
| Idle, Guiding, Off-Route, ...&lt;br /&gt;
| Get&lt;br /&gt;
|-&lt;br /&gt;
| Destination&lt;br /&gt;
| ?&lt;br /&gt;
| Place Element (address, coordinates, viewport)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|-&lt;br /&gt;
| ClearDestination&lt;br /&gt;
| none&lt;br /&gt;
| Clear current destination / Stop navigation routing&lt;br /&gt;
| Set&lt;br /&gt;
|-&lt;br /&gt;
| Routing Options&lt;br /&gt;
| Composition&lt;br /&gt;
| Shortest/Fastest, Free/Don't care, Highway/Don't care, ...&lt;br /&gt;
| Get / Set&lt;br /&gt;
|-&lt;br /&gt;
| Get Route&lt;br /&gt;
| Composition&lt;br /&gt;
| ?&lt;br /&gt;
| Get&lt;br /&gt;
|-&lt;br /&gt;
| POI&lt;br /&gt;
| Composition&lt;br /&gt;
| List of: &amp;lt;Place Element, Landmark&amp;gt;&lt;br /&gt;
| Get / Set&lt;br /&gt;
|-&lt;br /&gt;
| Latest Destination&lt;br /&gt;
| Composition&lt;br /&gt;
| Place Element (address, coordinates, viewport)&lt;br /&gt;
| Get&lt;br /&gt;
|-&lt;br /&gt;
| Stored Locations&lt;br /&gt;
| Composition&lt;br /&gt;
| Place Element List (address, coordinates, viewport)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|-&lt;br /&gt;
| Pitch&lt;br /&gt;
| Integer&lt;br /&gt;
| 2D/3D representation (pitch): '0' - 2D Bird;s eye view; '15' - 3D view 15 degrees&lt;br /&gt;
| Get / Set&lt;br /&gt;
|-&lt;br /&gt;
| Zoom&lt;br /&gt;
| Integer&lt;br /&gt;
| zooming (IN / OUT / auto-zoom): '2' - zoom in with factor 2; '-2' zoom out with factor -2; factor: &amp;gt; 1 and &amp;lt; -1&lt;br /&gt;
| Get / Set&lt;br /&gt;
|-&lt;br /&gt;
| Panning&lt;br /&gt;
| Integer&lt;br /&gt;
| panning (NORTH / SOUTH / EAST / WEST / and combination of these 4 eg. NORTH-WEST)&lt;br /&gt;
| Set&lt;br /&gt;
|-&lt;br /&gt;
| Orientation &lt;br /&gt;
| Boolean&lt;br /&gt;
| orientation / northing (ON - map oriented north / OFF - map oriented in travelling direction)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| FollowGPS&lt;br /&gt;
| Boolean&lt;br /&gt;
| follow gps signal ( ON - map cursor follows gps signal / OFF - map cursor does not follow gps signal / timeout - number of updates to wait before cursor follows gps signal on map; useful for panning)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Layout&lt;br /&gt;
| Composition&lt;br /&gt;
| day / night / detailed - POIs / plain simple&lt;br /&gt;
| Get / Set&lt;br /&gt;
|-&lt;br /&gt;
| SetUnits&lt;br /&gt;
| Enum&lt;br /&gt;
| Metric / Imperial / ...&lt;br /&gt;
| Get / Set&lt;br /&gt;
|-&lt;br /&gt;
| MapCenter&lt;br /&gt;
| Composition&lt;br /&gt;
| Center the map ( Place Element (address, coordinates, viewport) )&lt;br /&gt;
| Get / Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Multimedia ===&lt;br /&gt;
Basically, IVI shares Qt Mobility functions.&lt;br /&gt;
This section is for IVI exclusive functionality about Multimedia&lt;br /&gt;
&lt;br /&gt;
=== Communication ===&lt;br /&gt;
Basically, IVI shares Qt Mobility functions.&lt;br /&gt;
This section is for IVI exclusive functionality about Communication&lt;/div&gt;</summary>
		<author><name>Jsbach86</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/In-vehicle/Roadmap/API</id>
		<title>In-vehicle/Roadmap/API</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/In-vehicle/Roadmap/API"/>
				<updated>2011-06-27T10:17:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jsbach86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Automotive API ==&lt;br /&gt;
&lt;br /&gt;
To enable applications and software functionality specific to a vehicle context the MeeGo IVI software stack needs to implement an API that allows applications to access vehicle data and execute operations. The MeeGo IVI software stack essentially extends MeeGo Core and consequently the IVI APIs are extensions of the MeeGo Core APIs.&lt;br /&gt;
&lt;br /&gt;
[[File:MeeGo-IVI-Stack.png|800px|MeeGo IVI Stack]]&lt;br /&gt;
&lt;br /&gt;
The API most likely will have multiple layers abstracting applications from the underlying specifics of the vehicle architecture. The latter will definitely differ from make to make and most likely within model lines of the same make and also between generations of the same model of a particular make.&lt;br /&gt;
&lt;br /&gt;
The API layer provides vehicle data in a generalized form through methods such as getVehicleSpeed(), getFuelLevel(), getAverageFuelConsumption() etc. as well as executing function such as setRadioTuner(band, frequency), turnOnHeadlights(), lockDoor(doors), etc. An application can make use of these APIs directly.&lt;br /&gt;
&lt;br /&gt;
Another layer of abstraction is the application framework layer that combines operations across multiple MeeGo APIs. An example could be a function providing range information based on the fuel level, the average consumption and the current vehicle position.&lt;br /&gt;
&lt;br /&gt;
== API Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== Functionality ===&lt;br /&gt;
&lt;br /&gt;
The idea of the API is to treat vehicle data that can be retrieved and vehicle functions controlled through these APIs in an abstract manner. The implementation details of the API functionality e.g. where to get a particular piece of data from such as the fuel level or to execute a particular function e.g. closing a window are treated by underlying software layer and are transparent to the API. The developer using the API should not need to have any prior knowledge about the vehicle itself for instance what make and model it is.&lt;br /&gt;
&lt;br /&gt;
Since not all vehicles will implement all of the APIs it is necessary that software using the API has methods to determine during runtime what APIs are actually implemented. The most straight-forward way is that an API returns a specific value when it is not implemented e.g. API_NOT_DEFINED. A calling software module would simply invoke the API and react accordingly if the API returns API_NOT_DEFINED. However, that may not be the most efficient way since dependent on what API functionality is available software modules may want to configure themselves differently. The most obvious case would be an application that changes its appearance in the UX according to the available functionality. Hence, it is desirable that the API implements reflection that allows querying its functionality during runtime. That can be achieved via API registration or other mechanisms.&lt;br /&gt;
&lt;br /&gt;
If an API is implemented it must adhere to the API specification:&lt;br /&gt;
* Parameters are required to have the specified types and must accept values within the specified range.&lt;br /&gt;
* Return values must be of the specified type and only return values within the specified range.&lt;br /&gt;
* Only the specified exceptions (if exceptions are used at all by the API) must be thrown.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
Some APIs will require access control to restrict execution to calling software modules with the correct privileges. MeeGo IVI should rely on the security mechanisms provided by MeeGo and extend them where necessary.&lt;br /&gt;
&lt;br /&gt;
== API Functional Groups and Functions ==&lt;br /&gt;
&lt;br /&gt;
This section list proposed APIs and places them into functional groups.&lt;br /&gt;
&lt;br /&gt;
=== Car-Systems ===&lt;br /&gt;
&lt;br /&gt;
[[Category:IVI]]&lt;br /&gt;
&lt;br /&gt;
{|  x:str border=1 cellpadding=0 cellspacing=0 &lt;br /&gt;
|  rowspan=2 | Group&lt;br /&gt;
|  rowspan=2 | Function&lt;br /&gt;
|  colspan=2 | Parameter&lt;br /&gt;
|  rowspan=2 | Operation&lt;br /&gt;
|- &lt;br /&gt;
| Type&lt;br /&gt;
| Contents&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=3 | Application&amp;lt;br&amp;gt;&lt;br /&gt;
Interoperability&lt;br /&gt;
| Supported Features&lt;br /&gt;
| Integer&lt;br /&gt;
| Bit setting per each APIs&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Car Manufacturer&lt;br /&gt;
| String&lt;br /&gt;
| 　&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Car Model Name&lt;br /&gt;
| String&lt;br /&gt;
| 　&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=5 | Car Information&lt;br /&gt;
| Car Type&lt;br /&gt;
| Enum&lt;br /&gt;
| Sedan, Coupe, Cabriole, Roadster, SUV, Truck&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Door Type&lt;br /&gt;
| Composition&lt;br /&gt;
| # of doors in first row, second row, third row&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Engine Type&lt;br /&gt;
| Enum&lt;br /&gt;
| Gasoline, Diesel, Hybrid, Electric&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Transmission Gear Type&lt;br /&gt;
| Enum&lt;br /&gt;
| Auto/Manual&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Wheel Information&lt;br /&gt;
| Composition&lt;br /&gt;
| Radius of Wheel, Wheel Track (for GPS Dead Reckoning)&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=16 | Running Status&lt;br /&gt;
| Vehicle Power Mode&lt;br /&gt;
| Enum&lt;br /&gt;
| Off / Acc / Run / Ignition&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Speedometer&lt;br /&gt;
| Integer&lt;br /&gt;
| km/h or mph&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Engine Speed&lt;br /&gt;
| Integer&lt;br /&gt;
| rpm&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Trip meter&lt;br /&gt;
| Integer&lt;br /&gt;
| km or mile&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Transmission Gear Status&lt;br /&gt;
| Enum&lt;br /&gt;
| 0=N,1,2,3,4,5,6,7,8,9,10, 64=R, 128=Auto&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Cruise Control Status&lt;br /&gt;
| Composition&lt;br /&gt;
| Activate/Deactivate, Speed&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Wheel Brake&lt;br /&gt;
| Boolean&lt;br /&gt;
| Idle, Engaged, Malfunction&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Lights Status&lt;br /&gt;
| Composition&lt;br /&gt;
| On / Off per each light (Head, Turn Right, Turn Left, Brake, Fog, Hazard Signal, Parking)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Interior Lights Status&lt;br /&gt;
| Composition&lt;br /&gt;
| On / Off per each light (Driver, Passenger, Center)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Horn&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Chime&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Fuel&lt;br /&gt;
| Integer&lt;br /&gt;
| Remaining % (Remaining, Total Capacity in liter or gallon)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Engine Oil&lt;br /&gt;
| Composition&lt;br /&gt;
| Remaining %, Temperature&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Engine Coolant&lt;br /&gt;
| Composition&lt;br /&gt;
| Level, Temperature, Pressure&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Steering Wheel Angle&lt;br /&gt;
| Integer&lt;br /&gt;
| (for GPS Dead Reckoning)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Wheel Tick Sensor&lt;br /&gt;
| Composition&lt;br /&gt;
| Left Wheel Rotation Counter, Right Wheel Rotation Counter (for GPS Dead Reckoning)&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=6 | Maintenance&lt;br /&gt;
| Odometer&lt;br /&gt;
| Integer&lt;br /&gt;
| km/h or mph&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Transmission Oil&lt;br /&gt;
| Integer&lt;br /&gt;
| Remaining %&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Brake Fluid&lt;br /&gt;
| Integer&lt;br /&gt;
| Remaining %&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Washer Fluid&lt;br /&gt;
| Integer&lt;br /&gt;
| Remaining %&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Battery Status&lt;br /&gt;
| Composition&lt;br /&gt;
| Voltage, Current&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Tire Pressure&lt;br /&gt;
| Composition&lt;br /&gt;
| PSI or Status (Normal, Low) per each tire (front left, front right, rear left, rear right)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=10 | Personalization&lt;br /&gt;
| Key ID (Driver ID)&lt;br /&gt;
| Enum&lt;br /&gt;
| 　&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Language&lt;br /&gt;
| Enum&lt;br /&gt;
| English, Spanish, French, …&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Measurement System&lt;br /&gt;
| Boolean&lt;br /&gt;
| Km (litter), mile (gallon)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Mirror&lt;br /&gt;
| Composition&lt;br /&gt;
| 2byte(Tilt, Pan) position per each mirror (driver side, passenger side, inside mirror)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Steering Wheel Position&lt;br /&gt;
| Composition&lt;br /&gt;
| Level per each part (slide, tilt)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Driving Mode&lt;br /&gt;
| Enum&lt;br /&gt;
| Comfort, Auto, Sport, Eco, Manual&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Driver Seat Position&lt;br /&gt;
| Composition&lt;br /&gt;
| Level per each part (recline seatback, slide, cushion height, headrest, back cushion, side cushion)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Passenger Seat Position&lt;br /&gt;
| Composition&lt;br /&gt;
| Level per each part (recline seatback, slide, cushion height, headrest, back cushion, side cushion)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Dashboard Illumination&lt;br /&gt;
| Enum&lt;br /&gt;
| % of Illumination ( 0 : Darkest, 100 : Brightest)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Generated Car Sound Mode&lt;br /&gt;
| Enum&lt;br /&gt;
| Normal, Quiet, Sportive&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=10 | Driving Safety&lt;br /&gt;
| Antilock Braking System&lt;br /&gt;
| Enum&lt;br /&gt;
| Available (Equipped), Idle, Engaged&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Transaction Control System&lt;br /&gt;
| Enum&lt;br /&gt;
| Available (Equipped), On/Off&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Vehicle Top Speed Limit&lt;br /&gt;
| Integer&lt;br /&gt;
| km/h or mph (0 means no limitation)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Airbag Status&lt;br /&gt;
| Composition&lt;br /&gt;
| Activate/Deactivate/Deployment per each airbag (driver, passenger, side)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Door Open Status&lt;br /&gt;
| Composition&lt;br /&gt;
| Open/Ajar/Close per each door (driver, passenger, rear left, rear right, trunk, fuel filler cap, hood)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Door Lock Status&lt;br /&gt;
| Composition&lt;br /&gt;
| Lock/Unlock per each door (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Occupants Status&lt;br /&gt;
| Composition&lt;br /&gt;
| Type (Adults/Child/Vacant) per each seat (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Seat Belt&lt;br /&gt;
| Composition&lt;br /&gt;
| Fasten or not per each seat (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Window Lock&lt;br /&gt;
| Composition&lt;br /&gt;
| Lock/Unlock per each window (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Obstacle Distance&lt;br /&gt;
| Composition&lt;br /&gt;
| Sensor Status (available or not), Distance per each sensor (Position #)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=3 | Parking&lt;br /&gt;
| Security Alert&lt;br /&gt;
| Enum&lt;br /&gt;
| Available (Equipped), Idle, Activated, Alarm Detected&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Parking Brake&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Parking Lights&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=16 | Climate&amp;lt;br&amp;gt;&lt;br /&gt;
/ Environment&lt;br /&gt;
| Interior Temperature&lt;br /&gt;
| Integer&lt;br /&gt;
| 0.1 degrees of Celsius&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Exterior Temperature&lt;br /&gt;
| Integer&lt;br /&gt;
| 0.1 degrees of Celsius&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Exterior Brightness&lt;br /&gt;
| Integer&lt;br /&gt;
| lux&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Rain Sensor&lt;br /&gt;
| Enum&lt;br /&gt;
| Level of rain intensity ( 0 : No Rain ~ 10 : Heaviest Rain)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Windshield Wiper&lt;br /&gt;
| Enum&lt;br /&gt;
| Level of speed ( 0 : Off, 1 : Slowest, 5 : Fastest, 10 : Auto)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| HVAC Fan&lt;br /&gt;
| Composition&lt;br /&gt;
| Airflow Direction (Front Panel, Floor Duct, Front+Floor, Defroster+Floor), Level of Fan Speed (0~7), Target Temperature (1 degrees of Celsius)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Air-Conditioning&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Air-Recirculation&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Heater&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Defrost&lt;br /&gt;
| Composition&lt;br /&gt;
| On / Off per each position (Windshield, Rear Window, Side Mirrors)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Steering Wheel Heater&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Seat Heater&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Seat Cooler&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Window&lt;br /&gt;
| Composition&lt;br /&gt;
| % of openness per each window (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Sunroof&lt;br /&gt;
| Composition&lt;br /&gt;
| % of openness ( 0 : Closed, 100 : Fully Opened), % of tilt ( 0 : Closed, 100 : Maximum Tilted )&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Convertible roof&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=7 | Electric Vehicle&lt;br /&gt;
| Hybrid Power Status&lt;br /&gt;
| Enum&lt;br /&gt;
| Idle, Battery Mode, Engine Mode, Hybrid Mode&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Charging Status&lt;br /&gt;
| Boolen&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Battery Voltage&lt;br /&gt;
| Composition&lt;br /&gt;
| Voltage ( 0.1 volt ), Level of charge (0~100%)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Battery Charge Cord&lt;br /&gt;
| Boolen&lt;br /&gt;
| Not Connected / Connected&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Target Charge Level&lt;br /&gt;
| Integer&lt;br /&gt;
| Level of charge capacity (0~100%)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Est. time to full charge&lt;br /&gt;
| Integer&lt;br /&gt;
| Number of minutes remaining&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Est. time to target charge&lt;br /&gt;
| Integer&lt;br /&gt;
| Number of minutes remaining&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Navigation ===&lt;br /&gt;
[[Category:Navigation]]&lt;br /&gt;
&lt;br /&gt;
{|  x:str border=1 cellpadding=0 cellspacing=0 &lt;br /&gt;
|  rowspan=2 | Group&lt;br /&gt;
|  rowspan=2 | Function&lt;br /&gt;
|  colspan=2 | Parameter&lt;br /&gt;
|  rowspan=2 | Operation&lt;br /&gt;
|- &lt;br /&gt;
| Type&lt;br /&gt;
| Contents&lt;br /&gt;
|- &lt;br /&gt;
|-&lt;br /&gt;
|  rowspan=9 | Maps / Navigation&lt;br /&gt;
| Navigation Status&lt;br /&gt;
| Enum&lt;br /&gt;
| Idle, Guiding, Off-Route, ...&lt;br /&gt;
| Get&lt;br /&gt;
|-&lt;br /&gt;
| Destination&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| Get / Set&lt;br /&gt;
|-&lt;br /&gt;
| Routing Options&lt;br /&gt;
| Composition&lt;br /&gt;
| Shortest/Fastest, Free/Don't care, Highway/Don't care, ...&lt;br /&gt;
| Get / Set&lt;br /&gt;
|-&lt;br /&gt;
| Get Route&lt;br /&gt;
| Composition&lt;br /&gt;
| ?&lt;br /&gt;
| Get&lt;br /&gt;
|-&lt;br /&gt;
| POI&lt;br /&gt;
| Composition&lt;br /&gt;
| ?&lt;br /&gt;
| Get / Set&lt;br /&gt;
|-&lt;br /&gt;
| Latest Destination&lt;br /&gt;
| Composition&lt;br /&gt;
| ?&lt;br /&gt;
| Get&lt;br /&gt;
|-&lt;br /&gt;
| Stored Locations&lt;br /&gt;
| Composition&lt;br /&gt;
| ?&lt;br /&gt;
| Get / Set&lt;br /&gt;
|-&lt;br /&gt;
| Pitch&lt;br /&gt;
| Integer&lt;br /&gt;
| 2D/3D representation (pitch)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|-&lt;br /&gt;
| Zoom&lt;br /&gt;
| Integer&lt;br /&gt;
| zooming (IN / OUT / auto-zoom)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Multimedia ===&lt;br /&gt;
Basically, IVI shares Qt Mobility functions.&lt;br /&gt;
This section is for IVI exclusive functionality about Multimedia&lt;br /&gt;
&lt;br /&gt;
=== Communication ===&lt;br /&gt;
Basically, IVI shares Qt Mobility functions.&lt;br /&gt;
This section is for IVI exclusive functionality about Communication&lt;/div&gt;</summary>
		<author><name>Jsbach86</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/In-vehicle/Roadmap/API</id>
		<title>In-vehicle/Roadmap/API</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/In-vehicle/Roadmap/API"/>
				<updated>2011-06-23T08:56:06Z</updated>
		
		<summary type="html">&lt;p&gt;Jsbach86: /* API Functional Groups and Functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Automotive API ==&lt;br /&gt;
&lt;br /&gt;
To enable applications and software functionality specific to a vehicle context the MeeGo IVI software stack needs to implement an API that allows applications to access vehicle data and execute operations. The MeeGo IVI software stack essentially extends MeeGo Core and consequently the IVI APIs are extensions of the MeeGo Core APIs.&lt;br /&gt;
&lt;br /&gt;
[[File:MeeGo-IVI-Stack.png|800px|MeeGo IVI Stack]]&lt;br /&gt;
&lt;br /&gt;
The API most likely will have multiple layers abstracting applications from the underlying specifics of the vehicle architecture. The latter will definitely differ from make to make and most likely within model lines of the same make and also between generations of the same model of a particular make.&lt;br /&gt;
&lt;br /&gt;
The API layer provides vehicle data in a generalized form through methods such as getVehicleSpeed(), getFuelLevel(), getAverageFuelConsumption() etc. as well as executing function such as setRadioTuner(band, frequency), turnOnHeadlights(), lockDoor(doors), etc. An application can make use of these APIs directly.&lt;br /&gt;
&lt;br /&gt;
Another layer of abstraction is the application framework layer that combines operations across multiple MeeGo APIs. An example could be a function providing range information based on the fuel level, the average consumption and the current vehicle position.&lt;br /&gt;
&lt;br /&gt;
== API Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== Functionality ===&lt;br /&gt;
&lt;br /&gt;
The idea of the API is to treat vehicle data that can be retrieved and vehicle functions controlled through these APIs in an abstract manner. The implementation details of the API functionality e.g. where to get a particular piece of data from such as the fuel level or to execute a particular function e.g. closing a window are treated by underlying software layer and are transparent to the API. The developer using the API should not need to have any prior knowledge about the vehicle itself for instance what make and model it is.&lt;br /&gt;
&lt;br /&gt;
Since not all vehicles will implement all of the APIs it is necessary that software using the API has methods to determine during runtime what APIs are actually implemented. The most straight-forward way is that an API returns a specific value when it is not implemented e.g. API_NOT_DEFINED. A calling software module would simply invoke the API and react accordingly if the API returns API_NOT_DEFINED. However, that may not be the most efficient way since dependent on what API functionality is available software modules may want to configure themselves differently. The most obvious case would be an application that changes its appearance in the UX according to the available functionality. Hence, it is desirable that the API implements reflection that allows querying its functionality during runtime. That can be achieved via API registration or other mechanisms.&lt;br /&gt;
&lt;br /&gt;
If an API is implemented it must adhere to the API specification:&lt;br /&gt;
* Parameters are required to have the specified types and must accept values within the specified range.&lt;br /&gt;
* Return values must be of the specified type and only return values within the specified range.&lt;br /&gt;
* Only the specified exceptions (if exceptions are used at all by the API) must be thrown.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
Some APIs will require access control to restrict execution to calling software modules with the correct privileges. MeeGo IVI should rely on the security mechanisms provided by MeeGo and extend them where necessary.&lt;br /&gt;
&lt;br /&gt;
== API Functional Groups and Functions ==&lt;br /&gt;
&lt;br /&gt;
This section list proposed APIs and places them into functional groups.&lt;br /&gt;
&lt;br /&gt;
[[Category:IVI]]&lt;br /&gt;
&lt;br /&gt;
{|  x:str border=1 cellpadding=0 cellspacing=0 &lt;br /&gt;
|  rowspan=2 | Group&lt;br /&gt;
|  rowspan=2 | Function&lt;br /&gt;
|  colspan=2 | Parameter&lt;br /&gt;
|  rowspan=2 | Operation&lt;br /&gt;
|- &lt;br /&gt;
| Type&lt;br /&gt;
| Contents&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=3 | Application&amp;lt;br&amp;gt;&lt;br /&gt;
Interoperability&lt;br /&gt;
| Supported Features&lt;br /&gt;
| Integer&lt;br /&gt;
| Bit setting per each APIs&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Car Manufacturer&lt;br /&gt;
| String&lt;br /&gt;
| 　&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Car Model Name&lt;br /&gt;
| String&lt;br /&gt;
| 　&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=5 | Car Information&lt;br /&gt;
| Car Type&lt;br /&gt;
| Enum&lt;br /&gt;
| Sedan, Coupe, Cabriole, Roadster, SUV, Truck&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Door Type&lt;br /&gt;
| Composition&lt;br /&gt;
| # of doors in first row, second row, third row&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Engine Type&lt;br /&gt;
| Enum&lt;br /&gt;
| Gasoline, Diesel, Hybrid, Electric&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Transmission Gear Type&lt;br /&gt;
| Enum&lt;br /&gt;
| Auto/Manual&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| Wheel Information&lt;br /&gt;
| Composition&lt;br /&gt;
| Radius of Wheel, Wheel Track (for GPS Dead Reckoning)&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=17 | Running Status&lt;br /&gt;
| Vehicle Power Mode&lt;br /&gt;
| Enum&lt;br /&gt;
| Off / Acc / Run / Ignition&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Speedometer&lt;br /&gt;
| Integer&lt;br /&gt;
| km/h or mph&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Engine Speed&lt;br /&gt;
| Integer&lt;br /&gt;
| rpm&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Trip meter&lt;br /&gt;
| Integer&lt;br /&gt;
| km or mile&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Transmission Gear Status&lt;br /&gt;
| Enum&lt;br /&gt;
| 0=N,1,2,3,4,5,6,7,8,9,10, 64=R, 128=Auto&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Cruise Control Status&lt;br /&gt;
| Composition&lt;br /&gt;
| Activate/Deactivate, Speed&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Wheel Brake&lt;br /&gt;
| Boolean&lt;br /&gt;
| Idle, Engaged, Malfunction&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Lights Status&lt;br /&gt;
| Composition&lt;br /&gt;
| On / Off per each light (Head, Turn Right, Turn Left, Brake, Fog, Hazard Signal, Parking)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Interior Lights Status&lt;br /&gt;
| Composition&lt;br /&gt;
| On / Off per each light (Driver, Passenger, Center)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Horn&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Chime&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Engine Coolant&lt;br /&gt;
| Composition&lt;br /&gt;
| Level, Temperature, Pressure&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Compass Status&lt;br /&gt;
| Enum&lt;br /&gt;
| N, S, W, E, NE, NW, SE, SW&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Steering Wheel Angle&lt;br /&gt;
| Integer&lt;br /&gt;
| (for GPS Dead Reckoning)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Wheel Tick Sensor&lt;br /&gt;
| Composition&lt;br /&gt;
| Left Wheel Rotation Counter, Right Wheel Rotation Counter (for GPS Dead Reckoning)&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| GPS Data - Date, Time&lt;br /&gt;
| Composition&lt;br /&gt;
| Date, Time&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
| GPS Data - Position&lt;br /&gt;
| Composition&lt;br /&gt;
| Latitude, Longitude&lt;br /&gt;
| Get&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=8 | Maintenance&lt;br /&gt;
| Odometer&lt;br /&gt;
| Integer&lt;br /&gt;
| km/h or mph&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Fuel&lt;br /&gt;
| Integer&lt;br /&gt;
| Remaining % (Remaining, Total Capacity in liter or gallon)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Engine Oil&lt;br /&gt;
| Integer&lt;br /&gt;
| Remaining %&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Transmission Oil&lt;br /&gt;
| Integer&lt;br /&gt;
| Remaining %&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Brake Fluid&lt;br /&gt;
| Integer&lt;br /&gt;
| Remaining %&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Washer Fluid&lt;br /&gt;
| Integer&lt;br /&gt;
| Remaining %&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Battery Status&lt;br /&gt;
| Composition&lt;br /&gt;
| Voltage, Current&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Tire Pressure&lt;br /&gt;
| Composition&lt;br /&gt;
| PSI or Status (Normal, Low) per each tire (front left, front right, rear left, rear right)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=8 | Personalization&lt;br /&gt;
| Key ID (Driver ID)&lt;br /&gt;
| Enum&lt;br /&gt;
| 　&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Language&lt;br /&gt;
| Enum&lt;br /&gt;
| English, Spanish, French, …&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Measurement System&lt;br /&gt;
| Boolean&lt;br /&gt;
| Km (litter), mile (gallon)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Mirror&lt;br /&gt;
| Composition&lt;br /&gt;
| 2byte(Tilt, Pan) position per each mirror (driver side, passenger side, inside mirror)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Steering Wheel Position&lt;br /&gt;
| Composition&lt;br /&gt;
| Level per each part (slide, tilt)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Driver Seat Position&lt;br /&gt;
| Composition&lt;br /&gt;
| Level per each part (recline seatback, slide, cushion height, headrest, back cushion, side cushion)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Passenger Seat Position&lt;br /&gt;
| Composition&lt;br /&gt;
| Level per each part (recline seatback, slide, cushion height, headrest, back cushion, side cushion)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Dashboard Illumination&lt;br /&gt;
| Enum&lt;br /&gt;
| % of Illumination ( 0 : Darkest, 100 : Brightest)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=10 | Driving Safety&lt;br /&gt;
| Antilock Braking System&lt;br /&gt;
| Enum&lt;br /&gt;
| Available (Equipped), Idle, Engaged&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Transaction Control System&lt;br /&gt;
| Enum&lt;br /&gt;
| Available (Equipped), On/Off&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Vehicle Top Speed Limit&lt;br /&gt;
| Integer&lt;br /&gt;
| km/h or mph (0 means no limitation)&lt;br /&gt;
| Get / Set&lt;br /&gt;
|- &lt;br /&gt;
| Airbag Status&lt;br /&gt;
| Composition&lt;br /&gt;
| Activate/Deactivate/Deployment per each airbag (driver, passenger, side)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Door Open Status&lt;br /&gt;
| Composition&lt;br /&gt;
| Open/Ajar/Close per each door (driver, passenger, rear left, rear right, trunk, fuel filler cap, hood)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Door Lock Status&lt;br /&gt;
| Composition&lt;br /&gt;
| Lock/Unlock per each door (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Occupants Status&lt;br /&gt;
| Composition&lt;br /&gt;
| Type (Adults/Child/Vacant) per each seat (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Seat Belt&lt;br /&gt;
| Composition&lt;br /&gt;
| Fasten or not per each seat (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Window Lock&lt;br /&gt;
| Composition&lt;br /&gt;
| Lock/Unlock per each window (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Obstacle Distance&lt;br /&gt;
| Composition&lt;br /&gt;
| Sensor Status (available or not), Distance per each sensor (Position #)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=3 | Parking&lt;br /&gt;
| Security Alert&lt;br /&gt;
| Enum&lt;br /&gt;
| Available (Equipped), Idle, Activated, Alarm Detected&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Parking Brake&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Parking Lights&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=16 | Climate&amp;lt;br&amp;gt;&lt;br /&gt;
/ Environment&lt;br /&gt;
| Interior Temperature&lt;br /&gt;
| Integer&lt;br /&gt;
| 0.1 degrees of Celsius&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Exterior Temperature&lt;br /&gt;
| Integer&lt;br /&gt;
| 0.1 degrees of Celsius&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Exterior Brightness&lt;br /&gt;
| Integer&lt;br /&gt;
| lux&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Rain Sensor&lt;br /&gt;
| Enum&lt;br /&gt;
| Level of rain intensity ( 0 : No Rain ~ 10 : Heaviest Rain)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Windshield Wiper&lt;br /&gt;
| Enum&lt;br /&gt;
| Level of speed ( 0 : Off, 1 : Slowest, 5 : Fastest, 10 : Auto)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| HVAC Fan&lt;br /&gt;
| Composition&lt;br /&gt;
| Airflow Direction (Front Panel, Floor Duct, Front+Floor, Defroster+Floor), Level of Fan Speed (0~7), Target Temperature (1 degrees of Celsius)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Air-Conditioning&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Air-Recirculation&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Heater&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Defrost&lt;br /&gt;
| Composition&lt;br /&gt;
| On / Off per each position (Windshield, Rear Window, Side Mirrors)&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Steering Wheel Heater&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Seat Heater&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Seat Cooler&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Window&lt;br /&gt;
| Composition&lt;br /&gt;
| % of openness per each window (driver, passenger, rear left, rear right)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Sunroof&lt;br /&gt;
| Composition&lt;br /&gt;
| % of openness ( 0 : Closed, 100 : Fully Opened), % of tilt ( 0 : Closed, 100 : Maximum Tilted )&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Convertible roof&lt;br /&gt;
| Boolean&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
|  rowspan=7 | Electric Vehicle&lt;br /&gt;
| Hybrid Power Status&lt;br /&gt;
| Enum&lt;br /&gt;
| Idle, Battery Mode, Engine Mode, Hybrid Mode&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Charging Status&lt;br /&gt;
| Boolen&lt;br /&gt;
| On / Off&lt;br /&gt;
| Get / Noti / Set&lt;br /&gt;
|- &lt;br /&gt;
| Battery Voltage&lt;br /&gt;
| Composition&lt;br /&gt;
| Voltage ( 0.1 volt ), Level of charge (0~100%)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Battery Charge Cord&lt;br /&gt;
| Boolen&lt;br /&gt;
| Not Connected / Connected&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Target Charge Level&lt;br /&gt;
| Integer&lt;br /&gt;
| Level of charge capacity (0~100%)&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Est. time to full charge&lt;br /&gt;
| Integer&lt;br /&gt;
| Number of minutes remaining&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|- &lt;br /&gt;
| Est. time to target charge&lt;br /&gt;
| Integer&lt;br /&gt;
| Number of minutes remaining&lt;br /&gt;
| Get / Noti&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jsbach86</name></author>	</entry>

	</feed>