28 #include "modules/drivers/gnss/proto/config.pb.h" 67 #pragma pack(push, 1) // Turn off struct padding. 112 static_assert(
sizeof(
LongHeader) == 28,
"Incorrect size of LongHeader");
122 static_assert(
sizeof(
ShortHeader) == 12,
"Incorrect size of ShortHeader");
144 NONE = std::numeric_limits<uint32_t>::max(),
230 static_assert(
sizeof(
BDS_Ephemeris) == 196,
"Incorrect size of BDS_Ephemeris.");
282 static_assert(
sizeof(
GLO_Ephemeris) == 144,
"Incorrect size of GLO_Ephemeris.");
324 static_assert(
sizeof(
GPS_Ephemeris) == 224,
"Incorrect size of GPS_Ephemeris.");
337 char base_station_id[4];
351 static_assert(
sizeof(
BestPos) == 72,
"Incorrect size of BestPos");
363 static_assert(
sizeof(
BestVel) == 44,
"Incorrect size of BestVel");
379 static_assert(
sizeof(
CorrImuData) == 60,
"Incorrect size of CorrImuData");
384 double position_covariance[9];
386 double attitude_covariance[9];
388 double velocity_covariance[9];
391 static_assert(
sizeof(
InsCov) == 228,
"Incorrect size of InsCov");
402 NONE = std::numeric_limits<uint32_t>::max(),
419 static_assert(
sizeof(
InsPva) == 88,
"Incorrect size of InsPva");
449 static_assert(
sizeof(
InsPvaX) == 126,
"Incorrect size of InsPvaX");
482 static_assert(
sizeof(
RawImuX) == 40,
"Incorrect size of RawImuX");
495 static_assert(
sizeof(
RawImu) == 40,
"Incorrect size of RawImu");
516 static_assert(
sizeof(
Heading) == 44,
"Incorrect size of Heading");
518 #pragma pack(pop) // Back to whatever the previous packing mode was. 526 using ::apollo::drivers::gnss::config::ImuType;
529 case ImuType::IMAR_FSAS:
531 return {1.893803441835e-9, 1.52587890625e-6, 200.0};
533 case ImuType::ADIS16488:
535 return {5.8516723170686385e-09, 9.31322574615478515625e-8, 200.0};
537 case ImuType::STIM300:
539 return {8.32237840649762e-09, 2.384185791015625e-07, 125.0};
541 case ImuType::ISA100:
542 case ImuType::ISA100C:
544 return {1.0e-9, 2.0e-8, 200.0};
546 case ImuType::ISA100_400HZ:
547 case ImuType::ISA100C_400HZ:
548 return {1.0e-9, 2.0e-8, 400.0};
551 return {1.7044230976507124e-11, 2.3929443359375006e-10, 125.0};
553 case ImuType::CPT_XW5651:
554 return {1.0850694444444445e-07, 1.52587890625e-06, 100.0};
557 return {6.6581059144655048e-6, 2.99127170628e-5, 20.0};
559 case ImuType::IAM20680:
561 return {0.0001221374045, 9.57680664e-06, 125};
564 return {0.0, 0.0, 0.0};
Definition: novatel_messages.h:70
Definition: novatel_messages.h:484
float latitude_std_dev
Definition: novatel_messages.h:334
uint32_t gps_week
Definition: novatel_messages.h:485
double sampling_rate_hz
Definition: novatel_messages.h:523
Definition: novatel_messages.h:232
double up_velocity
Definition: novatel_messages.h:413
uint16_t freqo
Definition: novatel_messages.h:234
double z_velocity_change
Definition: novatel_messages.h:377
double north_velocity
Definition: novatel_messages.h:429
uint32_t health
Definition: novatel_messages.h:287
uint8_t num_sats_l1
Definition: novatel_messages.h:342
double tdg2
Definition: novatel_messages.h:197
double a1
Definition: novatel_messages.h:201
uint32_t iodc
Definition: novatel_messages.h:314
float height_std
Definition: novatel_messages.h:438
float differential_age
Definition: novatel_messages.h:338
Definition: novatel_messages.h:520
MessageFormat format
Definition: novatel_messages.h:90
uint32_t toe
Definition: novatel_messages.h:205
Definition: novatel_messages.h:78
uint32_t prn
Definition: novatel_messages.h:285
double ecc
Definition: novatel_messages.h:207
double ecc
Definition: novatel_messages.h:297
double dot_I
Definition: novatel_messages.h:311
double east_velocity
Definition: novatel_messages.h:430
float east_velocity_std
Definition: novatel_messages.h:440
uint8_t gps_glonass_used_mask
Definition: novatel_messages.h:349
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
double acc_z
Definition: novatel_messages.h:267
float longitude_std_dev
Definition: novatel_messages.h:335
double cic
Definition: novatel_messages.h:308
constexpr uint16_t CRC_LENGTH
Definition: novatel_messages.h:65
Definition: novatel_messages.h:59
uint32_t P
Definition: novatel_messages.h:277
double crs
Definition: novatel_messages.h:223
double gps_seconds
Definition: novatel_messages.h:369
uint32_t ins_status
Definition: novatel_messages.h:422
float height_std_dev
Definition: novatel_messages.h:336
Definition: novatel_messages.h:38
float latitude_std
Definition: novatel_messages.h:436
float heading
Definition: novatel_messages.h:501
Definition: novatel_messages.h:40
double omega
Definition: novatel_messages.h:208
double latitude
Definition: novatel_messages.h:424
DatumId
Definition: novatel_messages.h:184
uint16_t sloto
Definition: novatel_messages.h:233
Definition: novatel_messages.h:72
uint32_t iode2
Definition: novatel_messages.h:290
Definition: novatel_messages.h:37
double delta_A
Definition: novatel_messages.h:295
uint32_t gps_week
Definition: novatel_messages.h:382
double tow
Definition: novatel_messages.h:286
Definition: novatel_messages.h:49
double x_angle_change
Definition: novatel_messages.h:372
double a0
Definition: novatel_messages.h:200
double vel_z
Definition: novatel_messages.h:261
uint8_t reserved
Definition: novatel_messages.h:345
ImuParameter GetImuParameter(ImuType type)
Definition: novatel_messages.h:527
uint32_t health1
Definition: novatel_messages.h:194
Definition: novatel_messages.h:189
Definition: novatel_messages.h:50
uint8_t num_sats_tracked
Definition: novatel_messages.h:507
double height
Definition: novatel_messages.h:410
float undulation
Definition: novatel_messages.h:427
Definition: novatel_messages.h:71
double azimuth
Definition: novatel_messages.h:434
uint32_t satellite_id
Definition: novatel_messages.h:190
double cus
Definition: novatel_messages.h:219
SolutionType position_type
Definition: novatel_messages.h:328
double gps_seconds
Definition: novatel_messages.h:471
uint32_t toc
Definition: novatel_messages.h:199
MessageId
Definition: novatel_messages.h:35
double dot_omega
Definition: novatel_messages.h:313
double af0
Definition: novatel_messages.h:317
double crs
Definition: novatel_messages.h:307
Definition: novatel_messages.h:36
double N
Definition: novatel_messages.h:321
double gps_seconds
Definition: novatel_messages.h:486
ResponseBit
Definition: novatel_messages.h:84
int32_t z_angle_change
Definition: novatel_messages.h:491
uint8_t num_sats_tracked
Definition: novatel_messages.h:340
double vel_y
Definition: novatel_messages.h:259
Definition: novatel_messages.h:44
uint32_t iode1
Definition: novatel_messages.h:289
uint8_t solution_source
Definition: novatel_messages.h:511
Definition: novatel_messages.h:48
uint32_t aodc
Definition: novatel_messages.h:198
uint16_t elapsed_time
Definition: novatel_messages.h:447
double acc_y
Definition: novatel_messages.h:265
double z_angle_change
Definition: novatel_messages.h:374
double tdg1
Definition: novatel_messages.h:196
double cis
Definition: novatel_messages.h:309
MessageFormat
Definition: novatel_messages.h:77
double vertical_speed
Definition: novatel_messages.h:360
uint32_t imuStatus
Definition: novatel_messages.h:487
uint32_t age
Definition: novatel_messages.h:279
int32_t z_velocity_change
Definition: novatel_messages.h:475
double toe
Definition: novatel_messages.h:293
double x_velocity_change
Definition: novatel_messages.h:375
Definition: novatel_messages.h:42
uint8_t sat_type
Definition: novatel_messages.h:236
Definition: novatel_messages.h:73
float latency
Definition: novatel_messages.h:356
double M_0
Definition: novatel_messages.h:296
double M0
Definition: novatel_messages.h:211
double y_velocity_change
Definition: novatel_messages.h:376
float pitch_std_dev
Definition: novatel_messages.h:505
uint32_t imuStatus
Definition: novatel_messages.h:472
double up_velocity
Definition: novatel_messages.h:431
double roll
Definition: novatel_messages.h:414
int32_t y_angle_change_neg
Definition: novatel_messages.h:479
Definition: novatel_messages.h:80
double A
Definition: novatel_messages.h:294
Definition: novatel_messages.h:467
double acc_x
Definition: novatel_messages.h:263
uint8_t num_sats_l2
Definition: novatel_messages.h:510
uint8_t reserved_1
Definition: novatel_messages.h:238
SolutionStatus solution_status
Definition: novatel_messages.h:354
double omega
Definition: novatel_messages.h:300
double ura
Definition: novatel_messages.h:322
SolutionType position_type
Definition: novatel_messages.h:499
int32_t x_velocity_change
Definition: novatel_messages.h:477
double vel_x
Definition: novatel_messages.h:257
double ura
Definition: novatel_messages.h:192
uint8_t imu_type
Definition: novatel_messages.h:469
float north_velocity_std
Definition: novatel_messages.h:439
double tgd
Definition: novatel_messages.h:316
uint8_t num_sats_in_solution
Definition: novatel_messages.h:508
double pitch
Definition: novatel_messages.h:415
uint8_t reserved_3
Definition: novatel_messages.h:247
float pitch_std
Definition: novatel_messages.h:444
double cuc
Definition: novatel_messages.h:304
uint8_t gps_glonass_sig_mask
Definition: novatel_messages.h:514
uint16_t e_week
Definition: novatel_messages.h:239
uint32_t issue
Definition: novatel_messages.h:248
SolutionType velocity_type
Definition: novatel_messages.h:355
SolutionStatus
Definition: novatel_messages.h:124
Definition: novatel_messages.h:43
uint8_t num_sats_multi
Definition: novatel_messages.h:344
uint8_t reserved_2
Definition: novatel_messages.h:246
uint32_t AS
Definition: novatel_messages.h:320
float heading_std_dev
Definition: novatel_messages.h:504
uint32_t week
Definition: novatel_messages.h:191
int32_t y_velocity_change_neg
Definition: novatel_messages.h:476
InsStatus
Definition: novatel_messages.h:393
double idot
Definition: novatel_messages.h:216
uint8_t reserved
Definition: novatel_messages.h:89
ResponseBit response
Definition: novatel_messages.h:91
uint32_t Flags
Definition: novatel_messages.h:280
Definition: novatel_messages.h:81
Definition: novatel_messages.h:79
double height
Definition: novatel_messages.h:426
uint8_t imu_error
Definition: novatel_messages.h:468
Definition: novatel_messages.h:54
double north_velocity
Definition: novatel_messages.h:411
double cus
Definition: novatel_messages.h:305
Definition: novatel_messages.h:52
double azimuth
Definition: novatel_messages.h:416
uint32_t z_week
Definition: novatel_messages.h:292
double af1
Definition: novatel_messages.h:318
double gps_seconds
Definition: novatel_messages.h:383
Definition: novatel_messages.h:497
int32_t z_angle_change
Definition: novatel_messages.h:478
Definition: novatel_messages.h:85
Definition: novatel_messages.h:353
float pitch
Definition: novatel_messages.h:502
double tau_n
Definition: novatel_messages.h:269
double longitude
Definition: novatel_messages.h:425
Definition: novatel_messages.h:56
float age
Definition: novatel_messages.h:357
uint32_t gps_week
Definition: novatel_messages.h:406
uint32_t pos_type
Definition: novatel_messages.h:423
int32_t x_velocity_change
Definition: novatel_messages.h:490
uint8_t extended_solution_status
Definition: novatel_messages.h:512
int32_t x_angle_change
Definition: novatel_messages.h:493
uint8_t galileo_beidou_sig_mask
Definition: novatel_messages.h:513
Definition: novatel_messages.h:284
uint32_t e_time
Definition: novatel_messages.h:240
double I_0
Definition: novatel_messages.h:310
int32_t y_angle_change_neg
Definition: novatel_messages.h:492
float reserved
Definition: novatel_messages.h:503
uint8_t extended_solution_status
Definition: novatel_messages.h:346
double gamma
Definition: novatel_messages.h:275
double cic
Definition: novatel_messages.h:225
double longitude
Definition: novatel_messages.h:330
Definition: novatel_messages.h:53
double crc
Definition: novatel_messages.h:306
uint16_t Nt
Definition: novatel_messages.h:244
SolutionType
Definition: novatel_messages.h:147
double gyro_scale
Definition: novatel_messages.h:521
Definition: novatel_messages.h:51
Definition: novatel_messages.h:39
double latitude
Definition: novatel_messages.h:329
uint32_t gps_week
Definition: novatel_messages.h:368
double a2
Definition: novatel_messages.h:202
float reserved
Definition: novatel_messages.h:361
double pos_z
Definition: novatel_messages.h:255
Definition: novatel_messages.h:60
double y_angle_change
Definition: novatel_messages.h:373
SyncByte
Definition: novatel_messages.h:69
uint8_t galileo_beidou_used_mask
Definition: novatel_messages.h:348
float longitude_std
Definition: novatel_messages.h:437
double latitude
Definition: novatel_messages.h:408
SolutionStatus solution_status
Definition: novatel_messages.h:498
int32_t y_velocity_change_neg
Definition: novatel_messages.h:489
uint32_t Tk
Definition: novatel_messages.h:276
double track_over_ground
Definition: novatel_messages.h:359
uint32_t t_offset
Definition: novatel_messages.h:241
Definition: novatel_messages.h:405
uint32_t Ft
Definition: novatel_messages.h:278
DatumId datum_id
Definition: novatel_messages.h:333
uint32_t health
Definition: novatel_messages.h:250
InsStatus status
Definition: novatel_messages.h:417
Definition: novatel_messages.h:46
double rootA
Definition: novatel_messages.h:206
int32_t x_angle_change
Definition: novatel_messages.h:480
float length
Definition: novatel_messages.h:500
double pitch
Definition: novatel_messages.h:433
double horizontal_speed
Definition: novatel_messages.h:358
double cuc
Definition: novatel_messages.h:217
double rra
Definition: novatel_messages.h:214
uint32_t aode
Definition: novatel_messages.h:204
Definition: novatel_messages.h:421
int32_t z_velocity_change
Definition: novatel_messages.h:488
Definition: novatel_messages.h:45
float undulation
Definition: novatel_messages.h:332
float solution_age
Definition: novatel_messages.h:339
float azimuth_std
Definition: novatel_messages.h:445
float roll_std
Definition: novatel_messages.h:443
double longitude
Definition: novatel_messages.h:409
double inc_angle
Definition: novatel_messages.h:215
uint32_t week
Definition: novatel_messages.h:291
Definition: novatel_messages.h:86
double af2
Definition: novatel_messages.h:319
uint32_t ext_slo_stat
Definition: novatel_messages.h:446
double accel_scale
Definition: novatel_messages.h:522
Definition: novatel_messages.h:57
double pos_y
Definition: novatel_messages.h:253
Definition: novatel_messages.h:41
double omega0
Definition: novatel_messages.h:212
double pos_x
Definition: novatel_messages.h:251
SolutionStatus solution_status
Definition: novatel_messages.h:327
double toc
Definition: novatel_messages.h:315
float up_velocity_std
Definition: novatel_messages.h:441
double gps_seconds
Definition: novatel_messages.h:407
double crc
Definition: novatel_messages.h:221
double east_velocity
Definition: novatel_messages.h:412
double omega_0
Definition: novatel_messages.h:312
Definition: novatel_messages.h:381
Definition: novatel_messages.h:47
uint8_t num_sats_in_solution
Definition: novatel_messages.h:341
Definition: novatel_messages.h:58
Definition: novatel_messages.h:326
double roll
Definition: novatel_messages.h:432
Definition: novatel_messages.h:76
uint8_t num_sats_ele
Definition: novatel_messages.h:509
Definition: novatel_messages.h:367
double delta_N
Definition: novatel_messages.h:209
Definition: novatel_messages.h:55
uint16_t gps_week
Definition: novatel_messages.h:470
double delta_tau_n
Definition: novatel_messages.h:271
double cis
Definition: novatel_messages.h:227
double height_msl
Definition: novatel_messages.h:331