diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsPreferenceConst.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsPreferenceConst.java
index 3691ff41c5..0da2751719 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsPreferenceConst.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsPreferenceConst.java
@@ -650,5 +650,6 @@ public class DeviceSettingsPreferenceConst {
public static final String PREF_DEVICE_STRESS_TEST_CONNECT_PARALLEL = "pref_device_stress_test_connect_parallel";
public static final String PREF_DEVICE_STRESS_TEST_DISPOSE = "pref_device_stress_test_dispose";
- public static final String PREF_ATC_TSLR_PAPER_MODEL = "pref_atc_tslr_paper_model";
+ public static final String PREF_ATC_TLSR_PAPER_MODEL = "pref_atc_tlsr_paper_model";
+ public static final String PREF_ATC_TLSR_PAPER_BLE_ADV_INTERVAL = "pref_atc_tlsr_ble_adv_interval";
}
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java
index 5481ed5ec0..533f5972a1 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java
@@ -967,7 +967,8 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
addPreferenceHandlerFor(PREF_CALENDAR_MAX_DESC_LENGTH);
addPreferenceHandlerFor(PREF_CALENDAR_TARGET_APP);
- addPreferenceHandlerFor(PREF_ATC_TSLR_PAPER_MODEL);
+ addPreferenceHandlerFor(PREF_ATC_TLSR_PAPER_MODEL);
+ addPreferenceHandlerFor(PREF_ATC_TLSR_PAPER_BLE_ADV_INTERVAL);
final Preference dischargeIntervalsSet = findPreference(PREF_BATTERY_DISCHARGE_INTERVALS_SET);
if (dischargeIntervalsSet != null) {
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/atctlsrpaper/ATCTLSRPaperDeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/atctlsrpaper/ATCTLSRPaperDeviceSupport.java
index b64ff019bb..340368c585 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/atctlsrpaper/ATCTLSRPaperDeviceSupport.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/atctlsrpaper/ATCTLSRPaperDeviceSupport.java
@@ -240,14 +240,18 @@ public class ATCTLSRPaperDeviceSupport extends AbstractBTLESingleDeviceSupport {
buf.position(32);
epaper_colors = buf.get();
+ buf.position(41);
+ int ble_adv_interval = buf.getShort() & 0xffff;
+
if (epaper_width == 200 && epaper_height == 200 && model == 0x26) {
model = 10000; //HACK for unsupported HS 154 BWRY JD
}
- LOG.info("decoded data: version={}, width={}, height={}, nr_colors={}, w/h swapped={}, model={}", version, epaper_width, epaper_height, epaper_colors, is_wh_swapped, model);
+ LOG.info("decoded data: version={}, width={}, height={}, nr_colors={}, w/h swapped={}, model={} ble_adv_interval={}", version, epaper_width, epaper_height, epaper_colors, is_wh_swapped, model, ble_adv_interval);
SharedPreferences.Editor editor = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).edit();
- editor.putString(DeviceSettingsPreferenceConst.PREF_ATC_TSLR_PAPER_MODEL, String.valueOf(model));
+ editor.putString(DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_MODEL, String.valueOf(model));
+ editor.putString(DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_BLE_ADV_INTERVAL, String.valueOf(ble_adv_interval));
editor.apply();
final TransactionBuilder builder = new TransactionBuilder("set initialized");
@@ -257,22 +261,31 @@ public class ATCTLSRPaperDeviceSupport extends AbstractBTLESingleDeviceSupport {
@Override
public void onSendConfiguration(String config) {
- TransactionBuilder builder;
- try {
- builder = performInitialized("Sending configuration for option: " + config);
- if (DeviceSettingsPreferenceConst.PREF_ATC_TSLR_PAPER_MODEL.equals(config)) {
- SharedPreferences sharedPrefs = GBApplication.getDeviceSpecificSharedPrefs(getDevice().getAddress());
- String display_model = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_ATC_TSLR_PAPER_MODEL, "1");
- int model = Integer.parseInt(display_model);
- if (model == 10000) {// HACK: this is for the HS 213 BWRY JD type
- builder.write(getCharacteristic(UUID_CHARACTERISTIC_MAIN), COMMAND_CONFIGURE_HS_154_BWRY_JD);
- } else {
- builder.write(getCharacteristic(UUID_CHARACTERISTIC_MAIN), new byte[]{0x00, 0x04, 0x00, (byte) model});
+ if (DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_MODEL.equals(config)
+ || DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_BLE_ADV_INTERVAL.equals(config)
+ ) {
+ TransactionBuilder builder;
+ SharedPreferences sharedPrefs = GBApplication.getDeviceSpecificSharedPrefs(getDevice().getAddress());
+ try {
+ builder = performInitialized("Sending configuration for option: " + config);
+ if (DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_MODEL.equals(config)) {
+ String display_model = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_MODEL, "1");
+ int model = Integer.parseInt(display_model);
+ if (model == 10000) {// HACK: this is for the HS 213 BWRY JD type
+ builder.write(getCharacteristic(UUID_CHARACTERISTIC_MAIN), COMMAND_CONFIGURE_HS_154_BWRY_JD);
+ } else {
+ builder.write(getCharacteristic(UUID_CHARACTERISTIC_MAIN), new byte[]{0x00, 0x04, 0x00, (byte) model});
+ }
}
+ if (DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_BLE_ADV_INTERVAL.equals(config)) {
+ String bt_adv_interval = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_BLE_ADV_INTERVAL, "1000");
+ int interval = Integer.parseInt(bt_adv_interval);
+ builder.write(getCharacteristic(UUID_CHARACTERISTIC_MAIN), new byte[]{0x00, 0x08, (byte) (interval & 0xff), (byte) ((interval >> 8) & 0xff)});
+ }
+ builder.queue(getQueue());
+ } catch (IOException e) {
+ GB.toast("Error setting configuration", Toast.LENGTH_LONG, GB.ERROR, e);
}
- builder.queue(getQueue());
- } catch (IOException e) {
- GB.toast("Error setting configuration", Toast.LENGTH_LONG, GB.ERROR, e);
}
}
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index af71b89aa4..a2d95b2ab7 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -5090,4 +5090,26 @@
- 36
- 39
+
+
+ - 625ms
+ - 2000ms
+ - 2500ms
+ - 3125ms
+ - 3750ms
+ - 4375ms
+ - 5000ms
+ - 6250ms
+
+
+
+ - 1000
+ - 3200
+ - 4000
+ - 5000
+ - 6000
+ - 7000
+ - 8000
+ - 10000
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fbf31d2aac..90085f84a3 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -4086,4 +4086,5 @@
same image already on device
sending image
Display Model
+ BLE Advertising Interval
diff --git a/app/src/main/res/xml/devicesettings_atc_trsr_paper.xml b/app/src/main/res/xml/devicesettings_atc_trsr_paper.xml
index 94040cbc52..39be99837c 100644
--- a/app/src/main/res/xml/devicesettings_atc_trsr_paper.xml
+++ b/app/src/main/res/xml/devicesettings_atc_trsr_paper.xml
@@ -4,7 +4,14 @@
android:defaultValue="1"
android:entries="@array/atc_tlsr_paper_models"
android:entryValues="@array/atc_tlsr_paper_models_values"
- android:key="pref_atc_tslr_paper_model"
+ android:key="pref_atc_tlsr_paper_model"
android:summary="%s"
android:title="@string/pref_atc_tlsr_model_title" />
+