6
6
7
7
#include " location.h"
8
8
9
+ #define TRAJECTORY_SIZE 33
10
+
9
11
Location::Location (){
10
12
qDebug () << " Location constuct()!" ;
11
- m_sm = new SubMaster ({" controlsState" , " gpsLocationExternal" });
13
+ m_sm = new SubMaster ({" modelV2 " , " controlsState" , " gpsLocationExternal" });
12
14
// m_sm = new SubMaster({"thermal","controlsState"});
13
15
14
16
}
@@ -21,35 +23,85 @@ void Location::handle_message(){
21
23
SubMaster sm = *(m_sm);
22
24
23
25
// GpsLocationData
26
+
27
+
28
+ float edgeX[TRAJECTORY_SIZE];
29
+ float edgeY[TRAJECTORY_SIZE];
30
+ float edgeZ[TRAJECTORY_SIZE];
31
+
32
+ long frameIdx;
24
33
25
34
26
35
while (1 ){
36
+
27
37
if (sm.update (0 ) > 0 ){
28
- qDebug () << " got update" ;
29
- if (sm.updated (" controlsState" )) {
38
+
39
+ // qDebug() << "got update: while";
40
+ if (sm.updated (" modelV2" )) {
41
+ // qDebug() << "got update: modelV2";
30
42
31
- // cereal::Event::Reader
32
- auto event = sm[" controlsState" ];
33
- // event.getControlsState();
34
- controls_state = event.getControlsState ();
35
- vel = controls_state.getVEgo ();
43
+ auto event = sm[" modelV2" ];
44
+ model = event.getModelV2 ();
45
+
46
+ for (int re_idx = 0 ; re_idx < 2 ; re_idx++) {
47
+ if (model.getRoadEdgeStds ().size () > re_idx) {
48
+ road_edge_std[re_idx] = model.getRoadEdgeStds ()[re_idx];
49
+
50
+ // qDebug() << "RE IF";
36
51
52
+ road_edges = model.getRoadEdges ()[re_idx];
53
+ for (int i = 0 ; i < TRAJECTORY_SIZE; i++) {
54
+ edgeX[i] = road_edges.getX ()[i];
55
+ edgeY[i] = road_edges.getY ()[i];
56
+ edgeZ[i] = road_edges.getZ ()[i];
57
+ // qDebug() << "re_idx: " << re_idx << "; x: " << road_edges.getX()[i] << "; y: " << road_edges.getY()[i] << "; z: " << road_edges.getZ()[i];
58
+
59
+ }
60
+ } else {
61
+ qDebug () << " got update: road_edge_std1.0" ;
62
+ road_edge_std[re_idx] = 1.0 ;
63
+ }
64
+ }
37
65
38
- // getVEgo()
39
- emit newMsg ();
40
- // auto data = sm["radarState"].getRadarState();
41
- // scene.lead_data[0] = data.getLeadOne();
42
- // scene.lead_data[1] = data.getLeadTwo();
43
- }
66
+ // csv printer
67
+ frameIdx++;
68
+ for (int i = 0 ; i < TRAJECTORY_SIZE; i++) {
69
+ qDebug () << frameIdx << " ," << edgeX[i] << " ," << edgeY[i] << " ," << edgeZ[i];
70
+ }
44
71
45
- if (sm.updated (" gpsLocationExternal" )){
46
- auto event = sm[" gpsLocationExternal" ];
47
- gps_state = event.getGpsLocationExternal ();
48
- lat = gps_state.getLatitude ();
49
- lon = gps_state.getLongitude ();
50
- bea = gps_state.getBearing ();
51
- qDebug () << " got GPS data!" ;
72
+
73
+
52
74
}
75
+
76
+
77
+
78
+ // if (sm.updated("controlsState")) {
79
+ // // qDebug() << "got update: controlsState";
80
+
81
+ // // cereal::Event::Reader
82
+ // auto event = sm["controlsState"];
83
+ // // event.getControlsState();
84
+ // controls_state = event.getControlsState();
85
+ // vel = controls_state.getVEgo();
86
+
87
+
88
+ // // getVEgo()
89
+ // emit newMsg();
90
+ // // auto data = sm["radarState"].getRadarState();
91
+ // // scene.lead_data[0] = data.getLeadOne();
92
+ // // scene.lead_data[1] = data.getLeadTwo();
93
+ // }
94
+
95
+ // if (sm.updated("gpsLocationExternal")){
96
+ // // qDebug() << "got update: gpsLocationExternal";
97
+
98
+ // auto event = sm["gpsLocationExternal"];
99
+ // gps_state = event.getGpsLocationExternal();
100
+ // lat = gps_state.getLatitude();
101
+ // lon = gps_state.getLongitude();
102
+ // bea = gps_state.getBearing();
103
+ // qDebug() << "got GPS data!";
104
+ // }
53
105
}
54
106
}
55
107
}
0 commit comments