class PostRunner::MonitoringDB

Public Class Methods

new(store, cfg) click to toggle source
# File lib/postrunner/MonitoringDB.rb, line 17
def initialize(store, cfg)
  @store = store
end

Public Instance Methods

add(fit_file_name, fit_monitoring_b) click to toggle source
# File lib/postrunner/MonitoringDB.rb, line 21
def add(fit_file_name, fit_monitoring_b)
  start_time = fit_monitoring_b.monitoring_infos[0].timestamp

  fit_monitoring_b.monitorings.each do |monitoring|
    if (cati = monitoring.current_activity_type_intensity)
      data.activity_type = decode_activity_type(cati & 0x1F)
      data.intensity = (cati >> 5) & 0x7
      #puts "#{monitoring.timestamp}: #{decode_activity_type(cati & 0x1F)}" +
      #     "  #{(cati >> 5) & 0x7}"
    end
  end
end

Private Instance Methods

decode_activity_type(activity_type) click to toggle source
# File lib/postrunner/MonitoringDB.rb, line 36
def decode_activity_type(activity_type)
  types = [ :generic, :running, :cycling, :transition,
            :fitness_equipment, :swimming, :walking, :unknown7,
            :resting, :unknown9 ]
  if (decoded_type = types[activity_type])
    decoded_type
  else
    Log.error "Unknown activity type #{activity_type}"
    :generic
  end
end