![]() |
no-OS
|
#include <stdint.h>#include <stdio.h>#include "no_os_i2c.h"#include "no_os_util.h"#include "no_os_units.h"Classes | |
| struct | adm1177_dev |
| struct | adm1177_init_param |
Enumerations | |
| enum | adm1177_last_command { ADM1177_VOLTAGE_EN , ADM1177_CURRENT_EN , ADM1177_VOLTAGE_AND_CURRENT_EN , ADM1177_STATUS_EN } |
| enum | adm1177_vrange { ADM1177_VRANGE_LOW , ADM1177_VRANGE_HIGH } |
Functions | |
| int | adm1177_init (struct adm1177_dev **device, struct adm1177_init_param *init_param) |
| Initializes I2C. | |
| int | adm1177_remove (struct adm1177_dev *device) |
| Free the resources allocated by adm1177_init(). | |
| int | adm1177_write (struct adm1177_dev *device, uint8_t cmd, uint8_t reg_address) |
| |
| int | adm1177_read_status (struct adm1177_dev *device, uint8_t *status_byte) |
| |
| int | adm1177_set_vrange (struct adm1177_dev *device, uint8_t vrange) |
| |
| int | adm1177_read_conv (struct adm1177_dev *device, uint16_t *conv_voltage, uint16_t *conv_current) |
| |
| int | adm1177_to_microvolts (struct adm1177_dev *device, uint16_t raw_sample, uint64_t *voltage_uv) |
| |
| int | adm1177_to_microampers (uint16_t raw_sample, uint64_t *current_ua) |
| |
| #define ADM1177_ADC_ALERT_MASK NO_OS_BIT(1) |
| #define ADM1177_ADC_OC_MASK NO_OS_BIT(0) |
| #define ADM1177_ADDRESS 0x5A |
| #define ADM1177_CLEAR_MASK NO_OS_BIT(4) |
| #define ADM1177_CMD_I_CONT NO_OS_BIT(2) |
| #define ADM1177_CMD_I_ONCE NO_OS_BIT(3) |
| #define ADM1177_CMD_STATUS_RD NO_OS_BIT(6) |
| #define ADM1177_CMD_V_CONT NO_OS_BIT(0) |
| #define ADM1177_CMD_V_ONCE NO_OS_BIT(1) |
| #define ADM1177_CMD_VRANGE NO_OS_BIT(4) |
| #define ADM1177_EN_ADC_OC1_MASK NO_OS_BIT(0) |
| #define ADM1177_EN_ADC_OC4_MASK NO_OS_BIT(1) |
| #define ADM1177_EN_HS_ALERT_MASK NO_OS_BIT(2) |
| #define ADM1177_EN_OFF_ALERT_MASK NO_OS_BIT(3) |
| #define ADM1177_EXT_CMD_MASK NO_OS_BIT(7) |
| #define ADM1177_HS_ALERT_MASK NO_OS_BIT(3) |
| #define ADM1177_HS_OC_MASK NO_OS_BIT(2) |
| #define ADM1177_I_FULLSCALE 105840 |
| #define ADM1177_OFF_ALERT_MASK NO_OS_BIT(5) |
| #define ADM1177_OFF_STATUS_MASK NO_OS_BIT(4) |
| #define ADM1177_R_SENSE 25 |
| #define ADM1177_REG_ALERT_EN (NO_OS_BIT(7) | 0x1) |
| #define ADM1177_REG_ALERT_TH (NO_OS_BIT(7) | 0x2) |
| #define ADM1177_REG_CONTROL (NO_OS_BIT(7) | 0x3) |
| #define ADM1177_RESOLUTION 4096 |
| #define ADM1177_SWOFF_MASK NO_OS_BIT(0) |
| #define ADM1177_V_FULLSCALE_0 26350 |
| #define ADM1177_V_FULLSCALE_1 6650 |
| enum adm1177_last_command |
| enum adm1177_vrange |
| int adm1177_init | ( | struct adm1177_dev ** | device, |
| struct adm1177_init_param * | init_param ) |
Initializes I2C.
| device | - The device structure. |
| init_param | - The structure that contains the device initial parameters. |
| int adm1177_read_conv | ( | struct adm1177_dev * | device, |
| uint16_t * | conv_voltage, | ||
| uint16_t * | conv_current ) |
| device | - The device structure. |
| conv_voltage | - The variable through which the voltage read from the ADC is received if requested. If it is 0, it means it was not requested. |
| conv_current | - The variable through which the current read from the ADC is received if requested. If it is 0, it means it was not requested. |
| int adm1177_read_status | ( | struct adm1177_dev * | device, |
| uint8_t * | status_byte ) |
| device | - The device structure. |
| status_byte | - The pointer through which the status byte is transmitted. |
| int adm1177_remove | ( | struct adm1177_dev * | device | ) |
Free the resources allocated by adm1177_init().
| device | - The device structure. |
| int adm1177_set_vrange | ( | struct adm1177_dev * | device, |
| uint8_t | vrange ) |
| device | - The device structure. |
| vrange | - ADM1177_CMD_VRANGE for V Range of 6.65V, otherwise 26.65V will be used. |
| int adm1177_to_microampers | ( | uint16_t | raw_sample, |
| uint64_t * | current_ua ) |
| raw_sample | - The raw sample of the Current Readback from the ADC. |
| current_ua | - The pointer through which the converted microamper value is returned. |
| int adm1177_to_microvolts | ( | struct adm1177_dev * | device, |
| uint16_t | raw_sample, | ||
| uint64_t * | voltage_uv ) |
| device | - The device structure. |
| raw_sample | - The raw sample of the Voltage Readback from the ADC. |
| voltage_uv | - The pointer through which the converted microvolt value is returned. |
| int adm1177_write | ( | struct adm1177_dev * | device, |
| uint8_t | cmd, | ||
| uint8_t | reg_address ) |
| device | - The device structure. |
| cmd | - The command byte indicates which operation to be performed. |
| reg_address | - In case of a write extended command byte operation one of the ADM1177_REG_ALERT_EN, ADM1177_REG_ALERT_TH or ADM1177_REG_CONTROL will be used. In case of a write command byte operation reg_address will be set to 0. |