Sha256: 05c4dabc2c98ce51e9fb28216c6c54eaf3cae6327061c9bacfe29624f9b4966f
Contents?: true
Size: 1.78 KB
Versions: 2
Compression:
Stored size: 1.78 KB
Contents
#!/usr/bin/env ruby -w # encoding: UTF-8 # # = FitDeveloperDataFieldDefinition.rb -- Fit4Ruby - FIT file processing library for Ruby # # Copyright (c) 2017, 2018 by Chris Schlaeger <cs@taskjuggler.org> # # This program is free software; you can redistribute it and/or modify # it under the terms of version 2 of the GNU General Public License as # published by the Free Software Foundation. # require 'bindata' require 'fit4ruby/FitDefinitionFieldBase' require 'fit4ruby/FitTypeDefs' module Fit4Ruby class FitDeveloperDataFieldDefinition < BinData::Record include FitDefinitionFieldBase uint8 :field_number uint8 :size_in_bytes uint8 :developer_data_index def name "developer_field_#{developer_data_index.snapshot}_" + "#{field_number.snapshot}" end def type FIT_TYPE_DEFS[checked_base_type_number][1] end def base_type_bytes FIT_TYPE_DEFS[checked_base_type_number][3] end def byte_count size_in_bytes end private def find_field_definition tlr = parent.parent.fit_entity.top_level_record field = tlr.field_descriptions.find do |fd| fd.field_definition_number == field_number.snapshot && fd.developer_data_index == developer_data_index.snapshot end unless field Log.error "Unknown developer field #{field_number.snapshot} " + "for developer #{developer_data_index.snapshot}" end field end def checked_base_type_number field = find_field_definition base_type_number = field.fit_base_type_id & 0x7F if FIT_TYPE_DEFS.length <= base_type_number Log.error "Unknown FIT Base type #{base_type_number} in " + "Global FIT Message #{name}" return 0 end base_type_number end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fit4ruby-3.1.0 | lib/fit4ruby/FitDeveloperDataFieldDefinition.rb |
fit4ruby-3.0.0 | lib/fit4ruby/FitDeveloperDataFieldDefinition.rb |