Skip to content

Commit 7e19e11

Browse files
Merge pull request #4 from WebPlatformForEmbedded/timer
minor corrections (alignment, magic value, redundant check)
2 parents bb90442 + 5a689e6 commit 7e19e11

2 files changed

Lines changed: 11 additions & 8 deletions

File tree

Launcher.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,9 @@ SERVICE_REGISTRATION(Launcher, 1, 0);
116116
if (timeMode == RELATIVE) { //Schedule Job at relative timing
117117
scheduledTime = Core::Time::Now();
118118

119-
uint64_t timeValueToTrigger = ((((time.Hours() != (uint8_t)(~0)) ? time.Hours(): 0) * MinutesPerHour +
120-
((time.Minutes() != (uint8_t)(~0)) ? time.Minutes(): 0)) * SecondsPerMinute + time.Seconds()) * MilliSecondsPerSecond;
119+
120+
uint64_t timeValueToTrigger = (((time.Hours() ? time.Hours(): 0) * MinutesPerHour +
121+
(time.Minutes() ? time.Minutes(): 0)) * SecondsPerMinute + time.Seconds()) * MilliSecondsPerSecond;
121122
scheduledTime.Add(timeValueToTrigger);
122123

123124
}
@@ -214,14 +215,16 @@ Core::Time Launcher::FindAbsoluteTimeForSchedule(const Time& absoluteTime, const
214215

215216
if (interval.IsValid() == false) {
216217
if (slotTime < startTime) {
217-
uint32_t jump (absoluteTime.HasHours() ? HoursPerDay * MinutesPerHour * SecondsPerMinute : (absoluteTime.HasMinutes() ? MinutesPerHour * SecondsPerMinute : SecondsPerMinute));
218-
slotTime.Add(jump * 100);
218+
uint32_t jump ((absoluteTime.HasHours() ? HoursPerDay * MinutesPerHour * SecondsPerMinute :
219+
(absoluteTime.HasMinutes() ? MinutesPerHour * SecondsPerMinute : SecondsPerMinute)) * MilliSecondsPerSecond);
220+
221+
slotTime.Add(jump);
219222
}
220223
}
221224
else {
222-
uint32_t intervalJump = ( (interval.HasHours() ? interval.Hours() * MinutesPerHour * SecondsPerMinute : 0) +
225+
uint32_t intervalJump = ( (interval.HasHours() ? interval.Hours() * MinutesPerHour * SecondsPerMinute : 0) +
223226
(interval.HasMinutes() ? interval.Minutes() * SecondsPerMinute : 0) +
224-
interval.Seconds() ) * 100;
227+
interval.Seconds() ) * MilliSecondsPerSecond;
225228

226229
ASSERT (intervalJump != 0);
227230
if (slotTime >= startTime) {

Launcher.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -537,8 +537,8 @@ class Launcher : public PluginHost::IPlugin {
537537
if (_interval.IsValid() == true) {
538538
// Reschedule our next launch point...
539539
Core::Time scheduledTime(Core::Time::Now());
540-
uint64_t intervalTime = ((((_interval.Hours() != (uint8_t)(~0)) ? _interval.Hours(): 0) * MinutesPerHour +
541-
((_interval.Minutes() != (uint8_t)(~0)) ? _interval.Minutes():0)) * SecondsPerMinute + _interval.Seconds()) * MilliSecondsPerSecond;
540+
uint64_t intervalTime = (((_interval.Hours() ? _interval.Hours(): 0) * MinutesPerHour +
541+
(_interval.Minutes() ? _interval.Minutes():0)) * SecondsPerMinute + _interval.Seconds()) * MilliSecondsPerSecond;
542542
scheduledTime.Add(intervalTime);
543543
PluginHost::WorkerPool::Instance().Schedule(scheduledTime,Core::ProxyType<Core::IDispatch>(*this));
544544
}

0 commit comments

Comments
 (0)