31 {
32
33 out_msg->mutable_header()->set_timestamp_sec(
34 scan_msg->basetime() / 1000000000.0);
35 out_msg->mutable_header()->set_module_name(
36 scan_msg->header().module_name());
37 out_msg->mutable_header()->set_frame_id(scan_msg->header().frame_id());
38 out_msg->set_height(1);
39 out_msg->set_measurement_time(scan_msg->basetime() / 1000000000.0);
40 out_msg->mutable_header()->set_sequence_num(
41 scan_msg->header().sequence_num());
42 gps_base_usec_ = scan_msg->basetime();
43
44 const unsigned char *difop_ptr
45 = (const unsigned char *)scan_msg->difop_pkts(0).data().c_str();
46
47 two_bytes angle_1, angle_2, angle_3, angle_4;
48 angle_1.bytes[0] = difop_ptr[87];
49 angle_1.bytes[1] = difop_ptr[86];
50 prism_angle128[0] = angle_1.uint * 0.01;
51
52 angle_2.bytes[0] = difop_ptr[89];
53 angle_2.bytes[1] = difop_ptr[88];
54 prism_angle128[1] = angle_2.uint * 0.01;
55
56 angle_3.bytes[0] = difop_ptr[91];
57 angle_3.bytes[1] = difop_ptr[90];
58 prism_angle128[2] = angle_3.uint * 0.01;
59
60 angle_4.bytes[0] = difop_ptr[93];
61 angle_4.bytes[1] = difop_ptr[92];
62 prism_angle128[3] = angle_4.uint * 0.01;
63
64 packets_size = scan_msg->firing_pkts_size();
65
66 for (size_t i = 0; i < packets_size; ++i) {
67 Unpack(static_cast<int>(i),
68 scan_msg->firing_pkts(static_cast<int>(i)),
69 out_msg);
72 }
73
74 if (out_msg->point().empty()) {
75
77 }
78
79 out_msg->set_width(out_msg->point_size());
80}