CompassSensor::CompassSensor() : SensorBase(NULL, NULL), compass_fd(-1), mCompassTimestamp(0), mCompassInputReader(8) { VFUNC_LOG; if(!strcmp(COMPASS_NAME, "USE_SYSFS")) { int result = find_name_by_sensor_type("in_magn_scale", "iio:device", sensor_name); if(result) { LOGE("HAL:Cannot read secondary device name - (%d)", result); } dev_name = sensor_name; } LOGI_IF(PROCESS_VERBOSE, "HAL:Secondary Chip Id: %s", dev_name); if(inv_init_sysfs_attributes()) { LOGE("Error Instantiating Compass\n"); return; } memset(mCachedCompassData, 0, sizeof(mCachedCompassData)); LOGV_IF(SYSFS_VERBOSE, "HAL:sysfs:cat %s (%lld)", compassSysFs.compass_orient, getTimestamp()); FILE *fptr; fptr = fopen(compassSysFs.compass_orient, "r"); if (fptr != NULL) { int om[9]; if (fscanf(fptr, "%d,%d,%d,%d,%d,%d,%d,%d,%d", &om[0], &om[1], &om[2], &om[3], &om[4], &om[5], &om[6], &om[7], &om[8]) < 0 || fclose(fptr) < 0) { LOGE("HAL:Could not read compass mounting matrix"); } else { LOGV_IF(EXTRA_VERBOSE, "HAL:compass mounting matrix: " "%+d %+d %+d %+d %+d %+d %+d %+d %+d", om[0], om[1], om[2], om[3], om[4], om[5], om[6], om[7], om[8]); mCompassOrientation[0] = om[0]; mCompassOrientation[1] = om[1]; mCompassOrientation[2] = om[2]; mCompassOrientation[3] = om[3]; mCompassOrientation[4] = om[4]; mCompassOrientation[5] = om[5]; mCompassOrientation[6] = om[6]; mCompassOrientation[7] = om[7]; mCompassOrientation[8] = om[8]; } } if (!isIntegrated()) { enable(ID_M, 0); } }
int CompassSensor::getFd() const { VHANDLER_LOG; LOGI_IF(EXTRA_VERBOSE,"HAL:compass_fd=%d", compass_fd); return compass_fd; }
int CompassSensor::getFd(void) const { VHANDLER_LOG; LOGI_IF(0, "HAL:compass_fd=%d", compass_fd); return compass_fd; }