module Fit::File::Types

Public Class Methods

add_type(name, type, option = {}) click to toggle source
# File lib/fit/file/types.rb, line 8
def add_type(name, type, option = {})
  @@types[name] = option.merge({:basic_type => type})
end
bitfield_value(bitfield, values, parameters = nil) click to toggle source
# File lib/fit/file/types.rb, line 32
def bitfield_value(bitfield, values, parameters = nil)
  res = ''
  values.each do |key, val|
    if key & bitfield != 0
      res << '/' unless res.empty?
      res << val
    end
  end
  res
end
date_time_value(time, values, parameters) click to toggle source
# File lib/fit/file/types.rb, line 17
def date_time_value(time, values, parameters)
  val = values.invert
  if time < val['min']
    time.to_s
  else
    res= parameters[:utc] ? Time.utc(1989,12,31) + time : Time.local(1989,12,31) + time
    res.to_s
  end
end
get_type_definition(name) click to toggle source
# File lib/fit/file/types.rb, line 12
def get_type_definition(name)
  return @@types[name] if @@types.has_key? name
  nil
end
message_index_value(msg_index, values, parameters = nil) click to toggle source
# File lib/fit/file/types.rb, line 27
def message_index_value(msg_index, values, parameters = nil)
  val = values.invert
  msg_index & val['mask']
end