/** * Read lap */ protected function readLap() { $Lap = new Lap($this->TrackdataLoop->difference(Trackdata\Object::TIME), $this->TrackdataLoop->difference(Trackdata\Object::DISTANCE)); $Lap->setTrackDuration($this->TrackdataLoop->time()); $Lap->setTrackDistance($this->TrackdataLoop->distance()); $Lap->setHR($this->TrackdataLoop->average(Trackdata\Object::HEARTRATE), $this->TrackdataLoop->max(Trackdata\Object::HEARTRATE)); $this->addElevationFor($Lap); $this->Laps->add($Lap); }
/** * Add all laps to xml */ protected function setLaps() { $Starttime = $this->Context->activity()->timestamp(); $Loop = new Trackdata\Loop($this->Context->trackdata()); while (!$Loop->isAtEnd()) { $Loop->nextKilometer(); $TimeInSeconds = $Loop->difference(Trackdata\Object::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\Object::DISTANCE)); if ($this->Context->trackdata()->has(Trackdata\Object::HEARTRATE)) { $AvgBpm = $Lap->addChild('AverageHeartRateBpm'); $AvgBpm->addChild('Value', $Loop->average(Trackdata\Object::HEARTRATE)); $MaxBpm = $Lap->addChild('MaximumHeartRateBpm'); $MaxBpm->addChild('Value', $Loop->max(Trackdata\Object::HEARTRATE)); } $Lap->addChild('Intensity', 'Active'); $Lap->addChild('TriggerMethod', 'Distance'); $Lap->addChild('Track'); // TODO: Calories? } $this->setTrack(); }