diff options
Diffstat (limited to 'libsensors_iio/software/core/mllite/linux/ml_sysfs_helper.c')
-rw-r--r-- | libsensors_iio/software/core/mllite/linux/ml_sysfs_helper.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/libsensors_iio/software/core/mllite/linux/ml_sysfs_helper.c b/libsensors_iio/software/core/mllite/linux/ml_sysfs_helper.c index 5636a02..eca57c3 100644 --- a/libsensors_iio/software/core/mllite/linux/ml_sysfs_helper.c +++ b/libsensors_iio/software/core/mllite/linux/ml_sysfs_helper.c @@ -5,7 +5,6 @@ #include <ctype.h> #define MPU_SYSFS_ABS_PATH "/sys/class/invensense/mpu" -#define CHIP_NUM 4 enum PROC_SYSFS_CMD { CMD_GET_SYSFS_PATH, CMD_GET_DMP_PATH, @@ -15,7 +14,13 @@ enum PROC_SYSFS_CMD { CMD_GET_DEVICE_NODE }; static char sysfs_path[100]; -static char *chip_name[CHIP_NUM] = {"ITG3500", "MPU6050", "MPU9150", "MPU3050"}; +static char *chip_name[] = { + "ITG3500", + "MPU6050", + "MPU9150", + "MPU3050", + "MPU6500" +}; static int chip_ind; static int initialized =0; static int status = 0; @@ -27,6 +32,8 @@ static int iio_dev_num = 0; #define FORMAT_SCAN_ELEMENTS_DIR "%s/scan_elements" #define FORMAT_TYPE_FILE "%s_type" +#define CHIP_NUM ARRAY_SIZE(chip_name) + static const char *iio_dir = "/sys/bus/iio/devices/"; /** @@ -93,7 +100,7 @@ int find_type_by_name(const char *name, const char *type) */ static int parsing_proc_input(int mode, char *name){ const char input[] = "/proc/bus/input/devices"; - char line[100], d; + char line[4096], d; char tmp[100]; FILE *fp; int i, j, result, find_flag; @@ -394,7 +401,7 @@ inv_error_t inv_get_input_number(const char *name, int *num) */ inv_error_t inv_get_iio_trigger_path(const char *name) { - if (process_sysfs_request(CMD_GET_TRIGGER_PATH, name) < 0) + if (process_sysfs_request(CMD_GET_TRIGGER_PATH, (char *)name) < 0) return INV_ERROR_NOT_OPENED; else return INV_SUCCESS; @@ -409,7 +416,7 @@ inv_error_t inv_get_iio_trigger_path(const char *name) */ inv_error_t inv_get_iio_device_node(const char *name) { - if (process_sysfs_request(CMD_GET_DEVICE_NODE, name) < 0) + if (process_sysfs_request(CMD_GET_DEVICE_NODE, (char *)name) < 0) return INV_ERROR_NOT_OPENED; else return INV_SUCCESS; |