diff --git a/src/shared/sensors/H3LIS331DL/H3LIS331DL.cpp b/src/shared/sensors/H3LIS331DL/H3LIS331DL.cpp index 634704a747c9482e979a21fcafb888f978f1aa46..9998ed1154846a68bffcae8c845d6946d3e9289e 100644 --- a/src/shared/sensors/H3LIS331DL/H3LIS331DL.cpp +++ b/src/shared/sensors/H3LIS331DL/H3LIS331DL.cpp @@ -31,8 +31,7 @@ H3LIS331DL::H3LIS331DL(SPIBusInterface& spiBus, miosix::GpioPin cs, H3LIS331DLDefs::FullScaleRange fs) : spi(spiBus, cs, cfg), odr(odr), bdu(bdu), fs(fs), initialized(false) { - spi.config.byteOrder = SPI::Order::LSB_FIRST; - spi.config.mode = SPI::Mode::MODE_3; + spi.config = getDefaultSPIConfig(); } H3LIS331DL::H3LIS331DL(SPIBusInterface& spiBus, miosix::GpioPin cs, @@ -43,6 +42,15 @@ H3LIS331DL::H3LIS331DL(SPIBusInterface& spiBus, miosix::GpioPin cs, { } +SPIBusConfig H3LIS331DL::getDefaultSPIConfig() +{ + SPIBusConfig spiConfig; + spiConfig.clockDivider = SPI::ClockDivider::DIV_128; + spiConfig.mode = SPI::Mode::MODE_3; + spiConfig.byteOrder = SPI::Order::LSB_FIRST; + return spiConfig; +} + bool H3LIS331DL::init() { if (initialized) diff --git a/src/shared/sensors/H3LIS331DL/H3LIS331DL.h b/src/shared/sensors/H3LIS331DL/H3LIS331DL.h index b8d0c11b847fd08db923f5d083c84b84fc9ae966..947709cbd33f7ac6de0dd785578e0ec6fe4203ef 100644 --- a/src/shared/sensors/H3LIS331DL/H3LIS331DL.h +++ b/src/shared/sensors/H3LIS331DL/H3LIS331DL.h @@ -71,6 +71,8 @@ public: H3LIS331DLDefs::BlockDataUpdate bdu, H3LIS331DLDefs::FullScaleRange fs); + static SPIBusConfig getDefaultSPIConfig(); + /** * @brief Initializes the H3LIS331DL *