Fixing issue in the UV sensor HAL read data code 68/45068/8
authorRamasamy <ram.kannan@samsung.com>
Fri, 31 Jul 2015 06:08:09 +0000 (15:08 +0900)
committerMu-Woong Lee <muwoong.lee@samsung.com>
Wed, 12 Aug 2015 01:26:04 +0000 (18:26 -0700)
Changed based on inputs received from driver team

Change-Id: Id595120289090ef600321d4e96d24dec83c9f34b

src/ultraviolet/ultraviolet_sensor.cpp
src/ultraviolet/ultraviolet_sensor.h
src/ultraviolet/ultraviolet_sensor_hal.cpp

index c673c02..e393c22 100755 (executable)
@@ -31,7 +31,6 @@ using std::mem_fun;
 
 ultraviolet_sensor::ultraviolet_sensor()
 : m_sensor_hal(NULL)
-, m_resolution(0.0f)
 {
        m_name = string(SENSOR_NAME);
 
@@ -61,8 +60,6 @@ bool ultraviolet_sensor::init()
                return false;
        }
 
-       m_resolution = properties.resolution;
-
        INFO("%s is created!", sensor_base::get_name());
 
        return true;
@@ -154,8 +151,7 @@ bool ultraviolet_sensor::set_interval(unsigned long interval)
 
 void ultraviolet_sensor::raw_to_base(sensor_data_t &data)
 {
-       data.values[0] = data.values[0] * m_resolution;
-       data.value_count = 1;
+
 }
 
 extern "C" sensor_module* create(void)
index 95f404b..62f7835 100755 (executable)
@@ -39,7 +39,6 @@ public:
        virtual int get_sensor_data(unsigned int type, sensor_data_t &data);
 private:
        sensor_hal *m_sensor_hal;
-       float m_resolution;
 
        virtual bool on_start(void);
        virtual bool on_stop(void);
index 9c63734..634fd9f 100755 (executable)
@@ -193,6 +193,7 @@ bool ultraviolet_sensor_hal::set_interval(unsigned long val)
 bool ultraviolet_sensor_hal::update_value(bool wait)
 {
        int ultraviolet_raw = -1;
+       bool ultraviolet_sign = false;
        bool ultraviolet = false;
        int read_input_cnt = 0;
        const int INPUT_MAX_BEFORE_SYN = 10;
@@ -212,8 +213,10 @@ bool ultraviolet_sensor_hal::update_value(bool wait)
                ++read_input_cnt;
 
                if (ultraviolet_event.type == EV_REL && ultraviolet_event.code == REL_X) {
-                       ultraviolet_raw = (int)ultraviolet_event.value - BIAS;
+                       ultraviolet_raw = (int)ultraviolet_event.value;
                        ultraviolet = true;
+               } else if (ultraviolet_event.type == EV_REL && ultraviolet_event.code == REL_Y) {
+                       ultraviolet_sign = ((int)ultraviolet_event.value < 0) ? false : true;
                } else if (ultraviolet_event.type == EV_SYN) {
                        syn = true;
                        fired_time = sensor_hal::get_timestamp(&ultraviolet_event.time);
@@ -225,8 +228,10 @@ bool ultraviolet_sensor_hal::update_value(bool wait)
 
        AUTOLOCK(m_value_mutex);
 
-       if (ultraviolet)
-               m_ultraviolet = ultraviolet_raw;
+       if (ultraviolet && ultraviolet_sign)
+               m_ultraviolet = ultraviolet_raw - BIAS;
+       else
+               return false;
 
        m_fired_time = fired_time;