Header file for ad7091r5 Driver.
More...
#include <stdbool.h>
#include "no_os_i2c.h"
#include "no_os_gpio.h"
|
| enum | ad7091r5_mode {
AD7091R5_MODE_SAMPLE
,
AD7091R5_MODE_COMMAND
,
AD7091R5_MODE_AUTOCYCLE
} |
| | Converter supported modes. More...
|
| |
| enum | ad7091r5_sleep_mode {
AD7091R5_SLEEP_MODE_0
,
AD7091R5_SLEEP_MODE_1
,
AD7091R5_SLEEP_MODE_2
,
AD7091R5_SLEEP_MODE_3
} |
| | Converter supported sleep modes. More...
|
| |
| enum | ad7091r5_port {
AD7091R5_GPO0
,
AD7091R5_GPO1
,
AD7091R5_GPO2
} |
| | Converter general purpose outputs. More...
|
| |
| enum | ad7091r5_gpo0_mode {
AD7091R5_GPO0_ENABLED
,
AD7091R5_GPO0_ALERT
,
AD7091R5_GPO0_BUSY
} |
| | Port 0 configuration. More...
|
| |
| enum | ad7091r5_cycle_timer {
AD7091R5_CYCLE_TIMER_100uS
,
AD7091R5_CYCLE_TIMER_200uS
,
AD7091R5_CYCLE_TIMER_400uS
,
AD7091R5_CYCLE_TIMER_800uS
} |
| | Timer used for autocycle mode. More...
|
| |
| enum | ad7091r5_alert_type {
AD7091R5_NO_ALERT
,
AD7091R5_HIGH_ALERT
,
AD7091R5_LOW_ALERT
} |
| | Alert status. More...
|
| |
| enum | ad7091r5_limit {
AD7091R5_LOW_LIMIT
,
AD7091R5_HIGH_LIMIT
,
AD7091R5_HYSTERESIS
} |
| | Limit type. More...
|
| |
|
| int32_t | ad7091r5_init (struct ad7091r5_dev **device, struct ad7091r5_init_param *init_param) |
| |
| int32_t | ad7091r5_remove (struct ad7091r5_dev *dev) |
| | Free the memory allocated by ad7091r5_init().
|
| |
| int32_t | ad7091r5_set_mode (struct ad7091r5_dev *dev, enum ad7091r5_mode mode) |
| |
| int32_t | ad7091r5_sleep_mode (struct ad7091r5_dev *dev, enum ad7091r5_sleep_mode mode) |
| |
| int32_t | ad7091r5_set_port (struct ad7091r5_dev *dev, enum ad7091r5_port port, bool value) |
| |
| int32_t | ad7091r5_set_gpo0_mode (struct ad7091r5_dev *dev, enum ad7091r5_gpo0_mode mode, bool is_cmos) |
| |
| int32_t | ad7091r5_set_cycle_timer (struct ad7091r5_dev *dev, enum ad7091r5_cycle_timer timer) |
| |
| int32_t | ad7091r5_set_limit (struct ad7091r5_dev *dev, enum ad7091r5_limit limit, uint8_t channel, uint16_t value) |
| |
| int32_t | ad7091r5_get_alert (struct ad7091r5_dev *dev, uint8_t channel, enum ad7091r5_alert_type *alert) |
| |
| int32_t | ad7091r5_get_limit (struct ad7091r5_dev *dev, enum ad7091r5_limit limit, uint8_t channel, uint16_t *value) |
| |
| int32_t | ad7091r5_set_channel (struct ad7091r5_dev *dev, uint8_t channel) |
| |
| int32_t | ad7091r5_read_one (struct ad7091r5_dev *dev, uint8_t channel, uint16_t *read_val) |
| |
Header file for ad7091r5 Driver.
- Author
- Cristian Pop (crist.nosp@m.ian..nosp@m.pop@a.nosp@m.nalo.nosp@m.g.com)
Copyright 2020(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
◆ AD7091R5_BITS
◆ AD7091R5_CHANNEL_NO
| #define AD7091R5_CHANNEL_NO 4 |
◆ AD7091R5_CONV_MASK
◆ AD7091R5_REG_ALERT
| #define AD7091R5_REG_ALERT 3 |
◆ AD7091R5_REG_CH_HIGH_LIMIT
| #define AD7091R5_REG_CH_HIGH_LIMIT |
( |
| ch | ) |
|
◆ AD7091R5_REG_CH_HYSTERESIS
| #define AD7091R5_REG_CH_HYSTERESIS |
( |
| ch | ) |
|
◆ AD7091R5_REG_CH_LOW_LIMIT
| #define AD7091R5_REG_CH_LOW_LIMIT |
( |
| ch | ) |
|
◆ AD7091R5_REG_CHANNEL
| #define AD7091R5_REG_CHANNEL 1 |
◆ AD7091R5_REG_CONF
| #define AD7091R5_REG_CONF 2 |
◆ AD7091R5_REG_RESULT
| #define AD7091R5_REG_RESULT 0 |
◆ REG_ALERT_MASK
| #define REG_ALERT_MASK |
( |
| x, |
|
|
| ch ) |
◆ REG_CONF_AUTO
| #define REG_CONF_AUTO |
( |
| x | ) |
|
◆ REG_CONF_CMD
| #define REG_CONF_CMD |
( |
| x | ) |
|
◆ REG_CONF_CYCLE_TIMER
| #define REG_CONF_CYCLE_TIMER |
( |
| x | ) |
|
◆ REG_CONF_CYCLE_TIMER_MASK
◆ REG_CONF_GPO0
| #define REG_CONF_GPO0 |
( |
| x | ) |
|
◆ REG_CONF_GPO0_ALERT
| #define REG_CONF_GPO0_ALERT |
( |
| x | ) |
|
◆ REG_CONF_GPO0_BUSY
| #define REG_CONF_GPO0_BUSY |
( |
| x | ) |
|
◆ REG_CONF_GPO0_DRIVE_TYPE
| #define REG_CONF_GPO0_DRIVE_TYPE |
( |
| x | ) |
|
◆ REG_CONF_GPO0_MASK
◆ REG_CONF_GPO0_MODE_MASK
◆ REG_CONF_GPO1
| #define REG_CONF_GPO1 |
( |
| x | ) |
|
◆ REG_CONF_GPO1_MASK
◆ REG_CONF_GPO2
| #define REG_CONF_GPO2 |
( |
| x | ) |
|
◆ REG_CONF_GPO2_MASK
◆ REG_CONF_MODE_MASK
◆ REG_CONF_RESET
| #define REG_CONF_RESET |
( |
| x | ) |
|
◆ REG_CONF_RESET_MASK
◆ REG_CONF_SLEEP_MODE
| #define REG_CONF_SLEEP_MODE |
( |
| x | ) |
|
◆ REG_CONF_SLEEP_MODE_MASK
| #define REG_CONF_SLEEP_MODE_MASK NO_OS_BIT(0) |
◆ REG_RESULT_CH_ID
| #define REG_RESULT_CH_ID |
( |
| x | ) |
|
◆ REG_RESULT_CONV_DATA
| #define REG_RESULT_CONV_DATA |
( |
| x | ) |
|
Value:
#define AD7091R5_CONV_MASK
Definition ad7091r5.h:20
◆ ad7091r5_alert_type
Alert status.
| Enumerator |
|---|
| AD7091R5_NO_ALERT | No alert
|
| AD7091R5_HIGH_ALERT | High alert
|
| AD7091R5_LOW_ALERT | Low alert
|
◆ ad7091r5_cycle_timer
Timer used for autocycle mode.
| Enumerator |
|---|
| AD7091R5_CYCLE_TIMER_100uS | 100 uS
|
| AD7091R5_CYCLE_TIMER_200uS | 200 uS
|
| AD7091R5_CYCLE_TIMER_400uS | 400 uS
|
| AD7091R5_CYCLE_TIMER_800uS | 800 uS
|
◆ ad7091r5_gpo0_mode
Port 0 configuration.
| Enumerator |
|---|
| AD7091R5_GPO0_ENABLED | GPO0 is output port
|
| AD7091R5_GPO0_ALERT | GPO0 is Alert indicator
|
| AD7091R5_GPO0_BUSY | GPO0 is busy indicator, device is converting
|
◆ ad7091r5_limit
Limit type.
| Enumerator |
|---|
| AD7091R5_LOW_LIMIT | Low limit
|
| AD7091R5_HIGH_LIMIT | High limit
|
| AD7091R5_HYSTERESIS | Hysteresis
|
◆ ad7091r5_mode
Converter supported modes.
| Enumerator |
|---|
| AD7091R5_MODE_SAMPLE | Sample mode, conversion started by CONVST
|
| AD7091R5_MODE_COMMAND | Command mode, conversion starts on the first pos edge of SCL
|
| AD7091R5_MODE_AUTOCYCLE | Sample mode, convert continuously
|
◆ ad7091r5_port
Converter general purpose outputs.
| Enumerator |
|---|
| AD7091R5_GPO0 | GPO0
|
| AD7091R5_GPO1 | GPO1
|
| AD7091R5_GPO2 | GPO2
|
◆ ad7091r5_sleep_mode
Converter supported sleep modes.
| Enumerator |
|---|
| AD7091R5_SLEEP_MODE_0 | Default operation: Sleep mode Off, Internal reference Off
|
| AD7091R5_SLEEP_MODE_1 | Sleep mode Off, Internal reference On
|
| AD7091R5_SLEEP_MODE_2 | Sleep mode On, Internal reference Off
|
| AD7091R5_SLEEP_MODE_3 | Sleep mode On, Internal reference On
|
◆ ad7091r5_get_alert()
Get alert.
- Parameters
-
| dev | - The device structure. |
| channel | - Channel. |
| alert | - Alert type. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad7091r5_get_limit()
Get high limit, low limit, hysteresis.
- Parameters
-
| dev | - The device structure. |
| limit | - Limit. |
| channel | - Channel. |
| value | - Value. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad7091r5_init()
Initialize the device.
- Parameters
-
| device | - The device structure. |
| init_param | - The structure that contains the device initial parameters. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad7091r5_read_one()
| int32_t ad7091r5_read_one |
( |
struct ad7091r5_dev * | dev, |
|
|
uint8_t | channel, |
|
|
uint16_t * | read_val ) |
Read one sample.
- Parameters
-
| dev | - The device structure. |
| channel | - Channel. |
| read_val | - Value. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad7091r5_remove()
Free the memory allocated by ad7091r5_init().
- Parameters
-
| dev | - Pointer to the device handler. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad7091r5_set_channel()
| int32_t ad7091r5_set_channel |
( |
struct ad7091r5_dev * | dev, |
|
|
uint8_t | channel ) |
Set device channel.
- Parameters
-
| dev | - The device structure. |
| channel | - Channel. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad7091r5_set_cycle_timer()
Set cycle timer for autocycle mode.
- Parameters
-
| dev | - The device structure. |
| timer | - Converter sampling period. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad7091r5_set_gpo0_mode()
Set GPO0 mode.
- Parameters
-
| dev | - The device structure. |
| mode | - GPO0 new mode. |
| is_cmos | - 0: GPO0 is open drain
|
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad7091r5_set_limit()
Set high limit, low limit, hysteresis.
- Parameters
-
| dev | - The device structure. |
| limit | - Limit. |
| channel | - Channel. |
| value | - Value. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad7091r5_set_mode()
Set mode.
- Parameters
-
| dev | - The device structure. |
| mode | - Converter mode. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad7091r5_set_port()
Set output port value.
- Parameters
-
| dev | - The device structure. |
| port | - Port number. |
| value | - Value. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad7091r5_sleep_mode()
Set sleep mode.
- Parameters
-
| dev | - The device structure. |
| mode | - Sleep mode. |
- Returns
- 0 in case of success, negative error code otherwise.