From cc4e64016c57b4e344b38afc41199814b16ac5a4 Mon Sep 17 00:00:00 2001 From: William Clark Date: Fri, 22 Dec 2023 21:59:31 +0000 Subject: [PATCH] test --- lis3dh.c | 18 ++++++++++++++---- main.c | 12 ++++++------ 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/lis3dh.c b/lis3dh.c index 1a3d17c..a5193bf 100644 --- a/lis3dh.c +++ b/lis3dh.c @@ -1,4 +1,5 @@ #include +#include #include "lis3dh.h" #include "registers.h" @@ -247,6 +248,10 @@ int lis3dh_read(lis3dh_t *lis3dh) { return err; } +static double mag(double x, double y, double z) { + return sqrt( powf(x, 2) + powf(y, 2) + powf(z, 2) ); +} + int lis3dh_read_fifo(lis3dh_t *lis3dh) { int16_t x, y, z; @@ -269,10 +274,15 @@ int lis3dh_read_fifo(lis3dh_t *lis3dh) { y = (((int16_t)((data[i + 2] << 8) | data[i + 3])) >> scale) * sens; z = (((int16_t)((data[i + 4] << 8) | data[i + 5])) >> scale) * sens; - printf("x: %04.04f, y: %04.04f, z: %04.04f\n", - (double)x / 1000.0, - (double)y / 1000.0, - (double)z / 1000.0); + double dx = ((double)x) / 1000.0; + double dy = ((double)y) / 1000.0; + double dz = ((double)z) / 1000.0; + + printf("x: %04.04f, y: %04.04f, z: %04.04f mag:%f\n", + dx, + dy, + dz, + mag(dx, dy, dz)); } puts("<= FIFO"); diff --git a/main.c b/main.c index 07e62ee..035c387 100644 --- a/main.c +++ b/main.c @@ -28,12 +28,12 @@ int main() { puts("init ERR"); } - lis.cfg.mode = LIS3DH_MODE_NORMAL; - lis.cfg.range = LIS3DH_FS_2G; - lis.cfg.rate = LIS3DH_ODR_100_HZ; - lis.cfg.fifo.mode = LIS3DH_FIFO_MODE_NORMAL; - lis.cfg.filter.mode = LIS3DH_FILTER_MODE_AUTORESET; - lis.cfg.filter.cutoff = LIS3DH_FILTER_CUTOFF_2; + lis.cfg.mode = LIS3DH_MODE_HR; + lis.cfg.range = LIS3DH_FS_4G; + lis.cfg.rate = LIS3DH_ODR_25_HZ; + lis.cfg.fifo.mode = LIS3DH_FIFO_MODE_STREAM; + //lis.cfg.filter.mode = LIS3DH_FILTER_MODE_AUTORESET; + lis.cfg.filter.cutoff = LIS3DH_FILTER_CUTOFF_8; lis.cfg.filter.fds = 1; if (lis3dh_configure(&lis)) {