Giter Club home page Giter Club logo

fit-php's Introduction

fit-php

A PHP class to encode and decode Garmin .FIT files, based on the FIT SDK. The FIT SDK can be found at: http://www.thisisant.com/resources/fit

Example

<?php
//Create some data, always set a message 'file_id'.
$time = time() - mktime(0,0,0,12,31,1989);
$data = new \Fit\Data;
$data->setFile(\Fit\FileType::activity);
$data
    ->add('file_id', array(
        'type'                  => \Fit\FileType::activity,
        'manufacturer'          => \Fit\Manufacturer::development,
        'product'               => 0,
        'serial_number'         => 0,
        'time_created'          => $time,
    ))
    ->add('activity', array(
        'timestamp'             => $time,
        'num_sessions'          => 1,
        'type'                  => \Fit\Activity::manual,
        'event'                 => \Fit\Event::workout,
        'event_type'            => \Fit\EventType::start,
    ))
    ->add('event', array(
        'timestamp'             => $time,
        'event_type'            => \Fit\EventType::start,
    ))
    ->add('session', array(
        'sport'                 => \Fit\Sport::cycling,
        'sub_sport'             => \Fit\SubSport::spin,
        'total_elapsed_time'    => 0,
        'total_timer_time'      => 0,
        'total_distance'        => 0,
        'total_ascent'          => 0,
    ))
    ->add('record', array(
        'timestamp'             => $time++, 
        'position_lat'          => 0, 
        'position_long'         => 0, 
        'altitude'              => 0, 
        'heart_rate'            => 65, 
        'cadence'               => 45, 
        'distance'              => 0, 
        'power'                 => 0, 
        'temperature'           => 19, 
    ))
    ->add('record', array(
        'timestamp'             => $time++, 
        'position_lat'          => 0, 
        'position_long'         => 0, 
        'altitude'              => 0, 
        'heart_rate'            => 70, 
        'cadence'               => 90, 
        'distance'              => 10, 
        'power'                 => 0, 
        'temperature'           => 19, 
    ))
    ->add('record', array(
        'timestamp'             => $time++, 
        'position_lat'          => 0, 
        'position_long'         => 0, 
        'altitude'              => 0, 
        'heart_rate'            => 73, 
        'cadence'               => 90, 
        'distance'              => 20, 
        'power'                 => 0, 
        'temperature'           => 19, 
    ))
    ->add('event', array(
        'timestamp'             => $time,
        'event_type'            => \Fit\EventType::stop,
    ))
;

$debug = true;

//Write the data
$fitwriter = new \Fit\Writer($debug);
$filepath = $fitwriter->writeData($data);

//Read the data that was just created
$fit = new \Fit\Reader(true);
$fit->parseFile($filepath, $debug);

//Delete the written data
unlink($filepath);

//output the resulting data
echo '<pre>';
var_dump($fit);
echo '</pre>';


fit-php's People

Contributors

krwes avatar

Watchers

James Cloos avatar Ulf Swedin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.