package fit

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module FitSource

Sourcetype header = {
  1. protocol : int;
  2. profile : int;
  3. length : int;
    (*

    size of data blocks in file

    *)
}
Sourcetype value =
  1. | Enum of int
  2. | String of string
  3. | Int of int
  4. | Float of float
  5. | Unknown

A value is part of a data record. The interpretation of the value depends on the record and there is no obvious interpretation for a value by itself

Sourcetype record = {
  1. msg : int;
  2. fields : (int * value) list;
}

A record holds a set of values. The purpose of the record is implied by its msg member. Each field in a record has a value and an int position. The combination of msg and position conveys the interpretation of that value and it is defined by the FIT protocol. At this level, no interpretation is provided

Sourcetype t = {
  1. header : header;
  2. records : record list;
}

A FIT file has a header and a list of records (in reversed order)

Sourceval parse : string -> (t, string) result

parse fit parses the binary content fit, typically loaded from a file

Sourceval header : string -> (header, string) result

header fit parse just the header of a fit stream

Sourceval read_file : max_size:int -> string -> string

read_file path reads a file into a string. The file must not exceed max_size

Sourceval read : ?max_size:int -> string -> (t, string) result

read path reads a FIT file from path in the file system. The input file must not exceed max_size (100kb by default) to protect against attacks when reading user-provided files

Sourceval to_json : t -> Yojson.t

represent FIT file as JSON. This includes decoding some common fields in "record" messages.

Sourcemodule Decode : sig ... end

values reported as part of a record are often encoded or scaled. This module provides typical decoders. How values are decoded depends on the field and the information is not part of the FIT file per se but is part of the format definition.

Sourcemodule Record : sig ... end

decode "record" messages

Sourceval records : t -> Record.t list

Extract and decode common fields

OCaml

Innovation. Community. Security.