Here is the current version I am using with xDrip+ It works really well in my tests so far.
What this does:
Adds an optional local broadcast of the data which is received by xDrip+ facilitating the data feed
Adds watch battery level reporting to the app
Adds power saving options for the watchface, including disabling the NFC when not in use, adjusting the CPU clock speed and active cores and completely disabling the touch screen driver.
Adds support for detecting/reporting root which is needed for the above power saving functions.
Additional preference option to disable all alarms (watch/phone) when using xDrip+
xDrip+ uses the raw value from the sensor and so I have extended the protocol to include this data as well as battery level and root status.
I consider the original LibreAlarm code to be pretty elegant. My new code for handling the root features is much less elegant.
One reason for this is that, for example, the NFC subsystem is inconsistent in processing requests and its timings and the implemented code flow is the most reliable method I found interacting with it. The root power saving features were added with a rapid prototyping phase where I had to experiment to find what would actually work.
Another example is that when the synaptics touchscreen driver is disabled at the kernel level this upsets once service which we then have to restart to avoid runaway cpu usage.
Please let me know what you think of these changes?
Here is the current version I am using with xDrip+ It works really well in my tests so far.
What this does:
xDrip+ uses the raw value from the sensor and so I have extended the protocol to include this data as well as battery level and root status.
I consider the original LibreAlarm code to be pretty elegant. My new code for handling the root features is much less elegant.
One reason for this is that, for example, the NFC subsystem is inconsistent in processing requests and its timings and the implemented code flow is the most reliable method I found interacting with it. The root power saving features were added with a rapid prototyping phase where I had to experiment to find what would actually work.
Another example is that when the synaptics touchscreen driver is disabled at the kernel level this upsets once service which we then have to restart to avoid runaway cpu usage.
Please let me know what you think of these changes?
Thanks. Jon