Mercurial > public > ostc4
comparison Discovery/Src/tCCR.c @ 980:7149f372b0ba Evo_2_23
Fix a couple of bugs in the scrubber timer:
- double speed scrubber countdown in simulator mode
- unwanted updating of last scrubber use date in simulator mode
- invalid remaining scrubber display in surface mode
(mikeller)
| author | heinrichsweikamp |
|---|---|
| date | Tue, 04 Feb 2025 13:49:43 +0100 |
| parents | 4d98fb2a178e |
| children | 5a690195b6b7 |
comparison
equal
deleted
inserted
replaced
| 979:e7cd7ffd1879 | 980:7149f372b0ba |
|---|---|
| 335 else | 335 else |
| 336 tCCR_fallbackToFixedSetpoint(); | 336 tCCR_fallbackToFixedSetpoint(); |
| 337 } | 337 } |
| 338 } | 338 } |
| 339 | 339 |
| 340 /* decrease scrubber timer only if we are not bailed out */ | 340 // If we are in the simulator the counter is updated in `simulator.c` |
| 341 if((pSettings->scrubTimerMode != SCRUB_TIMER_OFF) && (isLoopMode(pSettings->dive_mode)) && (stateUsed->mode == MODE_DIVE) && isLoopMode(stateUsed->diveSettings.diveMode)) | 341 if (!is_stateUsedSetToSim()) { |
| 342 { | 342 /* decrease scrubber timer only if we are not bailed out */ |
| 343 ScrubberTimeoutCount++; | 343 if((pSettings->scrubTimerMode != SCRUB_TIMER_OFF) && (isLoopMode(pSettings->dive_mode)) && (stateUsed->mode == MODE_DIVE) && isLoopMode(stateUsed->diveSettings.diveMode)) |
| 344 if(ScrubberTimeoutCount >= 600) /* resolution is minutes */ | 344 { |
| 345 { | 345 ScrubberTimeoutCount++; |
| 346 ScrubberTimeoutCount = 0; | 346 if(ScrubberTimeoutCount >= 600) /* resolution is minutes */ |
| 347 if(stateUsed->scrubberDataDive[pSettings->scubberActiveId].TimerCur > MIN_SCRUBBER_TIME) | 347 { |
| 348 { | 348 ScrubberTimeoutCount = 0; |
| 349 stateUsedWrite->scrubberDataDive[pSettings->scubberActiveId].TimerCur--; | 349 if(stateUsed->scrubberDataDive[pSettings->scubberActiveId].TimerCur > MIN_SCRUBBER_TIME) |
| 350 } | 350 { |
| 351 translateDate(stateUsed->lifeData.dateBinaryFormat, &stateUsedWrite->scrubberDataDive[pSettings->scubberActiveId].lastDive); | 351 stateUsedWrite->scrubberDataDive[pSettings->scubberActiveId].TimerCur--; |
| 352 } | 352 } |
| 353 translateDate(stateUsed->lifeData.dateBinaryFormat, &stateUsedWrite->scrubberDataDive[pSettings->scubberActiveId].lastDive); | |
| 354 } | |
| 355 } | |
| 353 } | 356 } |
| 354 } | 357 } |
| 355 | 358 |
| 356 void tCCR_SetRXIndication(void) | 359 void tCCR_SetRXIndication(void) |
| 357 { | 360 { |
