Commit Graph

136 Commits

Author SHA1 Message Date
Dennis Guse ce26e20571 Sensor: on start register GPS only once.
Part of #2369.
2026-08-17 15:49:14 +02:00
Dennis Guse 00be0b565c Cleanup: removed unused methods and constants. 2026-07-26 15:50:01 +02:00
Dennis Guse c4a1fb0d98 Cleanup. 2026-07-23 22:39:17 +02:00
Dennis Guse 74169cb819 Code cleanup using static code analysis (Android Studio). 2026-07-21 07:31:25 +02:00
Kilian Lackhove 796fa216f6 added bosch cadence sensor 2026-05-09 21:46:44 +02:00
Kilian Lackhove d58342233c fix onSharedPreferenceChanged for cyclingPowerHandler 2026-05-08 17:15:39 +02:00
Kilian Lackhove 1129c96562 initial support for Bosch ebike BLE power sensor 2026-04-27 21:04:33 +02:00
stickflowerfightclub 9b7e858d1d Sensors: Fix excessive altitude gain by enforcing SAMPLING_PERIOD on internal barometer.
On some modern devices like Pixel 8 Pro, the internal pressure sensor ignores the requested sampling period in registerListener and sends data at high frequency (~50Hz). This floods the AltitudeChangeHandler with noise, causing absurdly high altitude gain (e.g., 38km for a flat run).
This commit adds a manual throttle in BarometerInternal to strictly respect the SAMPLING_PERIOD (5s), allowing the exponential smoothing to work as intended.
2026-04-13 20:00:30 +02:00
Dennis Guse 4e400c60f6 Bugfix: GPS via Bluetooth is not yet support and should therefore not be configurable.
Fixes #2294.
2026-03-14 12:16:20 +01:00
Dennis Guse f45dad167b Cleanup: ExportImportTest actually use implementation. 2026-02-27 22:08:10 +01:00
Dennis Guse 8cba53cfe4 Cleanup. 2026-02-17 06:27:11 +01:00
Dennis Guse fcedb9c444 Bugfix: crash when heartrate sensor did not send data continuously.
Introduced in 1a14fed287

Fixes #2281.
2026-02-17 06:26:43 +01:00
Dennis Guse 447d1bb7a3 Bugfix: speed and altitude were set to 0m repeatedly (UI only. Data is okay).
Fixes #2258.
2026-02-15 09:08:48 +01:00
Dennis Guse d12423522e Cleanup. 2026-02-15 09:08:48 +01:00
Dennis Guse 24f052491b Cleanup: Move current time handling into SensorManager. 2026-02-15 09:08:48 +01:00
Dennis Guse 00fcbb070a Cleanup. 2026-02-10 22:04:47 +01:00
Dennis Guse 60e2fe57f9 Bugfix: SensorHandler may receive a connectionLost from BluetoothDriver without being connected first. 2026-02-10 18:13:13 +01:00
Dennis Guse 14cebf3fec Aggregator: there are no default values anymore. 2026-02-10 11:13:57 +01:00
Dennis Guse b651a8ca6a GPS is now optional: data source (internal, none) be selected in settings.
Migrated to GPSHandler.

Fixes #1279.
2026-02-10 10:07:41 +01:00
Dennis Guse 0b849c3d55 CyclingDistanceSpeedHandler: uses wheel size (again).
Skipped while to SensorHandler: a5dcbec3961957dfc651cf4ffd62ec075324c0ba
2026-02-09 18:15:37 +01:00
Dennis Guse 1c767c41a7 DriverObserver: renamed methods and all drivers properly use onConnected, onConnectionLost and onDisconnected. 2026-02-09 18:15:37 +01:00
Dennis Guse dfa80d61d7 Restored functionality: sensor name/address is shown AFTER connecting. 2026-02-09 18:15:37 +01:00
Dennis Guse fa558c9ab7 Cleanup: SensorManager avoids instanceof for testing. 2026-02-09 18:15:37 +01:00
Dennis Guse a1a363698f SensorHandler now interacts with Aggregator. 2026-02-09 18:15:37 +01:00
Dennis Guse b79acfb942 Cleanup: SensorManager provides context and handler. 2026-02-09 18:15:37 +01:00
Dennis Guse 24ea718ff2 Cleanup: renamed GainManager to AltitudeChangeHandler. 2026-02-09 18:15:37 +01:00
Dennis Guse 6d187fa66d Cleanup: removed DriverObserver0 and moved sensor drivers to separate package. 2026-02-09 18:15:37 +01:00
Dennis Guse ea27db13fa Created RunningSpeedCadenceDistanceHandler. 2026-02-09 18:15:37 +01:00
Dennis Guse 29d2e7c78c Created CyclingPowerHandler. 2026-02-09 18:15:37 +01:00
Dennis Guse 4b7badbecc Created CyclingDistanceSpeedHandler. 2026-02-09 18:15:37 +01:00
Dennis Guse 0dcb8010e2 Created CyclingCadenceHandler. 2026-02-09 18:15:37 +01:00
Dennis Guse 0a9d4b207c Created TemperatureHandler. 2026-02-09 18:15:37 +01:00
Dennis Guse c6cb388ce4 Created HeartRateHandler. 2026-02-09 18:15:37 +01:00
Dennis Guse e6e009ba14 GainManager should only re-connect if sensor should be changed. 2026-02-09 18:15:37 +01:00
Dennis Guse f8aa456549 Extract SensorHandler from GainManager for re-use. 2026-02-09 18:15:37 +01:00
Dennis Guse 167d90332e Extract Driver for internal GPS to GpsInternal. 2026-02-09 18:15:37 +01:00
Dennis Guse 719a052f34 Cleanup: merged BluetoothRemoteSensorManager into SensorManager.
Preparation for refactoring.
2026-02-09 18:15:37 +01:00
Dennis Guse 244ca26210 Cleanup: created new DriverObserver interface. 2026-02-09 18:15:37 +01:00
Dennis Guse 476f3a517b Cleanup: GainManager now processes AggregatorBarometer directly (instead of SensorManager). 2026-02-09 18:15:37 +01:00
Dennis Guse 289e93eb5d Cleanup: moved AggregatorGPS to GPSManager. 2026-02-09 18:15:37 +01:00
Dennis Guse 18ff96733e Cleanup: moved Raw into Aggregator.
Preparation for refactoring.
2026-02-09 18:15:37 +01:00
Dennis Guse 0f2c5adf26 Cleanup: SensorManager.SensorDataChangedObserver inlined into SensorManager.
Preparation for refactoring.
2026-02-09 18:15:37 +01:00
Dennis Guse 74954df600 Cleanup: SensorManager.SensorDataChangedObserver inlined into SensorManager.
Preparation for refactoring.
2026-02-09 18:15:37 +01:00
Dennis Guse 1a14fed287 Cleanup: SensorDataAggregator inlined into SensorManager.
Preparation for refactoring.
2026-02-09 18:15:37 +01:00
Dennis Guse 744853ee91 Cleanup: removed SensorConnector interface.
Preparation for refactoring.
2026-02-09 18:15:37 +01:00
Dennis Guse 54844b9a9a Sensor: add temperature.
Fixes #2241.
2026-01-10 21:43:54 +01:00
Dennis Guse 738201c1c2 Cleanup. 2026-01-04 09:57:05 +01:00
Dennis Guse 707f4add71 Cleanup: GpsStatusManager only needs Position. 2025-12-28 08:59:19 +01:00
Dennis Guse 015352c989 TrackPoint is now a record. 2025-12-24 17:15:19 +01:00
frazou afd1232940 Fix null race-condition for heart rate sensor data
The previous implementation was technically safe because the sensor
never had null values. Now that it can, the calls to getHeartRate
must be stored instead of repeated to avoid a race condition where the
sensor data become null between the null-check and the second call
2025-12-07 19:16:42 +01:00