pub fn segment_point_message() -> MessageInfo {
    let mut fields = HashMap::new();
    let field = FieldInfo {
        name: "position_lat",
        field_type: FieldDataType::SInt32,
        def_number: 1,
        scale: 1.000000,
        offset: 0.000000,
        units: "semicircles",
        accumulate: false,
        subfields: Vec::new(),
        components: Vec::new(),
    };
    fields.insert(1, field);
    let field = FieldInfo {
        name: "position_long",
        field_type: FieldDataType::SInt32,
        def_number: 2,
        scale: 1.000000,
        offset: 0.000000,
        units: "semicircles",
        accumulate: false,
        subfields: Vec::new(),
        components: Vec::new(),
    };
    fields.insert(2, field);
    // Accumulated distance along the segment at the described point
    let field = FieldInfo {
        name: "distance",
        field_type: FieldDataType::UInt32,
        def_number: 3,
        scale: 100.000000,
        offset: 0.000000,
        units: "m",
        accumulate: false,
        subfields: Vec::new(),
        components: Vec::new(),
    };
    fields.insert(3, field);
    // Accumulated altitude along the segment at the described point
    let field = FieldInfo {
        name: "altitude",
        field_type: FieldDataType::UInt16,
        def_number: 4,
        scale: 5.000000,
        offset: 500.000000,
        units: "m",
        accumulate: false,
        subfields: Vec::new(),
        components: Vec::new(),
    };
    fields.insert(4, field);
    // Accumualted time each leader board member required to reach the described point. This value is zero for all leader board members at the starting point of the segment.
    let field = FieldInfo {
        name: "leader_time",
        field_type: FieldDataType::UInt32,
        def_number: 5,
        scale: 1000.000000,
        offset: 0.000000,
        units: "s",
        accumulate: false,
        subfields: Vec::new(),
        components: Vec::new(),
    };
    fields.insert(5, field);
    let field = FieldInfo {
        name: "message_index",
        field_type: FieldDataType::MessageIndex,
        def_number: 254,
        scale: 1.000000,
        offset: 0.000000,
        units: "",
        accumulate: false,
        subfields: Vec::new(),
        components: Vec::new(),
    };
    fields.insert(254, field);
    MessageInfo {
        name: "segment_point",
        global_message_number: MesgNum::SegmentPoint,
        fields,
    }
}
/// Navigation and race evaluation point for a segment decribing a point along the segment path and time it took each segment leader to reach that point
Navigation and race evaluation point for a segment decribing a point along the segment path and time it took each segment leader to reach that point
Navigation and race evaluation point for a segment decribing a point along the segment path and time it took each segment leader to reach that point
pub fn segment_point_message() -> MessageInfo {
    let mut fields = HashMap::new();
    let field = FieldInfo {
        name: "position_lat",
        field_type: FieldDataType::SInt32,
        def_number: 1,
        scale: 1.000000,
        offset: 0.000000,
        units: "semicircles",
        accumulate: false,
        subfields: Vec::new(),
        components: Vec::new(),
    };
    fields.insert(1, field);
    let field = FieldInfo {
        name: "position_long",
        field_type: FieldDataType::SInt32,
        def_number: 2,
        scale: 1.000000,
        offset: 0.000000,
        units: "semicircles",
        accumulate: false,
        subfields: Vec::new(),
        components: Vec::new(),
    };
    fields.insert(2, field);
    // Accumulated distance along the segment at the described point
    let field = FieldInfo {
        name: "distance",
        field_type: FieldDataType::UInt32,
        def_number: 3,
        scale: 100.000000,
        offset: 0.000000,
        units: "m",
        accumulate: false,
        subfields: Vec::new(),
        components: Vec::new(),
    };
    fields.insert(3, field);
    // Accumulated altitude along the segment at the described point
    let field = FieldInfo {
        name: "altitude",
        field_type: FieldDataType::UInt16,
        def_number: 4,
        scale: 5.000000,
        offset: 500.000000,
        units: "m",
        accumulate: false,
        subfields: Vec::new(),
        components: Vec::new(),
    };
    fields.insert(4, field);
    // Accumualted time each leader board member required to reach the described point. This value is zero for all leader board members at the starting point of the segment.
    let field = FieldInfo {
        name: "leader_time",
        field_type: FieldDataType::UInt32,
        def_number: 5,
        scale: 1000.000000,
        offset: 0.000000,
        units: "s",
        accumulate: false,
        subfields: Vec::new(),
        components: Vec::new(),
    };
    fields.insert(5, field);
    let field = FieldInfo {
        name: "message_index",
        field_type: FieldDataType::MessageIndex,
        def_number: 254,
        scale: 1.000000,
        offset: 0.000000,
        units: "",
        accumulate: false,
        subfields: Vec::new(),
        components: Vec::new(),
    };
    fields.insert(254, field);
    MessageInfo {
        name: "segment_point",
        global_message_number: MesgNum::SegmentPoint,
        fields,
    }
}
pub fn segment_point_message ( ) -> MessageInfo { let mut fields = HashMap :: new ( ) ; let field = FieldInfo { name : " " , field_type : FieldDataType :: SInt32 , def_number : 1 , scale : 1.000000 , offset : 0.000000 , units : " " , accumulate : false , subfields : Vec :: new ( ) , components : Vec :: new ( ) , } ; fields . insert ( 1 , field ) ; let field = FieldInfo { name : " " , field_type : FieldDataType :: SInt32 , def_number : 2 , scale : 1.000000 , offset : 0.000000 , units : " " , accumulate : false , subfields : Vec :: new ( ) , components : Vec :: new ( ) , } ; fields . insert ( 2 , field ) ; // Accumulated distance along the segment at the described point let field = FieldInfo { name : " " , field_type : FieldDataType :: UInt32 , def_number : 3 , scale : 100.000000 , offset : 0.000000 , units : " " , accumulate : false , subfields : Vec :: new ( ) , components : Vec :: new ( ) , } ; fields . insert ( 3 , field ) ; // Accumulated altitude along the segment at the described point let field = FieldInfo { name : " " , field_type : FieldDataType :: UInt16 , def_number : 4 , scale : 5.000000 , offset : 500.000000 , units : " " , accumulate : false , subfields : Vec :: new ( ) , components : Vec :: new ( ) , } ; fields . insert ( 4 , field ) ; // Accumualted time each leader board member required to reach the described point. This value is zero for all leader board members at the starting point of the segment. let field = FieldInfo { name : " " , field_type : FieldDataType :: UInt32 , def_number : 5 , scale : 1000.000000 , offset : 0.000000 , units : " " , accumulate : false , subfields : Vec :: new ( ) , components : Vec :: new ( ) , } ; fields . insert ( 5 , field ) ; let field = FieldInfo { name : " " , field_type : FieldDataType :: MessageIndex , def_number : 254 , scale : 1.000000 , offset : 0.000000 , units : " " , accumulate : false , subfields : Vec :: new ( ) , components : Vec :: new ( ) , } ; fields . insert ( 254 , field ) ; MessageInfo { name : " " , global_message_number : MesgNum :: SegmentPoint , fields , } }
Navigation and race evaluation point for a segment decribing a point along the segment path and time it took each segment leader to reach that point
Navigation and race evaluation point for a segment decribing a point along the segment path and time it took each segment leader to reach that point