23 #ifndef _DEV_I2C_SENSOR_LM75A_H 24 #define _DEV_I2C_SENSOR_LM75A_H 42 int i2c_dev_register_sensor_lm75a(
50 SENSOR_LM75A_SET_CONF,
51 SENSOR_LM75A_CLEAR_AND_SET_CONF,
52 SENSOR_LM75A_GET_TEMP,
55 SENSOR_LM75A_GET_THYST,
56 SENSOR_LM75A_SET_THYST
57 } sensor_lm75a_command;
59 static inline int sensor_lm75a_get_conf(
int fd, uint8_t *val)
61 return ioctl(fd, SENSOR_LM75A_GET_CONF, val);
64 static inline int sensor_lm75a_set_conf(
int fd, uint8_t val)
66 return ioctl(fd, SENSOR_LM75A_SET_CONF, (
void *)(uintptr_t) val);
69 static inline int sensor_lm75a_clear_and_set_conf(
75 uint16_t clear_and_set = (uint16_t) (((uint16_t) set << 8) | clear);
79 SENSOR_LM75A_CLEAR_AND_SET_CONF,
80 (
void *)(uintptr_t) clear_and_set
84 static inline int sensor_lm75a_get_temp(
int fd, int16_t *val)
86 return ioctl(fd, SENSOR_LM75A_GET_TEMP, val);
89 static inline int sensor_lm75a_get_temp_celsius(
int fd,
double *celsius)
94 rv = ioctl(fd, SENSOR_LM75A_GET_TEMP, &val);
95 *celsius = (((int) val) >> 5) * 0.125;
99 static inline int sensor_lm75a_get_tos(
int fd, uint16_t *val)
101 return ioctl(fd, SENSOR_LM75A_GET_TOS, val);
104 static inline int sensor_lm75a_set_tos(
int fd, uint16_t val)
106 return ioctl(fd, SENSOR_LM75A_SET_TOS, (
void *)(uintptr_t) val);
109 static inline int sensor_lm75a_get_thyst(
int fd, uint16_t *val)
111 return ioctl(fd, SENSOR_LM75A_GET_THYST, val);
114 static inline int sensor_lm75a_set_thyst(
int fd, uint16_t val)
116 return ioctl(fd, SENSOR_LM75A_SET_THYST, (
void *)(uintptr_t) val);
#define I2C_DEV_IO_CONTROL
Base number for device IO control commands.
Definition: i2c.h:287
Inter-Integrated Circuit (I2C) Driver API.