summaryrefslogtreecommitdiff
path: root/daemon/sensorPlugins (follow)
AgeCommit message (Collapse)Author
2023-08-07Add some compensation to the barometerArseniy-Movshev
Here's the justification from the asteroid-toolwatch commit logs: > The app includes a means of 'calibrating' the barometer reading. This is not a system level calibration and only affects the app (or any other apps that choose to use the value I'm setting in dconf). The mechanism was initially inspired by the same feature on Casio's watches: under WearOS, all of Casio's apps use a shared calibration offset for barometer. > The calibration aims to rectify the infamous inaccuracy of the android barometer sensor. While the sensors are generally very precise and can sense small changes in air pressure, the sensors often lose calibraton and hence suffer from zero error. This can be somewhat helped by allowing the user to set a zero point - it seems this allowed Casio to make the sensor into an actually useful feature. > There was discussion about making this calibration into a system-level feature (for example, as a patch to sensorfw or to QtSensors) but I think it's reasonable to expect the sensor to always return the raw value (even if it is wrong) and then have the calibration as a separate, opt-in feature. The daemon uses the same dconf value as in toolwatch.
2023-08-07Add a new logger for barometerArseniy-Movshev
This just logs the raw sensor values, and doesn't do any compensation. The same model as the heartrate sensor, where it's started and then we wait for a reasonable reading to come in.
2023-07-02Move fileaddrecord to common.h so that it can be used from qml pluginArseniy-Movshev
2023-06-20Compensate for steps when daemon starts up and when date changesArseniy-Movshev
This is a radical new approach where we just scrap all steps that have happened outside of the current day. Theoretically, this should be more robust. Remains to be seen whether it actually does work any better.
2023-06-11StepCounter: revert to an offsets modelArseniy-Movshev
It seems that the step counter doesn't actually allow setting the steps value. While setSteps() will cause the reading to change, the step counter may reset back to the previous step count when more steps are taken.
2023-06-05Add a log message to debug failing step counter resetsArseniy-Movshev
2023-06-02Make sure we aren't writing to previous day if today file existsArseniy-Movshev
some other checks should also be put in place to make sure that we aren't decreasing the previous day's step count
2023-06-01Add a check for whether the daemon is starting the first time this bootArseniy-Movshev
2023-06-01step counter: Make sure that there's a time for the last record when sensor ↵Arseniy-Movshev
logger is constructed otherwise the next recording would assume that a midnight has passed and write bad values to the sensor
2023-06-01Move to resetting the sensor in hardwareArseniy-Movshev
The step counter is now set in hardware to the previous reading + any changes when the daemon starts This means that the step counter now just records the raw step counter value, and adjusts it correctly when needed This introduces a bug where the step counter will show bad readings if the daemon is restarted without a system reboot: the step counter's current value will be added to the last recorded value, which will cause the number of steps to effectively double in most situations. This might be fixed with some code to detect if a system reboot has passed since the last time the counter started.
2023-05-31Clear the step counter in hardware after midnightArseniy-Movshev
The midnight detection code is basic, it just checks if the date has changed between days. So that the user doesn't lose steps on their midnight outings, we write the current value to the previous day's log file before wiping the counter. This will always be the previous day, even if recordings have been missing for a few days.
2023-05-30Move overnight steps compensation code to the place where it's recordedArseniy-Movshev
2023-05-29Make sure step count doesn't duplicateArseniy-Movshev
this works in general, but won't work on devices such as catfish or medaka, which are able to count steps when the step counter isn't active. Those will need custom code in the future.
2023-05-28Allow sensorlogd to set up its directory structureArseniy-Movshev
This code sets up all the paths used by sensorlogd before it is started
2023-05-26Restructure to split to daemon and qml accessorArseniy-Movshev
- add separate subdirs for daemon and qml - add some generic qml boilerplate - add a really lazy 'last value' loader implementation - license the project as gplv3 (add copyright notices and license text)