/*
- * Copyright (C) 2014-2015 Intel Corporation.
- */
+// Copyright (c) 2015 Intel Corporation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+*/
#ifndef __COMMON_H__
#define __COMMON_H__
+#include <string.h>
+
#define MAX_DEVICES 9 /* Check iio devices 0 to MAX_DEVICES-1 */
#define MAX_SENSORS 12 /* We can handle as many sensors */
#define MAX_CHANNELS 4 /* We can handle as many channels per sensor */
#define DEV_FILE_PATH "/dev/iio:device%d"
#define BASE_PATH "/sys/bus/iio/devices/iio:device%d/"
#define TRIGGER_FILE_PATH "/sys/bus/iio/devices/trigger%d/name"
+#define IIO_DEVICES "/sys/bus/iio/devices/"
#define CHANNEL_PATH BASE_PATH "scan_elements/"
#define ENABLE_PATH BASE_PATH "buffer/enable"
+#define BUFFER_LENGTH_PATH BASE_PATH "buffer/length"
#define NAME_PATH BASE_PATH "name"
#define TRIGGER_PATH BASE_PATH "trigger/current_trigger"
#define EVENTS_PATH BASE_PATH "events/"
#define SENSOR_OFFSET_PATH BASE_PATH "in_%s_offset"
#define SENSOR_SCALE_PATH BASE_PATH "in_%s_scale"
#define SENSOR_SAMPLING_PATH BASE_PATH "in_%s_sampling_frequency"
+#define SENSOR_AVAIL_FREQ_PATH BASE_PATH "in_%s_sampling_frequency_available"
#define DEVICE_SAMPLING_PATH BASE_PATH "sampling_frequency"
#define DEVICE_AVAIL_FREQ_PATH BASE_PATH "sampling_frequency_available"
#define ILLUMINATION_CALIBPATH BASE_PATH "in_illuminance_calibscale"
#define SENSOR_CALIB_BIAS_PATH BASE_PATH "in_%s_calibbias"
#define MOUNTING_MATRIX_PATH BASE_PATH "mounting_matrix"
-#define CONFIGFS_TRIGGER_PATH "/config/iio/triggers/"
+#define CONFIGFS_TRIGGER_PATH "/sys/kernel/config/iio/triggers/"
#define PROP_BASE "ro.iio.%s.%s" /* Note: PROPERTY_KEY_MAX is small */
#define MAX_SENSOR_REPORT_SIZE 32 /* Sensor report buffer size */
#define MAX_DEVICE_REPORT_SIZE 32 /* iio device scan buffer size */
-#define MAX_NAME_SIZE 32
+#define MAX_NAME_SIZE 64
#define MAX_SENSOR_BASES 3 /* Max number of base sensors a sensor can rely on */
char init_trigger_name[MAX_NAME_SIZE]; /* ex: accel-name-dev1 */
char motion_trigger_name[MAX_NAME_SIZE];/* ex: accel-any-motion-dev1 */
char hrtimer_trigger_name[MAX_NAME_SIZE]; /*ex: accel-hr-dev1 */
+ int trigger_nr; /* trigger number associated with this device */
float max_range;
float resolution;
float power;
*/
float mounting_matrix[9];
+ /** Count of available frequencies */
+ int avail_freqs_count;
+
+ /** Array of available frequencies */
+ float* avail_freqs;
+
/*
* Event counter - will be used to check if we have a significant sample for noisy sensors. We want to make sure we do not send any wrong
* events before filtering kicks in. We can also use it for statistics.