Each time this sensor gets a reading, it contains a matrix of 4 x 32 pixels containing distance readings, from which the 1-D result is calculated. The private channel would expose this array through Sensor APIs. Signed-off-by: Luis Ubieda <luisf@croxel.com>
32 lines
757 B
C
32 lines
757 B
C
/*
|
|
* Copyright (c) 2023 Google LLC
|
|
* Copyright (c) 2025 Croxel Inc.
|
|
* Copyright (c) 2025 CogniPilot Foundation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef ZEPHYR_DRIVERS_SENSOR_AFBR_S50_DECODER_H_
|
|
#define ZEPHYR_DRIVERS_SENSOR_AFBR_S50_DECODER_H_
|
|
|
|
#include <stdint.h>
|
|
#include <zephyr/drivers/sensor.h>
|
|
#include <api/argus_res.h>
|
|
|
|
struct afbr_s50_edata {
|
|
struct {
|
|
uint64_t timestamp;
|
|
uint8_t channels : 2;
|
|
uint8_t events : 1;
|
|
} header;
|
|
argus_results_t payload;
|
|
};
|
|
|
|
uint8_t afbr_s50_encode_channel(uint16_t chan);
|
|
uint8_t afbr_s50_encode_event(enum sensor_trigger_type trigger);
|
|
|
|
int afbr_s50_get_decoder(const struct device *dev,
|
|
const struct sensor_decoder_api **decoder);
|
|
|
|
#endif /* ZEPHYR_DRIVERS_SENSOR_AFBR_S50_DECODER_H_ */
|