diff --git a/c/include/libsbp/imu_macros.h b/c/include/libsbp/imu_macros.h index 0bc2ae7541..4437d05e1a 100644 --- a/c/include/libsbp/imu_macros.h +++ b/c/include/libsbp/imu_macros.h @@ -77,6 +77,7 @@ #define SBP_IMU_AUX_IMU_TYPE_BOSCH_BMI160 (0) #define SBP_IMU_AUX_IMU_TYPE_ST_MICROELECTRONICS_ASM330LLH (1) #define SBP_IMU_AUX_IMU_TYPE_MURATA_SCHA634_D03 (4) +#define SBP_IMU_AUX_IMU_TYPE_TDK_IAM_20680HP (5) #define SBP_IMU_AUX_GYROSCOPE_RANGE_MASK (0xfu) #define SBP_IMU_AUX_GYROSCOPE_RANGE_SHIFT (4u) #define SBP_IMU_AUX_GYROSCOPE_RANGE_GET(flags) \ diff --git a/docs/sbp.pdf b/docs/sbp.pdf index ec6286ef8a..bcc0a01c67 100644 Binary files a/docs/sbp.pdf and b/docs/sbp.pdf differ diff --git a/rust/sbp/src/messages/imu.rs b/rust/sbp/src/messages/imu.rs index 3aea3dd882..69e8dc536d 100644 --- a/rust/sbp/src/messages/imu.rs +++ b/rust/sbp/src/messages/imu.rs @@ -164,6 +164,9 @@ pub mod msg_imu_aux { /// Murata SCHA634-D03 MurataScha634D03 = 4, + + /// TDK IAM-20680HP + TdkIam20680Hp = 5, } impl std::fmt::Display for ImuType { @@ -174,6 +177,7 @@ pub mod msg_imu_aux { f.write_str("ST Microelectronics ASM330LLH") } ImuType::MurataScha634D03 => f.write_str("Murata SCHA634-D03"), + ImuType::TdkIam20680Hp => f.write_str("TDK IAM-20680HP"), } } } @@ -185,6 +189,7 @@ pub mod msg_imu_aux { 0 => Ok(ImuType::BoschBmi160), 1 => Ok(ImuType::StMicroelectronicsAsm330Llh), 4 => Ok(ImuType::MurataScha634D03), + 5 => Ok(ImuType::TdkIam20680Hp), i => Err(i), } } diff --git a/spec/yaml/swiftnav/sbp/imu.yaml b/spec/yaml/swiftnav/sbp/imu.yaml index 6b1a87c279..8fca2949e4 100644 --- a/spec/yaml/swiftnav/sbp/imu.yaml +++ b/spec/yaml/swiftnav/sbp/imu.yaml @@ -87,6 +87,7 @@ definitions: - 0: Bosch BMI160 - 1: ST Microelectronics ASM330LLH - 4: Murata SCHA634-D03 + - 5: TDK IAM-20680HP - temp: type: s16 desc: Raw IMU temperature