Skip to content

Commit

Permalink
started V1.3.12
Browse files Browse the repository at this point in the history
fixed #14 - initialize ELM adapter on NRC (configurable)
  • Loading branch information
fr3ts0n committed Jan 30, 2016
1 parent 31b68e8 commit 27cb5ba
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 3 deletions.
2 changes: 1 addition & 1 deletion AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<manifest
package="com.fr3ts0n.ecu.gui.androbd"
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="10311"
android:versionCode="10312"
android:versionName="@string/app_version">

<uses-sdk
Expand Down
4 changes: 3 additions & 1 deletion res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<resources>
<!-- AndrOBD -->
<string name="app_name" translatable="false">AndrOBD</string>
<string name="app_version" translatable="false">V1.3.11</string>
<string name="app_version" translatable="false">V1.3.12</string>
<string name="copyright_fr3ts0n" translatable="false">&#169; 2015 fr3ts0n</string>
<string name="translation_credits">Translation by fr3ts0n</string>
<string name="app_description">Android OBD vehicle diagnostics app for ELM327 bluetooth adapter</string>
Expand Down Expand Up @@ -181,6 +181,8 @@ period of time while the ECU recalibrates itself.
<string name="disabled">disabled</string>
<string name="enabled">enabled</string>
<string name="elm_adaptive_timing_descr">Allow adaptive timing handling in ELM drivers?</string>
<string name="elm_reset_on_nrc">Reset on NRC</string>
<string name="elm_reset_on_nrc_descr">Reset ELM adapter on NRC error?</string>
<string name="select_ecu_addr">Select ECU address …</string>
<string name="disconnect">Disconnect</string>
<string name="reset_preselections">Reset last pre-selections</string>
Expand Down
7 changes: 7 additions & 0 deletions res/xml/settings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,13 @@
android:title="@string/min_elm_timeout"
/>

<CheckBoxPreference
android:defaultValue="false"
android:key="elm_reset_on_nrc"
android:summary="@string/elm_reset_on_nrc_descr"
android:title="@string/elm_reset_on_nrc"
/>

</PreferenceCategory>
</PreferenceScreen>
</PreferenceCategory>
Expand Down
10 changes: 9 additions & 1 deletion src/com/fr3ts0n/ecu/gui/androbd/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ public enum PRESELECT
public static final String MEASURE_SYSTEM = "measure_system";
public static final String NIGHT_MODE = "night_mode";
public static final String ELM_ADAPTIVE_TIMING = "elm_adaptive_timing";
public static final String ELM_RESET_ON_NRC = "elm_reset_on_nrc";
public static final String PREF_USE_LAST = "USE_LAST_SETTINGS";

/**
Expand Down Expand Up @@ -247,12 +248,14 @@ public void onNothingSelected(AdapterView<?> parent)
*/
private MODE mode = MODE.OFFLINE;

/** empty string set as default parameter*/
static final Set<String> emptyStringSet = new HashSet<String>();

/**
* Check if restore of specified preselection is wanted from settings
* @param preselect specified preselect
* @return flag if preselection shall be restored
*/
static final Set<String> emptyStringSet = new HashSet<String>();
boolean istRestoreWanted(PRESELECT preselect)
{
return prefs.getStringSet(PREF_USE_LAST, emptyStringSet).contains(preselect.toString());
Expand Down Expand Up @@ -416,6 +419,11 @@ public void handleMessage(Message msg)
case MESSAGE_OBD_NRC:
// reset OBD mode to prevent infinite error loop
setObdService(ObdProt.OBD_SVC_NONE, getText(R.string.obd_error));
// if elm should be reset on NRC, then do it now
if(prefs.getBoolean(ELM_RESET_ON_NRC, false))
{
mCommService.elm.reset();
}
// show error dialog ...
evt = (PropertyChangeEvent) msg.obj;
String nrcMessage = (String)evt.getNewValue();
Expand Down
4 changes: 4 additions & 0 deletions src/com/fr3ts0n/ecu/prot/obd/ObdProt.java
Original file line number Diff line number Diff line change
Expand Up @@ -504,6 +504,8 @@ public synchronized int handleTelegram(char[] buffer)
String error = String.format(nrc.toString(svc));
// log error
log.error(error);
// switch off any active service
setService(OBD_SVC_NONE, true);
// notify change listeners
firePropertyChange(new PropertyChangeEvent(this, PROP_NRC, null, error));
// handling finished
Expand Down Expand Up @@ -676,6 +678,8 @@ public int getService()
*/
public void reset()
{
// switch off any active service
setService(OBD_SVC_NONE, true);
// clear command queue
cmdQueue.clear();
// clear supported PIDs
Expand Down

0 comments on commit 27cb5ba

Please sign in to comment.