android:text="0"
android:enabled="false"
android:background="@android:drawable/editbox_background"/>
+<CheckBox
+ android:id="@+id/drive_inactive"
+ android:layout_alignBaseline="@id/poll_label"
+ android:layout_toRightOf="@id/poll_time"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:onClick="toggle_drive_inactive"
+ android:text="Drive inactive pins" />
<TextView
android:id="@+id/hw_debounce_label"
android:layout_width="wrap_content"
setPoll(getSavedPoll());
setHwDebounce(getSavedHwDebounce());
setHwDebounceTime(getSavedHwDebounceTime());
+ setDriveInactive(getSavedDriveInactive());
}
public void loadModule() {
setValue("hw_debounce_time", time);
}
+ public synchronized boolean getDriveInactive() {
+ if (getValue("drive_inactive_flag") == 1)
+ return true;
+
+ return false;
+ }
+
+ public synchronized void setDriveInactive(boolean enable) {
+ if (enable)
+ setValue("drive_inactive_flag", 1);
+ else
+ setValue("drive_inactive_flag", 0);
+ }
+
public synchronized int getSavedDelay() {
SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
public synchronized boolean getSavedHwDebounce() {
SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
- return settings.getBoolean("hw_debounce", true);
+ return settings.getBoolean("hw_debounce", false);
}
public synchronized void setSavedHwDebounce(boolean enable) {
editor.commit();
}
+ public synchronized boolean getSavedDriveInactive() {
+ SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
+
+ return settings.getBoolean("drive_inactive", false);
+ }
+
+ public synchronized void setSavedDriveInactive(boolean enable) {
+ SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
+ SharedPreferences.Editor editor = settings.edit();
+
+ editor.putBoolean("drive_inactive", enable);
+ editor.commit();
+ }
+
public synchronized boolean is_safe_to_load() {
SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
return settings.getBoolean("safe_to_load", false);
private int poll_time;
private boolean hw_debounce_en;
private int hw_debounce_time;
+ private boolean drive_inactive_en;
public MS2Debounce()
{
poll_time = module.getPoll();
hw_debounce_en = module.getHwDebounce();
hw_debounce_time = module.getHwDebounceTime();
+ drive_inactive_en = module.getDriveInactive();
TextView text = (TextView)findViewById(R.id.text);
text.setText("Module loaded: " + loaded + "\n" +
"settle_time: " + settle_time + "us\n" +
"poll_time: " + poll_time + "ms\n" +
"safe_to_load: " + safe_to_load + " (module loaded by this app)\n" +
- "hw_debounce: " + (hw_debounce_en?"enabled":"disabled") + ", " + ((hw_debounce_time+1)*31) + "us (" + hw_debounce_time + ")");
+ "hw_debounce: " + (hw_debounce_en?"en":"dis") + "abled, " + ((hw_debounce_time+1)*31) + "us (" + hw_debounce_time + "), drive inactive: " + (drive_inactive_en?"en":"dis") + "abled");
EditText textDelay = (EditText)findViewById(R.id.debounce_delay);
textDelay.setText(Integer.toString(module.getSavedDelay()));
CheckBox hw_debounce = (CheckBox)findViewById(R.id.hw_debounce);
hw_debounce.setChecked(module.getSavedHwDebounce());
hw_debounce.setEnabled(true);
+
+ CheckBox drive_inactive = (CheckBox)findViewById(R.id.drive_inactive);
+ drive_inactive.setChecked(module.getSavedDriveInactive());
+ drive_inactive.setEnabled(true);
}
private void disableUI() {
CheckBox hw_debounce = (CheckBox)findViewById(R.id.hw_debounce);
hw_debounce.setEnabled(false);
+
+ CheckBox drive_inactive = (CheckBox)findViewById(R.id.drive_inactive);
+ drive_inactive.setEnabled(false);
}
public void loadModule(View view) {
module.setSavedHwDebounce(hw_debounce.isChecked());
}
+ public void toggle_drive_inactive(View view) {
+ CheckBox drive_inactive = (CheckBox)view;
+
+ module.setSavedDriveInactive(drive_inactive.isChecked());
+ }
+
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();