goldfish: add goldfish sensors driver

Implemented Goldfish Sensors:
Accelerometer
Gyroscope
MagneticField
AmbientTemperature
Proximity
Light
Pressure
RelativeHumidity
MagneticFieldUncalibrated
GyroscopeFieldUncalibrated
HeartRate

Unimplemented Goldfish Sensors:
(sensor type is not defined nuttx)
Orientation
HingeAngle0
HingeAngle1
HingeAngle2
WristTilt

Verification:
uorb_listener -r 1 sensor_accel
uorb_listener -r 1 sensor_mag
uorb_listener -r 1 sensor_gyro
uorb_listener -r 1 sensor_prox
uorb_listener -r 1 sensor_light
uorb_listener -r 1 sensor_humi
uorb_listener -r 1 sensor_baro
uorb_listener -r 1 sensor_temp
uorb_listener -r 1 sensor_hrate

Signed-off-by: Shanmin Zhang <zhangshanmin@xiaomi.com>
This commit is contained in:
Shanmin Zhang
2023-07-18 14:48:03 +08:00
committed by Xiang Xiao
parent a104fdc3a5
commit 582e0ab51f
4 changed files with 828 additions and 0 deletions
+4
View File
@@ -61,6 +61,10 @@ config SENSORS_GOLDFISH_GPS
depends on SENSORS_GPS
default n
config SENSORS_GOLDFISH_SENSOR
bool "Goldfish SENSORS Support"
default n
config SENSORS_APDS9960
bool "Avago APDS-9960 Gesture Sensor support"
default n
+4
View File
@@ -48,6 +48,10 @@ ifeq ($(CONFIG_SENSORS_GOLDFISH_GPS),y)
CSRCS += goldfish_gps_uorb.c
endif
ifeq ($(CONFIG_SENSORS_GOLDFISH_SENSOR),y)
CSRCS += goldfish_sensor_uorb.c
endif
ifeq ($(CONFIG_SENSORS_HCSR04),y)
CSRCS += hc_sr04.c
endif
File diff suppressed because it is too large Load Diff
+60
View File
@@ -0,0 +1,60 @@
/****************************************************************************
* include/nuttx/sensors/goldfish_sensor.h
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership. The
* ASF licenses this file to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
****************************************************************************/
#ifndef __INCLUDE_NUTTX_SENSORS_GOLDFISH_SENSOR_H
#define __INCLUDE_NUTTX_SENSORS_GOLDFISH_SENSOR_H
/****************************************************************************
* Included Files
****************************************************************************/
#include <nuttx/config.h>
/****************************************************************************
* Public Function Prototypes
****************************************************************************/
#ifdef __cplusplus
extern "C"
{
#endif
/****************************************************************************
* Name: goldfish_sensor_init
*
* Description:
* Goldfish Multi-Sensors driver entrypoint.
*
* Input Parameters:
* devno - The user specifies which device of this type, from 0.
* batch_number- The maximum number of batch.
*
* Returned Value:
* Zero (OK) or positive on success; a negated errno value on failure.
*
****************************************************************************/
int goldfish_sensor_init(int devno, uint32_t batch_number);
#ifdef __cplusplus
}
#endif
#endif