Browse Source

samples/sensor: stream_fifo: initialize gbias

Add an example of how to initialize gbias. The real application should
restore latest valid values taken from non-volatile memory.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
pull/87962/head
Armando Visconti 4 months ago committed by Benjamin Cabé
parent
commit
48f7fcd2f0
  1. 16
      samples/sensor/stream_fifo/src/main.c

16
samples/sensor/stream_fifo/src/main.c

@ -230,6 +230,8 @@ static void check_sensor_is_off(const struct device *dev) @@ -230,6 +230,8 @@ static void check_sensor_is_off(const struct device *dev)
int main(void)
{
struct sensor_value gbias[3];
for (size_t i = 0; i < ARRAY_SIZE(sensors); i++) {
if (!device_is_ready(sensors[i])) {
printk("sensor: device %s not ready.\n", sensors[i]->name);
@ -237,6 +239,20 @@ int main(void) @@ -237,6 +239,20 @@ int main(void)
}
check_sensor_is_off(sensors[i]);
/*
* Set GBIAS as 0.5 rad/s, -1 rad/s, 0.2 rad/s
*
* (here application should initialize gbias x/y/z with latest values
* calculated from previous run and probably saved to non volatile memory)
*/
gbias[0].val1 = 0;
gbias[0].val2 = 500000;
gbias[1].val1 = -1;
gbias[1].val2 = 0;
gbias[2].val1 = 0;
gbias[2].val2 = 200000;
sensor_attr_set(sensors[i], SENSOR_CHAN_GBIAS_XYZ, SENSOR_ATTR_OFFSET, gbias);
k_thread_create(&thread_id[i], thread_stack[i], TASK_STACK_SIZE, print_stream,
(void *)sensors[i], (void *)iodevs[i], NULL, K_PRIO_COOP(5),
K_INHERIT_PERMS, K_FOREVER);

Loading…
Cancel
Save