Device driver for Atlas Scientific pH OEM Sensor with SMBus/I2C interface. More...
Device driver for Atlas Scientific pH OEM Sensor with SMBus/I2C interface.
Definition in file ph_oem.h.
Go to the source code of this file.
Data Structures | |
struct | ph_oem_params |
pH OEM sensor params More... | |
struct | ph_oem |
pH OEM device descriptor More... | |
Typedefs | |
typedef struct ph_oem_params | ph_oem_params_t |
pH OEM sensor params | |
typedef void(* | ph_oem_interrupt_pin_cb_t) (void *) |
pH OEM interrupt pin callback | |
typedef struct ph_oem | ph_oem_t |
pH OEM device descriptor | |
Enumerations | |
enum | ph_oem_named_returns_t { PH_OEM_OK = 0 , PH_OEM_NODEV = -1 , PH_OEM_READ_ERR = -2 , PH_OEM_WRITE_ERR = -3 , PH_OEM_NOT_PH = -4 , PH_OEM_INTERRUPT_GPIO_UNDEF = -5 , PH_OEM_GPIO_INIT_ERR = -6 , PH_OEM_TEMP_OUT_OF_RANGE = -7 } |
Named return values. More... | |
enum | ph_oem_led_state_t { PH_OEM_LED_ON = 0x01 , PH_OEM_LED_OFF = 0x00 } |
LED state values. More... | |
enum | ph_oem_device_state_t { PH_OEM_TAKE_READINGS = 0x01 , PH_OEM_STOP_READINGS = 0x00 } |
Device state values. More... | |
enum | ph_oem_irq_option_t { PH_OEM_IRQ_RISING = 0x02 , PH_OEM_IRQ_FALLING = 0x04 , PH_OEM_IRQ_BOTH = 0x08 } |
Interrupt pin option values. More... | |
enum | ph_oem_calibration_option_t { PH_OEM_CALIBRATE_LOW_POINT = 0x02 , PH_OEM_CALIBRATE_MID_POINT = 0x03 , PH_OEM_CALIBRATE_HIGH_POINT = 0x04 } |
Calibration option values. More... | |
Functions | |
int | ph_oem_init (ph_oem_t *dev, const ph_oem_params_t *params) |
Initialize a pH OEM sensor. | |
int | ph_oem_set_i2c_address (ph_oem_t *dev, uint8_t addr) |
Sets a new address to the pH OEM device by unlocking the PH_OEM_REG_UNLOCK register and writing a new address to the PH_OEM_REG_ADDRESS register. | |
int | ph_oem_enable_interrupt (ph_oem_t *dev, ph_oem_interrupt_pin_cb_t cb, void *arg) |
Enable the pH OEM interrupt pin if ph_oem_params_t::interrupt_pin is defined. | |
int | ph_oem_reset_interrupt_pin (const ph_oem_t *dev) |
The interrupt pin will not auto reset on option PH_OEM_IRQ_RISING and PH_OEM_IRQ_FALLING after interrupt fires, so call this function again to reset the pin state. | |
int | ph_oem_set_led_state (const ph_oem_t *dev, ph_oem_led_state_t state) |
Set the LED state of the pH OEM sensor by writing to the PH_OEM_REG_LED register. | |
int | ph_oem_set_device_state (const ph_oem_t *dev, ph_oem_device_state_t state) |
Sets the device state (active/hibernate) of the pH OEM sensor by writing to the PH_OEM_REG_HIBERNATE register. | |
int | ph_oem_start_new_reading (const ph_oem_t *dev) |
Starts a new reading by setting the device state to PH_OEM_TAKE_READINGS. | |
int | ph_oem_clear_calibration (const ph_oem_t *dev) |
Clears all calibrations previously done. | |
int | ph_oem_set_calibration (const ph_oem_t *dev, uint16_t calibration_value, ph_oem_calibration_option_t option) |
Sets the PH_OEM_REG_CALIBRATION_BASE register to the calibration_value which the pH OEM sensor will be calibrated to. | |
int | ph_oem_read_calibration_state (const ph_oem_t *dev, uint16_t *calibration_state) |
Read the PH_OEM_REG_CALIBRATION_CONFIRM register. | |
int | ph_oem_set_compensation (const ph_oem_t *dev, uint16_t temperature_compensation) |
Sets the PH_OEM_REG_TEMP_COMPENSATION_BASE register to the temperature_compensation value which the pH OEM sensor will use to compensate the reading error. | |
int | ph_oem_read_compensation (const ph_oem_t *dev, uint16_t *temperature_compensation) |
Reads the PH_OEM_REG_TEMP_CONFIRMATION_BASE register to verify the temperature compensation value that was used to take the pH reading is set to the correct temperature. | |
int | ph_oem_read_ph (const ph_oem_t *dev, uint16_t *ph_value) |
Reads the PH_OEM_REG_PH_READING_BASE register to get the current pH reading. | |