57 lines
2.0 KiB
Rust
57 lines
2.0 KiB
Rust
//! Control register 4 (r/w).
|
|
|
|
#![allow(non_camel_case_types)]
|
|
|
|
use crate::lsm6ds3tr::{RegisterAddress, RegisterBits, RegisterConfig, RegisterValue};
|
|
|
|
/// Control register 4 (r/w).
|
|
#[derive(Default)]
|
|
pub struct Ctrl4C {
|
|
/// Extend DEN functionality to accelerometer sensor. Default value: 0
|
|
/// (0: disabled; 1: enabled)
|
|
pub extend_den: RegisterBits<1, 7>,
|
|
/// Gyroscope sleep mode enable. Default value: 0
|
|
/// (0: disabled; 1: enabled)
|
|
pub gyroscope_sleep: RegisterBits<1, 6>,
|
|
/// DEN DRDY signal on INT1 pad. Default value: 0
|
|
/// (0: disabled; 1: enabled)
|
|
pub den_data_ready_int1: RegisterBits<1, 5>,
|
|
/// All interrupt signals available on INT1 pad enable. Default value: 0
|
|
/// (0: interrupt signals divided between INT1 and INT2 pads;
|
|
/// 1: all interrupt signals in logic or on INT1 pad)
|
|
pub int2_on_int1: RegisterBits<1, 4>,
|
|
/// Configuration 1 data available enable bit. Default value: 0
|
|
/// (0: DA timer disabled; 1: DA timer enabled)
|
|
pub data_ready_mask: RegisterBits<1, 3>,
|
|
/// Disable I2C interface. Default value: 0
|
|
/// (0: both I2C and SPI enabled; 1: I2C disabled, SPI only enabled)
|
|
pub i2c_disable: RegisterBits<1, 2>,
|
|
/// Enable gyroscope digital LPF1. The bandwidth can be selected through
|
|
/// FTYPE[1\:0] in FUNC_CFG_ACCESS (01h).
|
|
/// (0: disabled; 1: enabled)
|
|
pub gyroscope_low_pass_filter_selection: RegisterBits<1, 1>,
|
|
}
|
|
|
|
impl Ctrl4C {
|
|
pub fn address(&self) -> u8 {
|
|
RegisterAddress::CTRL4_C.address()
|
|
}
|
|
|
|
pub fn value(&self) -> u8 {
|
|
self.extend_den.shifted()
|
|
| self.gyroscope_sleep.shifted()
|
|
| self.den_data_ready_int1.shifted()
|
|
| self.int2_on_int1.shifted()
|
|
| self.data_ready_mask.shifted()
|
|
| self.i2c_disable.shifted()
|
|
| self.gyroscope_low_pass_filter_selection.shifted()
|
|
}
|
|
|
|
pub fn config(&self) -> RegisterConfig {
|
|
RegisterConfig {
|
|
address: self.address(),
|
|
value: self.value(),
|
|
}
|
|
}
|
|
}
|