This commit is contained in:
William Clark 2023-12-22 21:59:31 +00:00
parent d32394d724
commit cc4e64016c
2 changed files with 20 additions and 10 deletions

View File

@ -1,4 +1,5 @@
#include <stdio.h>
#include <math.h>
#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");

12
main.c
View File

@ -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)) {