Opened 8 years ago

Closed 5 years ago

#13 closed task (fixed)

.fit files parsing

Reported by: borja Owned by: borja
Priority: major Milestone: OpenWorkouts 0.2
Component: workouts Keywords:
Cc:

Description

Our code supports GPX files when adding/updating a workout.

We should support .fit files too (like the ones exported by garmin devices).

Some resources:

https://github.com/dtcooper/python-fitparse

https://github.com/K-Phoen/python-fitparse

Change History (6)

comment:1 Changed 8 years ago by borja

  • Milestone changed from milestone1 to milestone 0.1

Milestone renamed

comment:2 Changed 8 years ago by borja

  • Milestone changed from milestone 0.1 to OpenWorkouts 0.1

Milestone renamed

comment:3 Changed 8 years ago by borja

  • Milestone changed from OpenWorkouts 0.1 to OpenWorkouts 0.2

comment:4 Changed 5 years ago by borja

  • Owner set to borja
  • Status changed from new to accepted

comment:5 Changed 5 years ago by borja

Implemented here: from [26/OpenWorkouts-current] to [29/OpenWorkouts-current].

Workflow:

  • user clicks on "upload workout
  • user provides a fit file
  • fit file is stored as Workout.fit_file
  • data from the fit file (sport, name, elevation, distance, speed, heart rate, cadence, temperature) is gathered and stored in attributes of the Workout model
  • if the fit file contains gps data (latitude, longitude, distance, etc), a gpx file is generated from the fit file, stored in Workout.tracking_file, so we can show the proper data to the user using the current gpx-ready code in the workout details page. (this covers part of ticket #26)
Last edited 5 years ago by borja (previous) (diff)

comment:6 Changed 5 years ago by borja

  • Resolution set to fixed
  • Status changed from accepted to closed

Tested throughly with different fit files from different devices, with/without extra data like heartrate, cadence, temperature or speed sensor data.

I'm closing this ticket as the basic implementation is done, let's open new tickets if needed for improvements/bugfixes as needed.

Note: See TracTickets for help on using tickets.