diff --git a/src/drivers/imu/analog_devices/adis16470/ADIS16470.cpp b/src/drivers/imu/analog_devices/adis16470/ADIS16470.cpp index 1e73a9d9f7b5..a345aaf23002 100644 --- a/src/drivers/imu/analog_devices/adis16470/ADIS16470.cpp +++ b/src/drivers/imu/analog_devices/adis16470/ADIS16470.cpp @@ -50,6 +50,8 @@ ADIS16470::ADIS16470(const I2CSPIDriverConfig &config) : if (_drdy_gpio != 0) { _drdy_missed_perf = perf_alloc(PC_COUNT, MODULE_NAME": DRDY missed"); } + + set_cs_to_sck_delay(SPI_CS_TO_SCK_PERIOD_NS); } ADIS16470::~ADIS16470() diff --git a/src/drivers/imu/analog_devices/adis16470/Analog_Devices_ADIS16470_registers.hpp b/src/drivers/imu/analog_devices/adis16470/Analog_Devices_ADIS16470_registers.hpp index 6cab0b1b080e..9f3830832ec3 100644 --- a/src/drivers/imu/analog_devices/adis16470/Analog_Devices_ADIS16470_registers.hpp +++ b/src/drivers/imu/analog_devices/adis16470/Analog_Devices_ADIS16470_registers.hpp @@ -67,6 +67,8 @@ static constexpr uint32_t SPI_SPEED_BURST = 1 * 1000 * 1000; // 1 MHz SPI serial static constexpr uint32_t SPI_STALL_PERIOD = 16; // 16 us Stall period between data +static constexpr uint32_t SPI_CS_TO_SCK_PERIOD_NS = 200; // 200 ns delay from CS to SCK edge + static constexpr uint16_t DIR_WRITE = 0x80; static constexpr uint16_t Product_identification = 0x4056;