module F4R::GlobalFit

Provides the FIT SDK global definition for all objects. Sometimes more information is needed in order to be able to decode FIT files so definitions for these undocumented messages and types (based on guesses ) is also provided.

Public Class Methods

base_types() click to toggle source

Type definitions provide a FIT to F4R (BinData) type conversion table.

@return [Array<Hash>] data types.

# File lib/f4r.rb, line 443
def self.base_types
  @@base_types ||= Helper.new.get_base_types.freeze
end
messages() click to toggle source

Collection of defined (FIT SDK) and undefined (F4R) messages.

Message fields without field_def (e.i., field's number/id within the message) which usually mean that they are either sub-fields or not defined properly (e.i., invalid) get filtered out. Results come from {Helper#get_messages}.

@example GlobalFit.messages

[
  {
    :name=>"file_id",
    :number=>0,
    :fields=> [...]
  },
  {
    :name=>"file_creator",
    :number=>49,
    :fields=> [...]
  }
  ...
]

@return [Array<Hash>] of FIT messages

# File lib/f4r.rb, line 397
def self.messages
  @@messages ||= Helper.new.get_messages.freeze
end
types() click to toggle source

Collection of defined (FIT SDK) and undefined (F4R) types. Results come from {Helper#get_types}.

@example GlobalFit.types

{
  file:
  {
    base_type: :enum,
    values: [
      {value_name: "device",
      value: 1,
      comment: "Read only, single file. Must be in root directory."},
      {
        value_name: "settings",
        value: 2,
        comment: "Read/write, single file. Directory=Settings"},
      ...
    ]
  },
  tissue_model_type:
  {
    base_type: :enum,
    values: [
      {
        value_name: "zhl_16c",
        value: 0,
        comment: "Buhlmann's decompression algorithm, version C"}]},
  ...
}

@return [Hash] Fit Profile types.

# File lib/f4r.rb, line 434
def self.types
  @@types ||= Helper.new.get_types.freeze
end