Method: NMEAPlus::Message::AIS::VDMPayload::VDMMsg8d1f22#payload_bitstring=

Defined in:
lib/nmea_plus/message/ais/vdm_payload/vdm_msg8d1f22.rb

#payload_bitstring=(val) ⇒ Object


16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/nmea_plus/message/ais/vdm_payload/vdm_msg8d1f22.rb', line 16

def payload_bitstring=(val)
  # Override default bitstring setting to dynamically calculate what SubArea fields belong in this message
  super

  @sub_areas = []
  (111...val.length).step(87).each do |pos|
    shape_id = _u(pos, 3)  # 3 bits at the beginning form the shape ID
    container = _dynamic_subarea_container(shape_id)
    container.payload_bitstring = payload_bitstring[pos..(pos + 87)]
    @sub_areas << container
  end
end