10#ifndef GBX_NOVATEL_IMUDECODER_H
11#define GBX_NOVATEL_IMUDECODER_H
15namespace gbxnovatelutilacfr{
19const double GyroConstantHg1700Ag11Ag58 = 1.16415321826934814453e-10;
20const double GyroConstantHg1700Ag17Ag62 = 1.16415321826934814453e-10;
21const double GyroConstantImarFsas = 4.8481368110953599359e-7;
22const double GyroConstantLn200 = 1.9073486328125e-6;
25const double AccelConstantHg1700Ag11Ag58 = 2.27094150781631469727e-9;
26const double AccelConstantHg1700Ag17Ag62 = 4.54188301563262939453e-9;
27const double AccelConstantImarFsas = 1.52587890625e-6;
28const double AccelConstantLn200 = 6.103515625e-5;
32 virtual ~ImuDecoder(){}
33 inline double gyroCnt2Rad(
const int32_t cnt){
return cnt*gyroConstant_; }
34 inline double accelCnt2MperSec(
const int32_t cnt){
return cnt*accelConstant_; }
35 virtual inline bool statusIsGood(
const uint32_t imuStatus){
return true;}
36 virtual std::string statusToString(
const uint32_t imuStatus)=0;
40 double accelConstant_;
44 ImuDecoder *createImuDecoder(std::string type);