删除没用的文件
This commit is contained in:
parent
95d90b4fc8
commit
37817bedbc
|
@ -1,9 +0,0 @@
|
|||
export PLATFORM_VERSION=13
|
||||
export DEFCONFIG=
|
||||
export ST_HAL_ANDROID_VERSION=
|
||||
export ST_HAL_HAS_FDFD_LIB=n
|
||||
export ST_HAL_HAS_GBIAS_LIB=n
|
||||
export ST_HAL_HAS_GEOMAG_LIB=n
|
||||
export ST_HAL_HAS_9X_6X_LIB=n
|
||||
export ST_HAL_HAS_MAGN_CALIB_LIB=n
|
||||
export ST_HAL_HAS_ACCEL_CALIB_LIB=n
|
|
@ -1,7 +0,0 @@
|
|||
/* configuration.h -- Autogenerated file! Do not edit. */
|
||||
|
||||
#ifndef __ST_SENSOR_HAL_CONFIG_H
|
||||
#define __ST_SENSOR_HAL_CONFIG_H
|
||||
|
||||
|
||||
#endif /* __ST_SENSOR_HAL_CONFIG_H */
|
|
@ -1,132 +0,0 @@
|
|||
/*
|
||||
* Ultra Capteur Color-Based Light Sensor Class
|
||||
*
|
||||
* Copyright 2022 Rockchip Electronics Co., Ltd
|
||||
* Author: Jason Zhang - <jason.zhang@rock-chips.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License").
|
||||
*/
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <assert.h>
|
||||
#include <signal.h>
|
||||
|
||||
#include "CorrelatedColorTemp.h"
|
||||
|
||||
CorrelatedColorTemp::CorrelatedColorTemp(HWSensorBaseCommonData *data, const char *name,
|
||||
struct device_iio_sampling_freqs *sfa, int handle,
|
||||
unsigned int hw_fifo_len, float power_consumption, bool wakeup) :
|
||||
HWSensorBaseWithPollrate(data, name, sfa, handle,
|
||||
SENSOR_TYPE_CCT, hw_fifo_len, power_consumption)
|
||||
{
|
||||
#if (CONFIG_ST_HAL_ANDROID_VERSION > ST_HAL_KITKAT_VERSION)
|
||||
sensor_t_data.stringType = SENSOR_STRING_TYPE_CCT;
|
||||
sensor_t_data.flags |= SENSOR_FLAG_ON_CHANGE_MODE;
|
||||
|
||||
if (wakeup)
|
||||
sensor_t_data.flags |= SENSOR_FLAG_WAKE_UP;
|
||||
#else /* CONFIG_ST_HAL_ANDROID_VERSION */
|
||||
(void)wakeup;
|
||||
#endif /* CONFIG_ST_HAL_ANDROID_VERSION */
|
||||
|
||||
sensor_t_data.resolution = 1.0f;
|
||||
sensor_t_data.maxRange = 9.0f;
|
||||
}
|
||||
|
||||
CorrelatedColorTemp::~CorrelatedColorTemp()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
int CorrelatedColorTemp::Enable(int handle, bool enable, bool lock_en_mutex)
|
||||
{
|
||||
#ifdef CONFIG_ST_HAL_ACCEL_CALIB_ENABLED
|
||||
int err;
|
||||
|
||||
if (lock_en_mutex)
|
||||
pthread_mutex_lock(&enable_mutex);
|
||||
|
||||
err = HWSensorBaseWithPollrate::Enable(handle, enable, false);
|
||||
if (err < 0) {
|
||||
if (lock_en_mutex)
|
||||
pthread_mutex_unlock(&enable_mutex);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
if (enable)
|
||||
ST_AccCalibration_API_Init(CALIBRATION_PERIOD_MS);
|
||||
else
|
||||
ST_AccCalibration_API_DeInit(CALIBRATION_PERIOD_MS);
|
||||
|
||||
if (lock_en_mutex)
|
||||
pthread_mutex_unlock(&enable_mutex);
|
||||
|
||||
return 0;
|
||||
#else /* CONFIG_ST_HAL_ACCEL_CALIB_ENABLED */
|
||||
return HWSensorBaseWithPollrate::Enable(handle, enable, lock_en_mutex);
|
||||
#endif /* CONFIG_ST_HAL_ACCEL_CALIB_ENABLED */
|
||||
}
|
||||
|
||||
void CorrelatedColorTemp::ProcessData(SensorBaseData *data)
|
||||
{
|
||||
float cyan;
|
||||
float magenta;
|
||||
float yellow;
|
||||
float red;
|
||||
float green;
|
||||
float blue;
|
||||
float X, Y, Z; /* CIE XYZ */
|
||||
float x, y, n; /* CIE xyY */
|
||||
float cct;
|
||||
#if (CONFIG_ST_HAL_DEBUG_LEVEL >= ST_HAL_DEBUG_EXTRA_VERBOSE)
|
||||
ALOGD("\"%s\": red=%f green=%f blue=%f white=%f, timestamp=%" PRIu64 "ns, deltatime=%" PRIu64,
|
||||
sensor_t_data.name, data->raw[0], data->raw[1], data->raw[2], data->raw[3],
|
||||
data->timestamp, data->timestamp - sensor_event.timestamp);
|
||||
#endif /* CONFIG_ST_HAL_DEBUG_LEVEL */
|
||||
|
||||
/* Complementary Color Method */
|
||||
cyan = data->raw[3] - data->raw[0];
|
||||
magenta = data->raw[3] - data->raw[1];
|
||||
yellow = data->raw[3] - data->raw[2];
|
||||
|
||||
red = magenta + yellow;
|
||||
green = cyan + yellow;
|
||||
blue = cyan + magenta;
|
||||
|
||||
/* Calculate CIE XYZ */
|
||||
X = red * X_A + green * X_B + blue * X_C;
|
||||
Y = red * Y_A + green * Y_B + blue * Y_C;
|
||||
Z = red * Z_A + green * Z_B + blue * Z_C;
|
||||
|
||||
#ifdef CONFIG_ST_HAL_SW_LIGHT_ENABLED
|
||||
/* NOTE: Pass the illumination in Lux to dependency */
|
||||
data->processed[0] = Y;
|
||||
#endif /* CONFIG_ST_HAL_SW_LIGHT_ENABLED */
|
||||
|
||||
/* Calculate CIE xyY */
|
||||
x = X / (X + Y + Z);
|
||||
y = Y / (X + Y + Z);
|
||||
n = (x - 0.332) / (y - 0.1858);
|
||||
|
||||
/* Calculate CCT */
|
||||
cct = -449 * pow(n, 3) + 3525 * pow(n, 2) - 6823.3 * n + 5520.33;
|
||||
|
||||
/*
|
||||
* The first value is Correlated Color Temperature in Kelvins (K).
|
||||
* The rest of values are in lux and measure the R, G, B channel.
|
||||
*/
|
||||
sensor_event.data[0] = cct;
|
||||
sensor_event.data[1] = data->raw[0];
|
||||
sensor_event.data[2] = data->raw[1];
|
||||
sensor_event.data[3] = data->raw[2];
|
||||
sensor_event.data[4] = data->raw[3];
|
||||
sensor_event.data[5] = data->orig[0];
|
||||
sensor_event.data[6] = data->orig[1];
|
||||
sensor_event.data[7] = data->orig[2];
|
||||
sensor_event.data[8] = data->orig[3];
|
||||
sensor_event.timestamp = data->timestamp;
|
||||
|
||||
HWSensorBaseWithPollrate::WriteDataToPipe(data->pollrate_ns);
|
||||
HWSensorBaseWithPollrate::ProcessData(data);
|
||||
}
|
|
@ -1,57 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2015-2016 STMicroelectronics
|
||||
* Author: Denis Ciocca - <denis.ciocca@st.com>
|
||||
*
|
||||
* Licensed 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 ST_CCT_SENSOR_H
|
||||
#define ST_CCT_SENSOR_H
|
||||
|
||||
#include "HWSensorBase.h"
|
||||
|
||||
/* Transformation Matrix */
|
||||
#define X_A (-0.121714589f)
|
||||
#define X_B (6.266768206f)
|
||||
#define X_C (-4.368804016f)
|
||||
|
||||
#define Y_A (-2.360768324f)
|
||||
#define Y_B (8.38127456f)
|
||||
#define Y_C (-4.476796103f)
|
||||
|
||||
#define Z_A (-5.097694084f)
|
||||
#define Z_B (-1.42651259f)
|
||||
#define Z_C (10.32534666f)
|
||||
|
||||
/*
|
||||
* class CorrelatedColorTemp
|
||||
*/
|
||||
class CorrelatedColorTemp : public HWSensorBaseWithPollrate {
|
||||
private:
|
||||
#if (CONFIG_ST_HAL_ANDROID_VERSION >= ST_HAL_PIE_VERSION)
|
||||
#if (CONFIG_ST_HAL_ADDITIONAL_INFO_ENABLED)
|
||||
int getSensorAdditionalInfoPayLoadFramesArray(additional_info_event_t **array_sensorAdditionalInfoPLFrames);
|
||||
#endif /* CONFIG_ST_HAL_ADDITIONAL_INFO_ENABLED */
|
||||
#endif /* CONFIG_ST_HAL_ANDROID_VERSION */
|
||||
public:
|
||||
CorrelatedColorTemp(HWSensorBaseCommonData *data, const char *name,
|
||||
struct device_iio_sampling_freqs *sfa, int handle,
|
||||
unsigned int hw_fifo_len,
|
||||
float power_consumption, bool wakeup);
|
||||
~CorrelatedColorTemp();
|
||||
|
||||
virtual int Enable(int handle, bool enable, bool lock_en_mutex);
|
||||
virtual void ProcessData(SensorBaseData *data);
|
||||
};
|
||||
|
||||
#endif /* ST_CCT_SENSOR_H */
|
|
@ -1,136 +0,0 @@
|
|||
/*
|
||||
* STMicroelectronics Proximity Sensor Class
|
||||
*
|
||||
* Copyright 2015-2016 STMicroelectronics Inc.
|
||||
* Author: Denis Ciocca - <denis.ciocca@st.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License").
|
||||
*/
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <assert.h>
|
||||
#include <signal.h>
|
||||
|
||||
#include "Proximity.h"
|
||||
|
||||
#ifdef CONFIG_ST_HAL_ACCEL_CALIB_ENABLED
|
||||
#define CALIBRATION_FREQUENCY 25
|
||||
#define CALIBRATION_PERIOD_MS (1000.0f / CALIBRATION_FREQUENCY)
|
||||
|
||||
extern "C" {
|
||||
#include "STAccCalibration_API.h"
|
||||
}
|
||||
#endif /* CONFIG_ST_HAL_ACCEL_CALIB_ENABLED */
|
||||
|
||||
Proximity::Proximity(HWSensorBaseCommonData *data, const char *name,
|
||||
struct device_iio_sampling_freqs *sfa, int handle,
|
||||
unsigned int hw_fifo_len, float power_consumption, bool wakeup) :
|
||||
HWSensorBaseWithPollrate(data, name, sfa, handle,
|
||||
SENSOR_TYPE_PROXIMITY, hw_fifo_len, power_consumption)
|
||||
{
|
||||
#if (CONFIG_ST_HAL_ANDROID_VERSION > ST_HAL_KITKAT_VERSION)
|
||||
sensor_t_data.stringType = SENSOR_STRING_TYPE_PROXIMITY;
|
||||
sensor_t_data.flags |= SENSOR_FLAG_ON_CHANGE_MODE;
|
||||
|
||||
(void)wakeup;
|
||||
sensor_t_data.flags |= SENSOR_FLAG_WAKE_UP;
|
||||
#else /* CONFIG_ST_HAL_ANDROID_VERSION */
|
||||
(void)wakeup;
|
||||
#endif /* CONFIG_ST_HAL_ANDROID_VERSION */
|
||||
|
||||
sensor_t_data.resolution = 1.0f;
|
||||
sensor_t_data.maxRange = 9.0f;
|
||||
|
||||
info = 0;
|
||||
if (!strcmp(name, "VL6180 Proximity Sensor"))
|
||||
info |= ST_PROXIMITY_VL6180;
|
||||
else if (!strcmp(name, "VL53L0X Proximity Sensor"))
|
||||
info |= ST_PROXIMITY_VL53L0X;
|
||||
}
|
||||
|
||||
Proximity::~Proximity()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
int Proximity::Enable(int handle, bool enable, bool lock_en_mutex)
|
||||
{
|
||||
#ifdef CONFIG_ST_HAL_ACCEL_CALIB_ENABLED
|
||||
int err;
|
||||
|
||||
if (lock_en_mutex)
|
||||
pthread_mutex_lock(&enable_mutex);
|
||||
|
||||
err = HWSensorBaseWithPollrate::Enable(handle, enable, false);
|
||||
if (err < 0) {
|
||||
if (lock_en_mutex)
|
||||
pthread_mutex_unlock(&enable_mutex);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
if (enable)
|
||||
ST_AccCalibration_API_Init(CALIBRATION_PERIOD_MS);
|
||||
else
|
||||
ST_AccCalibration_API_DeInit(CALIBRATION_PERIOD_MS);
|
||||
|
||||
if (lock_en_mutex)
|
||||
pthread_mutex_unlock(&enable_mutex);
|
||||
|
||||
return 0;
|
||||
#else /* CONFIG_ST_HAL_ACCEL_CALIB_ENABLED */
|
||||
return HWSensorBaseWithPollrate::Enable(handle, enable, lock_en_mutex);
|
||||
#endif /* CONFIG_ST_HAL_ACCEL_CALIB_ENABLED */
|
||||
}
|
||||
|
||||
void Proximity::ProcessData(SensorBaseData *data)
|
||||
{
|
||||
#if (CONFIG_ST_HAL_DEBUG_LEVEL >= ST_HAL_DEBUG_EXTRA_VERBOSE)
|
||||
ALOGD("\"%s\": received new sensor data: x=%f y=%f z=%f, timestamp=%" PRIu64 "ns, deltatime=%" PRIu64 "ns (sensor type: %d).",
|
||||
sensor_t_data.name, data->raw[0], data->raw[1], data->raw[2],
|
||||
data->timestamp, data->timestamp - sensor_event.timestamp, sensor_t_data.type);
|
||||
#endif /* CONFIG_ST_HAL_DEBUG_LEVEL */
|
||||
|
||||
/* driver reports meter, scale to cm */
|
||||
if (info & ST_PROXIMITY_VL6180) {
|
||||
data->processed[0] = data->raw[1] * 100;
|
||||
} else if (info & ST_PROXIMITY_VL53L0X) {
|
||||
data->processed[0] = data->raw[0] * 100;
|
||||
if (data->processed[0] > ST_PROXIMITY_VL53L0X_MAX_RANGE_CM)
|
||||
data->processed[0] = ST_PROXIMITY_VL53L0X_MAX_RANGE_CM;
|
||||
} else {
|
||||
data->processed[0] = 0;
|
||||
}
|
||||
|
||||
sensor_event.distance = data->processed[0];
|
||||
sensor_event.timestamp = data->timestamp;
|
||||
|
||||
HWSensorBaseWithPollrate::WriteDataToPipe(data->pollrate_ns);
|
||||
HWSensorBaseWithPollrate::ProcessData(data);
|
||||
}
|
||||
|
||||
|
||||
#if (CONFIG_ST_HAL_ANDROID_VERSION >= ST_HAL_PIE_VERSION)
|
||||
#if (CONFIG_ST_HAL_ADDITIONAL_INFO_ENABLED)
|
||||
int Proximity::getSensorAdditionalInfoPayLoadFramesArray(additional_info_event_t **array_sensorAdditionalInfoPLFrames)
|
||||
{
|
||||
additional_info_event_t* p_custom_SAI_Placement_event = nullptr;
|
||||
|
||||
// place for ODM/OEM to fill custom_SAI_Placement_event
|
||||
// p_custom_SAI_Placement_event = &custom_SAI_Placement_event
|
||||
|
||||
/* //Custom Placement example
|
||||
additional_info_event_t custom_SAI_Placement_event;
|
||||
custom_SAI_Placement_event = {
|
||||
.type = AINFO_SENSOR_PLACEMENT,
|
||||
.serial = 0,
|
||||
.data_float = {-1, 0, 0, 1, 0, -1, 0, 2, 0, 0, -1, 3},
|
||||
};
|
||||
p_custom_SAI_Placement_event = &custom_SAI_Placement_event;
|
||||
*/
|
||||
|
||||
return UseCustomAINFOSensorPlacementPLFramesArray(array_sensorAdditionalInfoPLFrames, p_custom_SAI_Placement_event);
|
||||
|
||||
}
|
||||
#endif /* CONFIG_ST_HAL_ADDITIONAL_INFO_ENABLED */
|
||||
#endif /* CONFIG_ST_HAL_ANDROID_VERSION */
|
|
@ -1,53 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2015-2016 STMicroelectronics
|
||||
* Author: Denis Ciocca - <denis.ciocca@st.com>
|
||||
*
|
||||
* Licensed 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 ST_PROXIMITY_SENSOR_H
|
||||
#define ST_PROXIMITY_SENSOR_H
|
||||
|
||||
#include "HWSensorBase.h"
|
||||
|
||||
/*
|
||||
* Proximity informations, used for compatibility.
|
||||
*/
|
||||
#define ST_PROXIMITY_VL6180 0x01
|
||||
#define ST_PROXIMITY_VL53L0X 0x02
|
||||
|
||||
#define ST_PROXIMITY_VL53L0X_MAX_RANGE_CM 120
|
||||
|
||||
/*
|
||||
* class Proximity
|
||||
*/
|
||||
class Proximity : public HWSensorBaseWithPollrate {
|
||||
private:
|
||||
uint8_t info;
|
||||
#if (CONFIG_ST_HAL_ANDROID_VERSION >= ST_HAL_PIE_VERSION)
|
||||
#if (CONFIG_ST_HAL_ADDITIONAL_INFO_ENABLED)
|
||||
int getSensorAdditionalInfoPayLoadFramesArray(additional_info_event_t **array_sensorAdditionalInfoPLFrames);
|
||||
#endif /* CONFIG_ST_HAL_ADDITIONAL_INFO_ENABLED */
|
||||
#endif /* CONFIG_ST_HAL_ANDROID_VERSION */
|
||||
public:
|
||||
Proximity(HWSensorBaseCommonData *data, const char *name,
|
||||
struct device_iio_sampling_freqs *sfa, int handle,
|
||||
unsigned int hw_fifo_len,
|
||||
float power_consumption, bool wakeup);
|
||||
~Proximity();
|
||||
|
||||
virtual int Enable(int handle, bool enable, bool lock_en_mutex);
|
||||
virtual void ProcessData(SensorBaseData *data);
|
||||
};
|
||||
|
||||
#endif /* ST_PROXIMITY_SENSOR_H */
|
|
@ -1,126 +0,0 @@
|
|||
/*
|
||||
* Virtual Light Sensor Class
|
||||
*
|
||||
* Copyright (C) 2022 Rockchip Electronics Co., Ltd.
|
||||
* Author: Jason Zhang - <jason.zhang@rock-chips.com>
|
||||
*
|
||||
* Licensed 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.
|
||||
*/
|
||||
|
||||
#define __STDC_LIMIT_MACROS
|
||||
#define __STDINT_LIMITS
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <assert.h>
|
||||
#include <signal.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "SWLight.h"
|
||||
|
||||
SWLight::SWLight(const char *name, int handle) :
|
||||
SWSensorBaseWithPollrate(name, handle, SENSOR_TYPE_LIGHT,
|
||||
false, false, true, false)
|
||||
{
|
||||
#if (CONFIG_ST_HAL_ANDROID_VERSION > ST_HAL_KITKAT_VERSION)
|
||||
sensor_t_data.flags |= SENSOR_FLAG_CONTINUOUS_MODE;
|
||||
sensor_t_data.maxDelay = FREQUENCY_TO_US(FLT_MAX);
|
||||
#endif /* CONFIG_ST_HAL_ANDROID_VERSION */
|
||||
|
||||
sensor_t_data.resolution = ST_SENSOR_FUSION_RESOLUTION(1.0f);
|
||||
sensor_t_data.maxRange = 1.0f;
|
||||
|
||||
dependencies_type_list[SENSOR_DEPENDENCY_ID_0] = SENSOR_TYPE_CCT;
|
||||
id_sensor_trigger = SENSOR_DEPENDENCY_ID_0;
|
||||
|
||||
#if (CONFIG_ST_HAL_ANDROID_VERSION >= ST_HAL_PIE_VERSION)
|
||||
#if (CONFIG_ST_HAL_ADDITIONAL_INFO_ENABLED)
|
||||
supportsSensorAdditionalInfo = true;
|
||||
sensor_t_data.flags |= SENSOR_FLAG_ADDITIONAL_INFO;
|
||||
#endif /* CONFIG_ST_HAL_ADDITIONAL_INFO_ENABLED */
|
||||
#endif /* CONFIG_ST_HAL_ANDROID_VERSION */
|
||||
}
|
||||
|
||||
SWLight::~SWLight()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
int SWLight::Enable(int handle, bool enable, bool lock_en_mutex)
|
||||
{
|
||||
int err;
|
||||
bool old_status;
|
||||
bool old_status_no_handle;
|
||||
|
||||
if (lock_en_mutex)
|
||||
pthread_mutex_lock(&enable_mutex);
|
||||
|
||||
old_status = GetStatus(false);
|
||||
old_status_no_handle = GetStatusExcludeHandle(handle);
|
||||
|
||||
err = SWSensorBaseWithPollrate::Enable(handle, enable, false);
|
||||
if (err < 0) {
|
||||
if (lock_en_mutex)
|
||||
pthread_mutex_unlock(&enable_mutex);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((enable && !old_status) || (!enable && !old_status_no_handle)) {
|
||||
if (enable)
|
||||
sensor_global_enable = android::elapsedRealtimeNano();
|
||||
else
|
||||
sensor_global_disable = android::elapsedRealtimeNano();
|
||||
}
|
||||
|
||||
if (lock_en_mutex)
|
||||
pthread_mutex_unlock(&enable_mutex);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int SWLight::SetDelay(int handle, int64_t period_ns, int64_t timeout, bool lock_en_mutex)
|
||||
{
|
||||
int err;
|
||||
|
||||
if ((period_ns > FREQUENCY_TO_NS(FLT_MAX)) && (period_ns != INT64_MAX))
|
||||
period_ns = FREQUENCY_TO_NS(FLT_MAX);
|
||||
|
||||
if (lock_en_mutex)
|
||||
pthread_mutex_lock(&enable_mutex);
|
||||
|
||||
err = SWSensorBaseWithPollrate::SetDelay(handle, period_ns, timeout, false);
|
||||
if (err < 0){
|
||||
if (lock_en_mutex)
|
||||
pthread_mutex_unlock(&enable_mutex);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
if (lock_en_mutex)
|
||||
pthread_mutex_unlock(&enable_mutex);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void SWLight::ProcessData(SensorBaseData *data)
|
||||
{
|
||||
#if (CONFIG_ST_HAL_DEBUG_LEVEL >= ST_HAL_DEBUG_EXTRA_VERBOSE)
|
||||
ALOGD("\"%s\": received new sensor data from trigger: x=%f y=%f z=%f, timestamp=%" PRIu64 "ns, deltatime=%" PRIu64 "ns (sensor type: %d).",
|
||||
sensor_t_data.name, data->raw[0], data->raw[1], data->raw[2],
|
||||
data->timestamp, data->timestamp - sensor_event.timestamp, sensor_t_data.type);
|
||||
#endif /* CONFIG_ST_HAL_DEBUG_LEVEL */
|
||||
|
||||
sensor_event.light = data->processed[0];
|
||||
sensor_event.timestamp = data->timestamp;
|
||||
SWSensorBaseWithPollrate::WriteDataToPipe(data->pollrate_ns);
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
/*
|
||||
* Virtual Light Sensor Class
|
||||
*
|
||||
* Copyright (C) 2022 Rockchip Electronics Co., Ltd.
|
||||
* Author: Jason Zhang - <jason.zhang@rock-chips.com>
|
||||
*
|
||||
* Licensed 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 ST_SW_LIGHT_H
|
||||
#define ST_SW_LIGHT_H
|
||||
|
||||
#include "SWSensorBase.h"
|
||||
|
||||
class SWLight : public SWSensorBaseWithPollrate {
|
||||
protected:
|
||||
SensorBaseData outdata;
|
||||
|
||||
public:
|
||||
SWLight(const char *name, int handle);
|
||||
~SWLight();
|
||||
|
||||
// virtual int CustomInit();
|
||||
virtual int Enable(int handle, bool enable, bool lock_en_mutex);
|
||||
virtual int SetDelay(int handle, int64_t period_ns, int64_t timeout, bool lock_en_mutex);
|
||||
virtual void ProcessData(SensorBaseData *data);
|
||||
};
|
||||
|
||||
#endif /* ST_SW_LIGHT_H */
|
Loading…
Reference in New Issue