moved TCScheduling Service to use timeval internally #735
|
@ -167,7 +167,10 @@ inline ReturnValue_t Service11TelecommandScheduling<MAX_NUM_TCS>::doInsertActivi
|
|||
Clock::getClock_timeval(&tNow);
|
||||
timeval timeDifference = scheduledTime - tNow;
|
||||
// round subseconds up
|
||||
if (timeDifference.tv_sec + 1 <= RELEASE_TIME_MARGIN_SECONDS) {
|
||||
if (timeDifference.tv_usec != 0) {
|
||||
|
||||
timeDifference.tv_sec++;
|
||||
}
|
||||
if (timeDifference.tv_sec <= RELEASE_TIME_MARGIN_SECONDS) {
|
||||
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
||||
sif::warning << "Service11TelecommandScheduling::doInsertActivity: Release time too close to "
|
||||
"current time"
|
||||
|
|
Loading…
Reference in New Issue
Is timeval guaranteed to be signed?
This also rounds up when subsecond micros are 0, is this intended?
Can we use
timestamp <= tNow.tv_sec + RELEASE_TIME_MARGIN_SECONDS
compare logic instead?That is a bit more readable in my opinion.
Changed rounding to be correct.
The unreadable comparison is removed with this PR.