int GetNode::OpenINA231() { if (open_sensor(DEV_SENSOR_ARM, &sensor[SENSOR_ARM]) < 0) return -1; if (open_sensor(DEV_SENSOR_MEM, &sensor[SENSOR_MEM]) < 0) return -1; if (open_sensor(DEV_SENSOR_KFC, &sensor[SENSOR_KFC]) < 0) return -1; if (open_sensor(DEV_SENSOR_G3D, &sensor[SENSOR_G3D]) < 0) return -1; if (read_sensor_status(&sensor[SENSOR_ARM])) return -1; if (read_sensor_status(&sensor[SENSOR_MEM])) return -1; if (read_sensor_status(&sensor[SENSOR_KFC])) return -1; if (read_sensor_status(&sensor[SENSOR_G3D])) return -1; if (!sensor[SENSOR_ARM].data.enable) enable_sensor(&sensor[SENSOR_ARM], 1); if (!sensor[SENSOR_MEM].data.enable) enable_sensor(&sensor[SENSOR_MEM], 1); if (!sensor[SENSOR_KFC].data.enable) enable_sensor(&sensor[SENSOR_KFC], 1); if (!sensor[SENSOR_G3D].data.enable) enable_sensor(&sensor[SENSOR_G3D], 1); return 0; }
/** * Open all the sensor device files, check their status, and enable them. */ static inline int open_all_sensors(energymon_odroid_ioctl* em) { unsigned int i; for (i = 0; i < SENSOR_COUNT; i++) { if ((em->sensor[i].fd = open(dev_sensor[i], O_RDWR)) <= 0 || read_sensor_status(&em->sensor[i]) || (!em->sensor[i].data.enable && set_sensor_enable(&em->sensor[i], 1))) { perror(dev_sensor[i]); return -1; } } return 0; }