summaryrefslogtreecommitdiff
path: root/src/drivers/Bma421.cpp
diff options
context:
space:
mode:
authorMichele Bini <michele.bini@gmail.com>2022-03-27 10:11:34 (GMT)
committerMichele Bini <michele.bini@gmail.com>2022-03-27 10:30:47 (GMT)
commit06fc04bcb3b0993c0b1ff2a13848e62b0eaeb529 (patch)
treeb26e33d78cd25d48b0a75c5de763f1790c7b0ff4 /src/drivers/Bma421.cpp
parentc8694c78c6cc05ae09e862e7ecd09407c7a3c3b7 (diff)
Show temperature reading
Diffstat (limited to 'src/drivers/Bma421.cpp')
-rw-r--r--src/drivers/Bma421.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/drivers/Bma421.cpp b/src/drivers/Bma421.cpp
index 2f60f42..c5d55cc 100644
--- a/src/drivers/Bma421.cpp
+++ b/src/drivers/Bma421.cpp
@@ -102,9 +102,7 @@ Bma421::Values Bma421::Process() {
uint32_t steps = 0;
bma423_step_counter_output(&steps, &bma);
- int32_t temperature;
- bma4_get_temperature(&temperature, BMA4_DEG, &bma);
- temperature = temperature / 1000;
+ RefreshTemperature();
uint8_t activity = 0;
bma423_activity_output(&activity, &bma);
@@ -112,6 +110,19 @@ Bma421::Values Bma421::Process() {
// X and Y axis are swapped because of the way the sensor is mounted in the PineTime
return {steps, data.y, data.x, data.z};
}
+
+void Bma421::RefreshTemperature() {
+ // uint8_t temperature_last_read_value;
+ // uint8_t temperature_last_result;
+ // uint8_t temperature_read_counter;
+ uint8_t data[BMA4_TEMP_DATA_SIZE] = { 0 };
+ temperature_last_result = bma4_read_regs(BMA4_TEMPERATURE_ADDR, data, BMA4_TEMP_DATA_SIZE, &bma);
+ if (temperature_last_result == BMA4_OK) {
+ temperature_last_read_value = data[BMA4_TEMP_BYTE];
+ temperature_read_counter++;
+ }
+}
+
bool Bma421::IsOk() const {
return isOk;
}