mirror of
https://github.com/atsunatsu/Look4Sat.git
synced 2026-10-03 19:27:24 +00:00
feat(passes/radar): port pass history + compass calibration, cumulative what's new
- Pass history (Iu-yang1 fork): PassesSettings.hoursBefore look-back window; second 'Time before' slider in the pass filter; completed passes stay listed (progress clamped to [0,1]) in the history window. - Compass calibration (Iu-yang1 fork): OtherSettings.compassOffsetDegrees, CompassAccuracy from the magnetic sensor, calibration dialog with figure-eight accuracy meter, corrected heading and manual offset field; RadarViewModel applies the offset. - What's New dialog now shows the cumulative 4.4.6->4.4.7 changelog and follows the system language (values/ + values-zh/). - pass_filter_history_hours localized in es/ru/si/tr/uk.
This commit is contained in:
1 parent
3591960d55
commit
bf492e3f8b
20 files changed
+363
-29
No files matched your search
@@ -82,7 +82,7 @@ class RadarViewModel(
|
||||
private val _uiState = MutableStateFlow(
|
||||
RadarState(
|
||||
isUtc = settingsRepo.otherSettings.value.stateOfUtc,
|
||||
orientationValues = sensorsRepo.sensorData.value,
|
||||
orientationValues = correctedOrientation(sensorsRepo.sensorData.value),
|
||||
shouldShowSweep = settingsRepo.otherSettings.value.stateOfSweep,
|
||||
shouldUseCompass = settingsRepo.otherSettings.value.stateOfSensors,
|
||||
sstv = SstvSubState(selectedMode = settingsRepo.otherSettings.value.sstvMode)
|
||||
@@ -102,12 +102,19 @@ class RadarViewModel(
|
||||
viewModelScope.launch {
|
||||
sensorsRepo.enableSensor()
|
||||
sensorsRepo.sensorData.collect { data ->
|
||||
val orientationValues = (data.first + magDeclination) to data.second
|
||||
val orientationValues = correctedOrientation(data)
|
||||
_uiState.update { it.copy(orientationValues = orientationValues) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** 指南针方位 = 传感器方位 + 磁偏角 + 手动偏置(compassOffsetDegrees, 校准用). */
|
||||
private fun correctedOrientation(data: Pair<Float, Float>): Pair<Float, Float> {
|
||||
val offset = settingsRepo.otherSettings.value.compassOffsetDegrees
|
||||
val azimuth = ((data.first + magDeclination + offset) % 360f + 360f) % 360f
|
||||
return azimuth to data.second
|
||||
}
|
||||
|
||||
private fun collectSettingsChanges() {
|
||||
viewModelScope.launch {
|
||||
settingsRepo.otherSettings.collectLatest { settings ->
|
||||
|
||||
Reference in new issue
Block a user