-
-
Notifications
You must be signed in to change notification settings - Fork 310
Frequently asked questions
In order to allow demonstrations and app feature testing without the availability of any OBD adapter and/or vehicle connection, AndrOBD supports a DEMO mode. In this mode AndrOBD simulates some basic vehicle Features.
- Turn OFF Android Bluetooth connections
- Ensure in AndrOBD settings: OBD Settings -> Adapter type is set to Bluetooth
- (Re-)Start AndrOBD
- Answer to reject bluetooth access
Now AndrOBD indicates- and runs in DEMO mode!
Since Version 2.1.0 the plugin
module is organized as a GIT submodule to allow shared usage of the same library between AndrOBD and AndrOBD-plugin project.
Because of this either repo (AndrOBD, AndrOBD-plugins) have to be cloned with the git option --recurse submodules
.
So, in order to build the AndrOBD project please perform following sequence:
git clone https://github.com/fr3ts0n/AndrOBD.git --recurse-submodules
If you now open the project with AndroidStudio it can be built without problems
The AndrOBD project is set up as a Java based project to be used in AndroidStudio.
Since Version 2.0 the project also supports Kotlin files, since this is used in the SpeedView gauge libraries.
Because of the sub-project library is a plain, generic java library without any dependency to Android or any other OS environment, I would prefer to keep that sub-project to plain, generic Java.
- V1.2.7 -> V1.2.8
- V1.3.2 -> V1.3.3
Between above versions the assignment of settings "Data items to display" to PIDs has changed. If you see an empty data list with status connected, please clear application data (Settings -> Apps -> AndrOBD -> Clear data) and re-try
There are several cheap, chinese ELM327 clone adapters out there which behave rather strange on new connection attempts. They loose bluetooth connection with the issue of an ATZ initialization comand.
There is a workaround for this problem, to disable issuing the ATZ command at initialisation. This prevents the corruption of bluetooth connection by the adapter and makes the adapter usable.
For detailed description please see posts / comments on Issue #52
Plugin support was initially introduced in AndrOBD V2.0.0. However, this was only a partial implementation of the design specification to support data consumer plugins.
The full design specification, which also includes support for data provision plugins, was implemented with AndrOBD V2.1.0
Following is a compatibilty matrix for all AndrOBD plugins:
Plugin | Version | Android >= | AndrOBD >= |
---|---|---|---|
MqttPublisher | V1.0.3 | V4.1 | V2.0.0 |
GpsProvider | V1.0.3 | V4.1 | V2.1.0 |
SensorProvider | V1.0.3 | V4.1 | V2.1.0 |
MqttPublisher | V1.1.0 | V4.1 | V2.4.0 |
GpsProvider | V1.1.0 | V4.1 | V2.4.0 |
SensorProvider | V1.1.0 | V4.1 | V2.4.0 |
In order for AndrOBD to detect- and operate plugins correctly:
- Plugin must be installed
- Plugin must match above compatibility table
- Plugin must be initially started once in the system
- Required system permissions must be granted
- System permission to run plugin in background must be granted
- This permission may also be limited by supplemental apps (i.e. DuraSpeed, etc.)
- Android >= 10 : System permission to "Show PopUp screens in background" must be granted
- Without this permission plugin configuration can not be initiated from AndrOBD
- plug in your USB adapter and confirm the automatic start of AndrOBD
- select your USB adapter
All the rest ist identical to BT adapters 👍
The OBD protocol is mandated by government to be supported by every road vehicle, but only for control units which are relevant for exhaust emissions.
The OBD protocol and data mapping is standardized for all vehicles, unlike all other diagnostic protocols and data items (i.e.: ABS, body, suspension, etc.) which are specific to the vehicle OEMs / types.
AndrOBD does support the OBD protocol only, and therefore is limited to emissions related data as well.
- Any support for additional diagnostic data within AndrOBD would:
- Require OEM internal documentation about diagnostic data mapping and scaling
- and/or a huge amount of time for reverse engineering, and testing of these
- Require to change to a full time, closed source, pay app project, to pay off above efforts.
- Make the app OEM specific (at least extensions)
- Require OEM internal documentation about diagnostic data mapping and scaling
Since I prefer AndrOBD development to stay a open source spare time project, I don't see a chance to implement any additional protocols / ECU data.