Change-Id: I97615392d32d7435e74788cc28f13b56f8e72549
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
#include <ipc_client.h>
#include <command_types.h>
#include <cfloat>
+#include <cmath>
#include "sensor_provider_channel_handler.h"
int sensor_provider::publish(sensor_data_t *data, int len)
{
for (int i = 0; i < data->value_count; ++i) {
- if (data->values[i] < m_sensor.get_min_range() ||
+ if (std::isnan(data->values[i]) ||
+ std::isnan(m_sensor.get_min_range()) ||
+ std::isnan(m_sensor.get_max_range()) ||
+ data->values[i] < m_sensor.get_min_range() ||
data->values[i] > m_sensor.get_max_range()) {
_E("Out of range");
return OP_ERROR;
#include <cfloat>
#include <algorithm>
#include <string>
+#include <cmath>
#include "sensor_utils.h"
{
m_min_range = min_range;
+ if (std::isnan(m_min_range))
+ m_min_range = 0; /* set value to 0 when the value is NaN */
if (m_min_range < MIN_RANGE)
m_min_range = MIN_RANGE;
if (m_min_range > MAX_RANGE)
{
m_max_range = max_range;
+ if (std::isnan(m_max_range))
+ m_max_range = 1; /* set value to 1 when the value is NaN */
if (m_max_range < MIN_RANGE)
m_max_range = MIN_RANGE;
if (m_max_range > MAX_RANGE)