From df2f97a1deb4fa17f4ce9bdad67c4d1da7e2b1b3 Mon Sep 17 00:00:00 2001 From: "Ben V. Brown" Date: Fri, 15 Jan 2021 22:07:26 +1100 Subject: [PATCH] Link into MOV thread --- workspace/TS100/Core/BSP/Pine64/Model_Config.h | 1 + workspace/TS100/Core/Threads/MOVThread.cpp | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/workspace/TS100/Core/BSP/Pine64/Model_Config.h b/workspace/TS100/Core/BSP/Pine64/Model_Config.h index 13846fc5..0c8577cf 100755 --- a/workspace/TS100/Core/BSP/Pine64/Model_Config.h +++ b/workspace/TS100/Core/BSP/Pine64/Model_Config.h @@ -23,6 +23,7 @@ #define ENABLE_QC2 #define TEMP_TMP36 #define ACCEL_BMA +#define ACCEL_SC7 #define HALL_SENSOR #define HALL_SI7210 #define BATTFILTERDEPTH 32 diff --git a/workspace/TS100/Core/Threads/MOVThread.cpp b/workspace/TS100/Core/Threads/MOVThread.cpp index d35ebd89..90205a78 100644 --- a/workspace/TS100/Core/Threads/MOVThread.cpp +++ b/workspace/TS100/Core/Threads/MOVThread.cpp @@ -21,6 +21,7 @@ #include "power.hpp" #include "stdlib.h" #include "task.h" +#include "SC7A20.hpp" #define MOVFilter 8 uint8_t accelInit = 0; TickType_t lastMovementTime = 0; @@ -56,6 +57,14 @@ void detectAccelerometerVersion() { DetectedAccelerometerVersion = 4; } } else +#endif +#ifdef ACCEL_SC7 + if (SC7A20::detect()) { + // Setup the SC7A20 Accelerometer + if (SC7A20::initalize()) { + DetectedAccelerometerVersion = 5; + } + } else #endif { // disable imu sensitivity @@ -86,6 +95,12 @@ inline void readAccelerometer(int16_t &tx, int16_t &ty, int16_t &tz, Orientation MSA301::getAxisReadings(tx, ty, tz); rotation = MSA301::getOrientation(); } else +#endif +#ifdef ACCEL_SC7 + if (DetectedAccelerometerVersion == 5) { + SC7A20::getAxisReadings(tx, ty, tz); + rotation = SC7A20::getOrientation(); + } else #endif { // do nothing :(