diff options
Diffstat (limited to 'libsensors_iio/src/sensor_cal.c')
-rw-r--r-- | libsensors_iio/src/sensor_cal.c | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/libsensors_iio/src/sensor_cal.c b/libsensors_iio/src/sensor_cal.c deleted file mode 100644 index 5d0eb3b..0000000 --- a/libsensors_iio/src/sensor_cal.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (C) 2015 Intel Corp - * - * 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. - */ -#include "sensor_cal.h" - -#include <errno.h> -#include <cutils/log.h> - -/* Load sensor calibration data */ -int load_cali_data(const int sindex) -{ - int err = 0, num, sum; - FILE *filp; - - if (((sindex == ACCEL_SINDEX) && accl_cal_data_loaded) || - ((sindex == GYRO_SINDEX) && gyro_cal_data_loaded)) - return 0; - - filp = fopen(sensor_cali_data_path[sindex], "r"); - if (filp == NULL) { - err = -errno; - ALOGE("failed to open %s, errno=%d", sensor_cali_data_path[sindex], err); - return err; - } - - num = fscanf(filp, "%d %d %d %d", - &cal_data[sindex][0], &cal_data[sindex][1], - &cal_data[sindex][2], &sum); - if (num != 4) { - err = -EINVAL; - ALOGE("read %s data failed, num=%d", sensor_cali_data_path[sindex], num); - goto out; - } - - if ((cal_data[sindex][0] + cal_data[sindex][1] + cal_data[sindex][2]) != sum) { - err = -EINVAL; - ALOGE("%s check sum error", sensor_cali_data_path[sindex]); - goto out; - } - -out: - fclose(filp); - return err; -} - -/* Write calibration data to iio channel offset */ -void set_cali_offset(const int sindex, const bool wakeup) -{ -#define MAX_BUF_LEN 64 - int err, j; - FILE *filp; - char buf[MAX_BUF_LEN]; - - for (j = 0; j < (Z_AXIS_INDEX + 1); j++) { - err = snprintf(buf, MAX_BUF_LEN, "%s/%s", - sensor_sysfs_dir[sindex][wakeup], sensor_offset[sindex][j]); - if (err < 0) { - ALOGE("%s/%s snprintf err=%d", - sensor_sysfs_dir[sindex][wakeup], sensor_offset[sindex][j], err); - return; - } - filp = fopen(buf, "w"); - if (filp == NULL) { - ALOGE("failed to open %s, errno=%d", buf, errno); - return; - } - fprintf(filp, "%d", cal_data[sindex][j]); - fclose(filp); - } - - if (sindex == ACCEL_SINDEX) - accl_cal_data_loaded = true; - if (sindex == GYRO_SINDEX) - gyro_cal_data_loaded = true; -} - - -void do_cal_data_loading(const int sindex, const bool wakeup) -{ - int err; - - err = load_cali_data(sindex); - if (err != 0) - return; - - set_cali_offset(sindex, wakeup); - -} |