From: Michael Gernoth Date: Mon, 4 Jul 2011 19:52:14 +0000 (+0200) Subject: set settle_time and poll_time X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/ms2-fixes/commitdiff_plain/75fbc6ef01e26a9a385034769980a75cf5cdd083?ds=sidebyside set settle_time and poll_time --- diff --git a/MS2Debounce/src/de/rmdir/ms2debounce/DebounceModuleHelper.java b/MS2Debounce/src/de/rmdir/ms2debounce/DebounceModuleHelper.java index 5e2a476..174f89b 100644 --- a/MS2Debounce/src/de/rmdir/ms2debounce/DebounceModuleHelper.java +++ b/MS2Debounce/src/de/rmdir/ms2debounce/DebounceModuleHelper.java @@ -25,6 +25,8 @@ public class DebounceModuleHelper public void loadModule() { _loadModule(); setDelay(getSavedDelay()); + setSettle(getSavedSettle()); + setPoll(getSavedPoll()); } protected void runAsRoot(String command) throws java.io.IOException,java.lang.InterruptedException { @@ -96,41 +98,65 @@ public class DebounceModuleHelper return loaded; } - public synchronized int getDelay() { - int debounce_delay = -1; + private synchronized int getValue(String parameter) { + int value = -1; try { String read; - FileReader delay = new FileReader("/sys/devices/debounce/debounce_delay"); - BufferedReader delay_buf = new BufferedReader(delay); + FileReader fr = new FileReader("/sys/devices/debounce/" + parameter); + BufferedReader fbuf = new BufferedReader(fr); - read = delay_buf.readLine(); + read = fbuf.readLine(); if (read != null) { - debounce_delay = Integer.parseInt(read.trim()); + value = Integer.parseInt(read.trim()); } - delay_buf.close(); + fbuf.close(); } catch (Exception e) {} - return debounce_delay; + return value; } - public synchronized void setDelay(int debounce_delay) { + private synchronized void setValue(String parameter, int value) { if (!isLoaded()) { return; } try { - FileWriter delay = new FileWriter("/sys/devices/debounce/debounce_delay"); - BufferedWriter delay_buf = new BufferedWriter(delay); + FileWriter fw = new FileWriter("/sys/devices/debounce/" + parameter); + BufferedWriter fbuf = new BufferedWriter(fw); - delay_buf.write((new Integer(debounce_delay)).toString()); + fbuf.write((new Integer(value)).toString()); - delay_buf.close(); + fbuf.close(); } catch (Exception e) {} } + public synchronized int getDelay() { + return getValue("debounce_delay"); + } + + public synchronized void setDelay(int debounce_delay) { + setValue("debounce_delay", debounce_delay); + } + + public synchronized int getSettle() { + return getValue("settle_time"); + } + + public synchronized void setSettle(int settle_time) { + setValue("settle_time", settle_time); + } + + public synchronized int getPoll() { + return getValue("poll_time"); + } + + public synchronized void setPoll(int poll_time) { + setValue("poll_time", poll_time); + } + public synchronized int getSavedDelay() { SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); @@ -145,6 +171,34 @@ public class DebounceModuleHelper editor.commit(); } + public synchronized int getSavedSettle() { + SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); + + return settings.getInt("settle_time", 100); + } + + public synchronized void setSavedSettle(int settle) { + SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = settings.edit(); + + editor.putInt("settle_time", settle); + editor.commit(); + } + + public synchronized int getSavedPoll() { + SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); + + return settings.getInt("poll_time", 10); + } + + public synchronized void setSavedPoll(int poll) { + SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = settings.edit(); + + editor.putInt("poll_time", poll); + 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);