#define MODEL_NAME "MAX86902_UV"
#define VENDOR "MAXIM"
#define RESOLUTION 1
-#define RAW_DATA_UNIT 1
+#define RAW_DATA_UNIT 0.0002289
#define MIN_INTERVAL 10
#define MAX_BATCH_COUNT 0
model_name: MODEL_NAME,
vendor: VENDOR,
min_range: 0,
- max_range: 65535,
+ max_range: 15,
resolution: 0,
min_interval: 0,
max_batch_count: 0,
bool uv_device::update_value_input_event(void)
{
int ultraviolet_raw = -1;
+ int hrm_temp = -1;
bool ultraviolet = false;
int read_input_cnt = 0;
const int INPUT_MAX_BEFORE_SYN = 10;
++read_input_cnt;
- if (ultraviolet_event.type == EV_REL && ultraviolet_event.code == REL_MISC) {
+ if (ultraviolet_event.type == EV_REL && ultraviolet_event.code == REL_X) {
ultraviolet_raw = (int)ultraviolet_event.value - BIAS;
ultraviolet = true;
+ } else if (ultraviolet_event.type == EV_REL && ultraviolet_event.code == REL_Y) {
+ hrm_temp = (int)ultraviolet_event.value - BIAS;
} else if (ultraviolet_event.type == EV_SYN) {
syn = true;
fired_time = util::get_timestamp(&ultraviolet_event.time);
m_ultraviolet = ultraviolet_raw;
m_fired_time = fired_time;
+ m_hrm_temp = hrm_temp;
- _D("m_ultraviolet = %d, time = %lluus", m_ultraviolet, m_fired_time);
+ _D("m_ultraviolet = %d(%d), time = %lluus", m_ultraviolet, hrm_temp, m_fired_time);
return true;
}
sensor_data->accuracy = SENSOR_ACCURACY_GOOD;
sensor_data->timestamp = m_fired_time;
- sensor_data->value_count = 1;
+ sensor_data->value_count = 2;
sensor_data->values[0] = m_ultraviolet;
+ sensor_data->values[1] = m_ultraviolet;
raw_to_base(sensor_data);