Class: Fit4Ruby::FitDeveloperDataFieldDefinition
- Inherits:
-
BinData::Record
- Object
- BinData::Record
- Fit4Ruby::FitDeveloperDataFieldDefinition
show all
- Includes:
- FitDefinitionFieldBase
- Defined in:
- lib/fit4ruby/FitDeveloperDataFieldDefinition.rb
Instance Method Summary
collapse
fit_type_to_bin_data, #is_array?, #set_length, #set_type, #total_bytes, undefined_value
Instance Method Details
#base_type_bytes ⇒ Object
36
37
38
|
# File 'lib/fit4ruby/FitDeveloperDataFieldDefinition.rb', line 36
def base_type_bytes
FIT_TYPE_DEFS[checked_base_type_number][3]
end
|
#byte_count ⇒ Object
40
41
42
|
# File 'lib/fit4ruby/FitDeveloperDataFieldDefinition.rb', line 40
def byte_count
size_in_bytes
end
|
#find_field_definition ⇒ Object
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# File 'lib/fit4ruby/FitDeveloperDataFieldDefinition.rb', line 48
def find_field_definition
return @field_definition if @field_definition
tlr = parent.parent.fit_entity
@field_definition = tlr.field_descriptions.find do |fd|
fd.field_definition_number == field_number.snapshot &&
fd.developer_data_index == developer_data_index.snapshot
end
unless @field_definition
Log.error "Unknown developer field #{field_number.snapshot} " +
"for developer #{developer_data_index.snapshot}"
return nil
end
@field_definition
end
|
#name ⇒ Object
27
28
29
30
|
# File 'lib/fit4ruby/FitDeveloperDataFieldDefinition.rb', line 27
def name
"developer_field_#{developer_data_index.snapshot}_" +
"#{field_number.snapshot}"
end
|
#to_s(value) ⇒ Object
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# File 'lib/fit4ruby/FitDeveloperDataFieldDefinition.rb', line 65
def to_s(value)
return '' if value.nil?
if (field_definition = find_field_definition)
"#{value} #{find_field_definition.units}"
else
if value.kind_of?(Array)
s = '[ '
value.each do |v|
v /= @field_def.scale.to_f if @field_def.scale
v -= @fielid_def.offset if @field_def.offset
s << to_s(v) + ' '
end
s + ']'
return s
else
field_number = field_definition_number.snapshot
value /= @field_def.scale.to_f if @field_def.scale
value -= @fielid_def.offset if @field_def.offset
return value.to_s
end
end
end
|
#type ⇒ Object
32
33
34
|
# File 'lib/fit4ruby/FitDeveloperDataFieldDefinition.rb', line 32
def type
FIT_TYPE_DEFS[checked_base_type_number][1]
end
|
#undefined_value ⇒ Object
44
45
46
|
# File 'lib/fit4ruby/FitDeveloperDataFieldDefinition.rb', line 44
def undefined_value
FIT_TYPE_DEFS[checked_base_type_number][2]
end
|