diff --git a/source/Core/BSP/Miniware/configuration.h b/source/Core/BSP/Miniware/configuration.h index 7b5d88d6..02183949 100644 --- a/source/Core/BSP/Miniware/configuration.h +++ b/source/Core/BSP/Miniware/configuration.h @@ -210,6 +210,7 @@ #define TEMP_NTC #define I2C_SOFT #define LIS_ORI_FLIP +#define SC7_ORI_FLIP #define OLED_FLIP #endif diff --git a/source/Core/Drivers/SC7A20.hpp b/source/Core/Drivers/SC7A20.hpp index f7cd9776..88a942cb 100644 --- a/source/Core/Drivers/SC7A20.hpp +++ b/source/Core/Drivers/SC7A20.hpp @@ -18,11 +18,19 @@ public: // 1 = rh, 2,=lh, 8=flat static Orientation getOrientation() { uint8_t val = ((FRToSI2C::I2C_RegisterRead(activeAddress, SC7A20_INT2_SOURCE) >> 2) - 1); - if (val == 1) - return Orientation::ORIENTATION_LEFT_HAND; - else if (val == 4 || val == 0) + if (val == 1) { +#ifdef SC7_ORI_FLIP return Orientation::ORIENTATION_RIGHT_HAND; - else +#else + return Orientation::ORIENTATION_LEFT_HAND; +#endif + } else if (val == 4 || val == 0) { +#ifdef SC7_ORI_FLIP + return Orientation::ORIENTATION_LEFT_HAND; +#else + return Orientation::ORIENTATION_RIGHT_HAND; +#endif + } else return Orientation::ORIENTATION_FLAT; } static void getAxisReadings(int16_t &x, int16_t &y, int16_t &z);