Class: Fit::File::Definition::Field
- Inherits:
-
BinData::Record
- Object
- BinData::Record
- Fit::File::Definition::Field
- Defined in:
- lib/fit/file/definition.rb
Instance Method Summary collapse
- #data ⇒ Object
- #dyn_data ⇒ Object
-
#length ⇒ Object
return the length in byte of the given type.
- #name ⇒ Object
- #raw_name ⇒ Object
- #real_type ⇒ Object
- #scale ⇒ Object
-
#size ⇒ Object
field_size is in byte.
- #type ⇒ Object
Instance Method Details
#data ⇒ Object
14 15 16 17 18 |
# File 'lib/fit/file/definition.rb', line 14 def data @data ||= Definitions.get_field(parent.parent..snapshot, field_definition_number.snapshot) || { :name => "field_#{field_definition_number.snapshot}", :scale => nil } end |
#dyn_data ⇒ Object
20 21 22 23 |
# File 'lib/fit/file/definition.rb', line 20 def dyn_data @dyn_data ||= Definitions.get_dynamic_fields(parent.parent..snapshot, field_definition_number.snapshot) end |
#length ⇒ Object
return the length in byte of the given type
87 88 89 |
# File 'lib/fit/file/definition.rb', line 87 def length @length end |
#name ⇒ Object
25 26 27 |
# File 'lib/fit/file/definition.rb', line 25 def name data[:name] end |
#raw_name ⇒ Object
29 30 31 |
# File 'lib/fit/file/definition.rb', line 29 def raw_name "raw_#{name}" end |
#real_type ⇒ Object
37 38 39 |
# File 'lib/fit/file/definition.rb', line 37 def real_type data[:type] end |
#scale ⇒ Object
33 34 35 |
# File 'lib/fit/file/definition.rb', line 33 def scale data[:scale] end |
#size ⇒ Object
field_size is in byte
82 83 84 |
# File 'lib/fit/file/definition.rb', line 82 def size field_size end |
#type ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/fit/file/definition.rb', line 41 def type case base_type_number.snapshot when 0 # enum build_int_type 8, false when 1 build_int_type 8, true when 2 build_int_type 8, false when 3 build_int_type 16, true when 4 build_int_type 16, false when 5 build_int_type 32, true when 6 build_int_type 32, false when 7 # some cases found where string has the max field length # and is therefore not null terminated @length = 1 "string" when 8 @length = 4 "float" when 9 @length = 8 "double" when 10 # uint8z build_int_type 8, false when 11 # uint16z build_int_type 16, false when 12 # uint32z build_int_type 32, false when 13 # array of bytes build_int_type 8, false else raise "Can't map base_type_number #{base_type_number} to a data type" end end |