log_reader.h
Go to the documentation of this file.
1 #include <pybind11/pybind11.h>
2 #include <pybind11/stl.h>
3 #include <pybind11/numpy.h>
4 
5 #include "InertialSense.h"
6 #include "ISLogger.h"
7 
8 //#include "Eigen/Core"
9 //#include "Eigen/St dVector"
10 
11 #ifdef WIN32
12 #pragma comment(lib, "SHELL32.LIB")
13 #endif
14 
15 namespace py = pybind11;
16 using namespace std;
17 
18 typedef struct
19 {
20  std::vector<std::vector<obsd_t>> obs;
21  std::vector<eph_t> eph;
22  std::vector<geph_t> gloEph;
23  std::vector<sbsmsg_t> sbas;
24  std::vector<sta_t> sta;
25  std::vector<ion_model_utc_alm_t> ion;
27 
28 struct DeviceLog
29 {
30  vector<dev_info_t> devInfo;
31  vector<system_fault_t> sysFault;
32  vector<preintegrated_imu_t> preintegratedImu;
33  vector<ins_1_t> ins1;
34  vector<ins_2_t> ins2;
35  vector<gps_pos_t> gps1UbxPos;
36  vector<system_command_t> sysCmd;
37 // vector<ascii_msgs_t> asciiBcastPeriod;
38 // vector<rmc_t> rmc;
39  vector<sys_params_t> sysParams;
40  vector<sys_sensors_t> sysSensors;
41  vector<nvm_flash_cfg_t> flashConfig;
42  vector<gps_pos_t> gps1Pos;
43  vector<gps_pos_t> gps2Pos;
44  vector<gps_sat_t> gps1Sat;
45  vector<gps_sat_t> gps2Sat;
46  vector<gps_version_t> gps1Version;
47  vector<gps_version_t> gps2Version;
48  vector<mag_cal_t> magCal;
49  vector<internal_diagnostic_t> internalDiagnostic;
50  vector<gps_rtk_rel_t> gps1RtkPosRel;
51  vector<gps_rtk_rel_t> gps1RtkCmpRel;
52  vector<gps_rtk_misc_t> gps1RtkPosMisc;
53  vector<gps_rtk_misc_t> gps1RtkCmpMisc;
54  // vector<feature_bits_t> featureBits;
55  // vector<sensors_w_temp_t> sensorsIs1;
56  // vector<sensors_w_temp_t> sensorsIs2;
57  // vector<sensors_t> sensorsTcBias;
58  vector<io_t> io;
59  // vector<sys_sensors_adc_t> sensorsAdc;
60  // vector<sensor_compensation_t> scomp;
61  vector<gps_vel_t> gps1Vel;
62  vector<gps_vel_t> gps2Vel;
63  // vector<hdw_params_t> hdwParams;
64  // vector<nvr_manage_t> nvrManageUserpage;
65  // vector<nvm_group_sn_t> nvrUserpageSn;
66  // vector<nvm_group_0_t> nvrUserpageG0;
67  // vector<nvm_group_1_t> nvrUserpageG1;
68  // vector<rtos_info_t> rtosInfo;
69  vector<debug_string_t> debugString;
70  vector<debug_array_t> debugArray;
71  vector<sensors_mpu_w_temp_t> sensorsCal1;
72  vector<sensors_mpu_w_temp_t> sensorsCal2;
73  // vector<sensor_cal_t> calSc;
74  // vector<sensor_cal_mpu_t> calSc1;
75  // vector<sensor_cal_mpu_t> calSc2;
76  vector<sys_sensors_t> sysSensorsSigma;
77  vector<sys_sensors_adc_t> sensorsAdcSigma;
78  // vector<ins_dev_1_t> insDev1;
79  vector<inl2_states_t> inl2States;
80  vector<inl2_status_t> inl2Status;
81  // vector<inl2_misc_t> inl2Misc;
82  vector<magnetometer_t> magnetometer;
83  vector<barometer_t> barometer;
84  vector<gps_pos_t> gps1RtkPos;
85  vector<dual_imu_t> dualImuRaw;
86  vector<dual_imu_t> dualImu;
87  vector<inl2_mag_obs_info_t> inl2MagObsInfo;
88  vector<gps_raw_wrapper_t> gpsBaseRaw {1};
89 // vector<gps_rtk_opt_t> gpsRtkOpt;
90  vector<manufacturing_info_t> manufacturingInfo;
91  vector<bit_t> bit;
92  vector<ins_3_t> ins3;
93  vector<ins_4_t> ins4;
94  vector<inl2_ned_sigma_t> inl2NedSigma;
95  vector<strobe_in_time_t> strobeInTime;
96  vector<gps_raw_wrapper_t> gps1Raw {1};
97  vector<gps_raw_wrapper_t> gps2Raw {1};
98  vector<wheel_encoder_t> wheelEncoder;
99  // vector<wheel_encoder_config_t> wheelEncoderConfig;
100  vector<diag_msg_t> diagnosticMessage;
101  vector<survey_in_t> surveyIn;
102 // vector<evb2_t> evb2;
103  // vector<rtk_state_t> rtkState;
104  vector<rtk_residual_t> rtkCodeResidual;
105  vector<rtk_residual_t> rtkPhaseResidual;
106  vector<rtk_debug_t> rtkDebug;
107  // vector<rtk_debug_2_t> rtkDebug2;
108 // vector<port_monitor_t> portMonitor;
109 };
110 
111 template <typename T>
112 struct DataLog
113 {
114  int id;
115  std::vector<T> data;
116 
117  DataLog(int _id)
118  {
119  _id = id;
120  }
121 };
122 
123 
125 {
126 public:
127  LogReader();
128  ~LogReader();
129  bool init(py::object python_class, std::string log_directory, pybind11::list serials);
130  bool load();
131  void exitHack();
132 
133  template <typename T>
134  void forward_message(eDataIDs did, std::vector<T>& vec, int id);
135 
136  template <typename T>
137  void log_message(int did, uint8_t* msg, std::vector<T>& vec)
138  {
139  vec.push_back(*(T*)msg);
140  }
141 
142 private:
143  void organizeData(int device_id);
144  void forwardData(int id);
145 
147  DeviceLog* dev_log_ = nullptr;
148 };
vector< io_t > io
Definition: log_reader.h:58
vector< diag_msg_t > diagnosticMessage
Definition: log_reader.h:100
vector< rtk_residual_t > rtkCodeResidual
Definition: log_reader.h:104
std::vector< eph_t > eph
Definition: log_reader.h:21
vector< inl2_ned_sigma_t > inl2NedSigma
Definition: log_reader.h:94
void log_message(int did, uint8_t *msg, std::vector< T > &vec)
Definition: log_reader.h:137
vector< dual_imu_t > dualImu
Definition: log_reader.h:86
vector< gps_rtk_misc_t > gps1RtkPosMisc
Definition: log_reader.h:52
vector< system_command_t > sysCmd
Definition: log_reader.h:36
vector< gps_version_t > gps1Version
Definition: log_reader.h:46
vector< wheel_encoder_t > wheelEncoder
Definition: log_reader.h:98
vector< mag_cal_t > magCal
Definition: log_reader.h:48
vector< dev_info_t > devInfo
Definition: log_reader.h:30
bool init(test_data_t &t)
vector< system_fault_t > sysFault
Definition: log_reader.h:31
int id
Definition: log_reader.h:114
vector< rtk_debug_t > rtkDebug
Definition: log_reader.h:106
uint32_t eDataIDs
Definition: data_sets.h:32
vector< sensors_mpu_w_temp_t > sensorsCal2
Definition: log_reader.h:72
vector< inl2_states_t > inl2States
Definition: log_reader.h:79
vector< gps_pos_t > gps2Pos
Definition: log_reader.h:43
vector< ins_2_t > ins2
Definition: log_reader.h:34
vector< magnetometer_t > magnetometer
Definition: log_reader.h:82
vector< nvm_flash_cfg_t > flashConfig
Definition: log_reader.h:41
std::vector< T > data
Definition: log_reader.h:115
std::vector< geph_t > gloEph
Definition: log_reader.h:22
vector< ins_1_t > ins1
Definition: log_reader.h:33
vector< gps_rtk_rel_t > gps1RtkCmpRel
Definition: log_reader.h:51
vector< gps_version_t > gps2Version
Definition: log_reader.h:47
vector< manufacturing_info_t > manufacturingInfo
Definition: log_reader.h:90
vector< sys_sensors_t > sysSensors
Definition: log_reader.h:40
vector< bit_t > bit
Definition: log_reader.h:91
std::vector< std::vector< obsd_t > > obs
Definition: log_reader.h:20
vector< gps_vel_t > gps2Vel
Definition: log_reader.h:62
vector< rtk_residual_t > rtkPhaseResidual
Definition: log_reader.h:105
vector< debug_string_t > debugString
Definition: log_reader.h:69
std::vector< ion_model_utc_alm_t > ion
Definition: log_reader.h:25
vector< debug_array_t > debugArray
Definition: log_reader.h:70
vector< sys_sensors_adc_t > sensorsAdcSigma
Definition: log_reader.h:77
DataLog(int _id)
Definition: log_reader.h:117
vector< sys_params_t > sysParams
Definition: log_reader.h:39
vector< dual_imu_t > dualImuRaw
Definition: log_reader.h:85
vector< ins_4_t > ins4
Definition: log_reader.h:93
vector< gps_rtk_misc_t > gps1RtkCmpMisc
Definition: log_reader.h:53
vector< gps_pos_t > gps1UbxPos
Definition: log_reader.h:35
vector< gps_sat_t > gps1Sat
Definition: log_reader.h:44
cISLogger logger_
Definition: log_reader.h:146
vector< gps_rtk_rel_t > gps1RtkPosRel
Definition: log_reader.h:50
vector< sys_sensors_t > sysSensorsSigma
Definition: log_reader.h:76
vector< inl2_mag_obs_info_t > inl2MagObsInfo
Definition: log_reader.h:87
vector< gps_pos_t > gps1RtkPos
Definition: log_reader.h:84
vector< inl2_status_t > inl2Status
Definition: log_reader.h:80
vector< preintegrated_imu_t > preintegratedImu
Definition: log_reader.h:32
vector< sensors_mpu_w_temp_t > sensorsCal1
Definition: log_reader.h:71
std::vector< sbsmsg_t > sbas
Definition: log_reader.h:23
vector< gps_pos_t > gps1Pos
Definition: log_reader.h:42
vector< survey_in_t > surveyIn
Definition: log_reader.h:101
vector< barometer_t > barometer
Definition: log_reader.h:83
vector< ins_3_t > ins3
Definition: log_reader.h:92
vector< gps_vel_t > gps1Vel
Definition: log_reader.h:61
std::vector< sta_t > sta
Definition: log_reader.h:24
vector< internal_diagnostic_t > internalDiagnostic
Definition: log_reader.h:49
vector< strobe_in_time_t > strobeInTime
Definition: log_reader.h:95
vector< gps_sat_t > gps2Sat
Definition: log_reader.h:45


inertial_sense_ros
Author(s):
autogenerated on Sat Sep 19 2020 03:19:04