From ac1479739d5479c895e8299381395195cf64fe5d Mon Sep 17 00:00:00 2001 From: Lars Wilko Sentse Date: Wed, 3 Jul 2024 16:40:03 +0200 Subject: [PATCH] driver cleanup --- include/sta/drivers/bmi088.hpp | 57 ++++++++++++++++++---------------- src/bmi088.cpp | 28 ++++++++--------- 2 files changed, 44 insertions(+), 41 deletions(-) diff --git a/include/sta/drivers/bmi088.hpp b/include/sta/drivers/bmi088.hpp index a426b1c..80e486b 100644 --- a/include/sta/drivers/bmi088.hpp +++ b/include/sta/drivers/bmi088.hpp @@ -1,7 +1,10 @@ #ifndef STA_DRIVERS_BMI088_HPP #define STA_DRIVERS_BMI088_HPP -#include +//#include +//#include +#include +#include #include @@ -18,22 +21,22 @@ namespace sta }; enum GyroRange { - TWOTHOUSAND = 0x00, - ONETHOUSAND = 0x01, - FIVEHUNDRED = 0x02, - TWOFIFTY = 0x03, - ONETWENTYFIVE = 0x04 + _2000 = 0x00, + _1000 = 0x01, + _500 = 0x02, + _250 = 0x03, + _125 = 0x04 }; enum GyroBandwidth { - TWOTHOUSAND_FIVETHIRTYTWO = 0x00, - TWOTHOUSAND_TWOTHIRTY = 0x01, - ONETHOUSAND_ONESIXTEEN = 0x02, - FOURHUNDRED_FORTYSEVEN = 0x03, - TWOHUNDRED_TWENTYTHREE = 0x04, - ONEHUNDRED_TWELVE = 0x05, - TWOHUNDRED_SIXTYFOUR = 0x06, - ONEHUNDRED_THIRTYTWO = 0x07 + _2000_532 = 0x00, + _2000_230 = 0x01, + _1000_116 = 0x02, + _400_47 = 0x03, + _200_23 = 0x04, + _100_12 = 0x05, + _200_64 = 0x06, + _100_32 = 0x07 }; enum AccelMode @@ -43,10 +46,10 @@ namespace sta }; enum AccelRange { - THREEG = 0x00, - SIXG = 0x01, - TWELVEG = 0x02, - TWENTYFOURG = 0x03 + _3G = 0x00, + _6G = 0x01, + _12G = 0x02, + _24G = 0x03 }; enum AccelBandwidth { @@ -56,14 +59,14 @@ namespace sta }; enum AccelODR { - TWELVE_FIVE = 0x05, - TWENTYFIVE = 0x06, - FIFTY = 0x07, - ONEHUNDRED = 0x08, - TWOHUNDRED = 0x09, - FOURHUNDRED = 0x0A, - EIGHTHUNDRED = 0x0B, - ONESIXHUNDRED = 0x0C + _12_5 = 0x05, + _25 = 0x06, + _50 = 0x07, + _100 = 0x08, + _200 = 0x09, + _400 = 0x0A, + _800 = 0x0B, + _1600 = 0x0C }; private: @@ -74,7 +77,7 @@ namespace sta }; public: - BMI088(STM32SPIDevice* gyro_device, STM32SPIDevice* accel_device); + BMI088(Device* gyro_device, Device* accel_device); bool init(); diff --git a/src/bmi088.cpp b/src/bmi088.cpp index b5c2689..0a0dd03 100644 --- a/src/bmi088.cpp +++ b/src/bmi088.cpp @@ -4,7 +4,7 @@ namespace sta { - BMI088::BMI088(STM32SPIDevice* gyro_device, STM32SPIDevice* accel_device) + BMI088::BMI088(Device* gyro_device, Device* accel_device) : gyro_device{gyro_device}, accel_device(accel_device) { STA_ASSERT(gyro_device != nullptr); @@ -17,15 +17,15 @@ namespace sta busRead(GYROSCOPE, BMI088_REG_GYRO_CHIP_ID, &id); if(id != BMI088_GYRO_CHIP_ID) return false; - setGyroscopeRange(GyroRange::ONETHOUSAND); - setGyroscopeBandwidth(GyroBandwidth::TWOHUNDRED_SIXTYFOUR); + setGyroscopeRange(GyroRange::_1000); + setGyroscopeBandwidth(GyroBandwidth::_200_64); setGyroscopeMode(GyroMode::NORMAL_AWAKE); busRead(ACCELEROMETER, BMI088_REG_ACC_CHIP_ID, &id); if(id != BMI088_ACC_CHIP_ID) return false; - setAccelerometerRange(AccelRange::TWENTYFOURG); - setAccelerometerBandwidth(AccelBandwidth::NORMAL_BANDWIDTH, AccelODR::ONEHUNDRED); + setAccelerometerRange(AccelRange::_24G); + setAccelerometerBandwidth(AccelBandwidth::NORMAL_BANDWIDTH, AccelODR::_100); setAccelerometerMode(AccelMode::ON); return true; @@ -41,19 +41,19 @@ namespace sta switch(range) { - case TWOTHOUSAND: + case _2000: f_gyro_range = 2000; break; - case ONETHOUSAND: + case _1000: f_gyro_range = 1000; break; - case FIVEHUNDRED: + case _500: f_gyro_range = 500; break; - case TWOFIFTY: + case _250: f_gyro_range = 250; break; - case ONETWENTYFIVE: + case _125: f_gyro_range = 125; break; default: @@ -102,16 +102,16 @@ namespace sta switch(range) { - case THREEG: + case _3G: f_accel_range = 3*9.80665; break; - case SIXG: + case _6G: f_accel_range = 6*9.80665; break; - case TWELVEG: + case _12G: f_accel_range = 12*9.80665; break; - case TWENTYFOURG: + case _24G: f_accel_range = 24*9.80665; break; default: