4 * Copyright (c) 2017 Samsung Electronics Co., Ltd.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
25 #include <sensor_internal.h>
29 #define INFO_ARGC 3 /* e.g. {sensorctl, info, accelerometer} */
31 bool info_manager::run(int argc, char *argv[])
37 if (argc < INFO_ARGC) {
42 type = get_sensor_type(argv[2]);
43 RETVM_IF(type == UNKNOWN_SENSOR, false, "Wrong argument : %s\n", argv[2]);
45 sensord_get_sensor_list(type, &sensors, &count);
46 show_info(sensors, count);
55 void info_manager::show_info(sensor_t *sensors, int count)
68 for (int i = 0; i < count; ++i) {
71 sensord_get_type(sensor, &type);
72 name = const_cast<char *>(sensord_get_name(sensor));
73 vendor = const_cast<char *>(sensord_get_vendor(sensor));
74 sensord_get_max_range(sensor, &max_range);
75 sensord_get_min_range(sensor, &min_range);
76 sensord_get_resolution(sensor, &resolution);
77 sensord_get_min_interval(sensor, &min_interval);
78 sensord_get_fifo_count(sensor, &fifo_count);
79 sensord_get_max_batch_count(sensor, &max_batch_count);
81 _N("-------sensor[%d] information-------\n", i);
82 _N("type : %#x\n", type);
83 _N("vendor : %s\n", vendor);
84 _N("name : %s\n", name);
85 _N("min_range : %f\n", min_range);
86 _N("max_range : %f\n", max_range);
87 _N("resolution : %f\n", resolution);
88 _N("min_interval : %d\n", min_interval);
89 _N("fifo_count : %d\n", fifo_count);
90 _N("max_batch_count : %d\n", max_batch_count);
91 _N("--------------------------------\n");
95 void info_manager::usage(void)
97 _N("usage: sensorctl info <sensor_type>\n\n");