4 #include "sensor-tool.h"
6 static GMainLoop *loop;
7 static bool turned_on[SENSOR_NUM];
9 static void sensor_callback(sensor_h sensor, sensor_event_s events[], int events_count, void *user_data)
12 sensor_get_type(sensor, &type);
15 for (int i = 0; i < SENSOR_NUM; ++i){
16 if (sensor_type[i] == type){
22 g_print("[%s] : ", sensor_alias[num]);
23 for (int i = 0; i < events_count; ++i) {
25 if (events[i].value_count < value_num[num])
26 value_count = events[i].value_count;
28 value_count = value_num[num];
30 for (int j = 0; j < value_count; ++j) {
31 g_print("%f ", events[i].values[j]);
37 static int create_sensor_listener(int num, sensor_h *sensor, sensor_listener_h *listener)
42 const char *name = sensor_name[num];
43 sensor_type_e type = sensor_type[num];
45 sensor_is_supported(type, &supported);
50 sensor_get_default_sensor(type, sensor);
52 sensor_create_listener(*sensor, listener);
53 sensor_listener_set_events_cb(*listener, sensor_callback, NULL);
54 sensor_listener_set_option(*listener, SENSOR_OPTION_ALWAYS_ON);
55 sensor_listener_set_interval(*listener, 100);
57 sensor_get_min_range(*sensor, &min);
58 sensor_get_max_range(*sensor, &max);
60 ret = sensor_listener_start(*listener);
62 g_print("%s error in listnener_start : %d\n", name, ret);
72 sensor_listener_h listener[29];
75 for (int i = 0; i < SENSOR_NUM; ++i) {
76 if (create_sensor_listener(i, &sensor[i], &listener[i])) {
86 g_print("There is no supported sensor.\n");
90 g_print("Supported sensors list : \n");
91 for (int i = 0; i < SENSOR_NUM; ++i) {
94 g_print("%s : [%s]\n", sensor_name[i], sensor_alias[i]);
98 loop = g_main_loop_new(NULL, FALSE);
99 g_main_loop_run(loop);
101 for (int i = 0; i < SENSOR_NUM; ++i) {
104 sensor_destroy_listener(listener[i]);