Beispiel #1
0
 /**
  * Go to end and read last lap
  */
 protected function finish()
 {
     $this->TrackdataLoop->goToEnd();
     if (!is_null($this->RouteLoop)) {
         $this->RouteLoop->goToEnd();
     }
     $this->readLap();
 }
Beispiel #2
0
 /**
  * Add all laps to xml
  */
 protected function setLaps()
 {
     $Starttime = $this->Context->activity()->timestamp();
     $Loop = new Trackdata\Loop($this->Context->trackdata());
     while (!$Loop->isAtEnd()) {
         if ($this->TrackdataHas[Trackdata\Entity::DISTANCE]) {
             $Loop->nextKilometer();
         } else {
             $Loop->goToEnd();
         }
         $TimeInSeconds = $Loop->difference(Trackdata\Entity::TIME);
         $Lap = $this->Activity->addChild('Lap');
         $Lap->addAttribute('StartTime', $this->timeToString($Starttime + $Loop->time() - $TimeInSeconds));
         $Lap->addChild('TotalTimeSeconds', $TimeInSeconds);
         $Lap->addChild('DistanceMeters', 1000 * $Loop->difference(Trackdata\Entity::DISTANCE));
         if ($this->TrackdataHas[Trackdata\Entity::HEARTRATE]) {
             $Lap->addChild('AverageHeartRateBpm')->addChild('Value', $Loop->average(Trackdata\Entity::HEARTRATE));
             $Lap->addChild('MaximumHeartRateBpm')->addChild('Value', $Loop->max(Trackdata\Entity::HEARTRATE));
         }
         $Lap->addChild('Intensity', 'Active');
         $Lap->addChild('TriggerMethod', 'Distance');
         $Lap->addChild('Track');
         // TODO: Calories?
     }
     $this->setTrack();
 }