Analog-to-Digital Converter (ADC) peripheral driver. More...
Data Structures | |
struct | npmx_adc_t |
Data structure of the Analog-to-Digital Converter (ADC) driver instance. More... | |
struct | npmx_adc_config_t |
Configuration structure for ADC. More... | |
struct | npmx_adc_meas_all_t |
Structure for all measurements readings. More... | |
struct | npmx_adc_ibat_meas_status_t |
Structure for the battery current measurement status. More... | |
struct | npmx_adc_ntc_config_t |
Configuration structure for battery NTC thermistor. More... | |
Functions | |
npmx_adc_t * | npmx_adc_get (npmx_instance_t *p_pmic, uint8_t idx) |
Function for returning ADC instance based on index. | |
npmx_adc_ntc_type_t | npmx_adc_ntc_type_convert (uint32_t resistance) |
Function for converting resistance in ohms to npmx_adc_ntc_type_t enumeration. | |
bool | npmx_adc_ntc_type_convert_to_ohms (npmx_adc_ntc_type_t battery_ntc, uint32_t *p_val) |
Function for converting the value from NTC enumeration type to resistance. | |
npmx_adc_ntc_meas_interval_t | npmx_adc_ntc_meas_interval_convert (uint32_t time) |
Function for converting time in milliseconds to npmx_adc_ntc_meas_interval_t enumeration. | |
bool | npmx_adc_ntc_meas_interval_convert_to_ms (npmx_adc_ntc_meas_interval_t enum_value, uint32_t *p_val) |
Function for converting npmx_adc_ntc_meas_interval_t enumeration to milliseconds. | |
npmx_adc_die_temp_meas_interval_t | npmx_adc_die_temp_meas_interval_convert (uint32_t time) |
Function for converting time in milliseconds to npmx_adc_die_temp_meas_interval_t enumeration. | |
bool | npmx_adc_die_temp_meas_interval_convert_to_ms (npmx_adc_die_temp_meas_interval_t enum_value, uint32_t *p_val) |
Function for converting npmx_adc_die_temp_meas_interval_t enumeration to milliseconds. | |
const char *const | npmx_adc_ntc_type_map_to_string (npmx_adc_ntc_type_t enum_value) |
Function for mapping npmx_adc_ntc_type_t enumeration values to string. | |
npmx_error_t | npmx_adc_task_trigger (npmx_adc_t const *p_instance, npmx_adc_task_t task) |
Function for activating the specified ADC task. | |
npmx_error_t | npmx_adc_config_set (npmx_adc_t *p_instance, npmx_adc_config_t const *p_config) |
Function for setting the configuration for ADC. | |
npmx_error_t | npmx_adc_config_get (npmx_adc_t *p_instance, npmx_adc_config_t *p_config) |
Function for reading the ADC configuration. | |
npmx_error_t | npmx_adc_ntc_config_set (npmx_adc_t *p_instance, npmx_adc_ntc_config_t const *p_config) |
Function for configuring a battery NTC thermistor. | |
npmx_error_t | npmx_adc_ntc_config_get (npmx_adc_t *p_instance, npmx_adc_ntc_config_t *p_config) |
Function for getting a configuration of the battery NTC thermistor. | |
npmx_error_t | npmx_adc_ntc_resistance_get (npmx_adc_t const *p_instance, uint32_t *p_resistance) |
Function for getting the nominal NTC resistance. | |
npmx_error_t | npmx_adc_meas_check (npmx_adc_t const *p_instance, npmx_adc_meas_t meas, bool *p_ready) |
Function for checking if measured value is ready to be read. | |
npmx_error_t | npmx_adc_meas_get (npmx_adc_t const *p_instance, npmx_adc_meas_t meas, int32_t *p_value) |
Function for getting measured value. | |
npmx_error_t | npmx_adc_meas_all_get (npmx_adc_t const *p_instance, npmx_adc_meas_all_t *p_values) |
Function for getting all measured values. | |
npmx_error_t | npmx_adc_ntc_meas_interval_set (npmx_adc_t *p_instance, npmx_adc_ntc_meas_interval_t interval) |
Function for setting the NTC measurement interval during charging. | |
npmx_error_t | npmx_adc_ntc_meas_interval_get (npmx_adc_t *p_instance, npmx_adc_ntc_meas_interval_t *p_interval) |
Function for getting NTC auto measurement interval during charging. | |
npmx_error_t | npmx_adc_die_temp_meas_interval_set (npmx_adc_t *p_instance, npmx_adc_die_temp_meas_interval_t interval) |
Function for setting the die temperature measurement interval during charging. | |
npmx_error_t | npmx_adc_die_temp_meas_interval_get (npmx_adc_t *p_instance, npmx_adc_die_temp_meas_interval_t *p_interval) |
Function for getting die temperature auto measurement interval during charging. | |
npmx_error_t | npmx_adc_vbat_meas_delay_set (npmx_adc_t const *p_instance, uint8_t delay) |
Function for setting the delay of battery voltage measurement after going into sleep mode. | |
npmx_error_t | npmx_adc_vbat_meas_delay_get (npmx_adc_t const *p_instance, uint8_t *p_delay) |
Function for getting the delay of battery voltage measurement after going into sleep mode. | |
npmx_error_t | npmx_adc_ibat_meas_status_get (npmx_adc_t const *p_instance, npmx_adc_ibat_meas_status_t *p_ibat_meas_status) |
Function for getting the battery current measurement status. | |
npmx_error_t | npmx_adc_ibat_meas_enable_set (npmx_adc_t const *p_instance, bool enable) |
Function for setting the auto measurement of battery current. | |
npmx_error_t | npmx_adc_ibat_meas_enable_check (npmx_adc_t const *p_instance, bool *p_enable) |
Function for checking whether auto measurement of battery current is enabled. | |
Analog-to-Digital Converter (ADC) peripheral driver.
Intervals of automatic measurements of die temperature during charging.
Battery charging current.
enum npmx_adc_meas_t |
Possible measurements that can be read from ADC.
Enumerator | |
---|---|
NPMX_ADC_MEAS_VBAT | VBAT measurement (in millivolts). |
NPMX_ADC_MEAS_BAT_TEMP | Battery temperature (in millidegrees Celsius). For proper temperature calculations, a thermistor type and NTC beta value should be set with the npmx_adc_config_set function. |
NPMX_ADC_MEAS_DIE_TEMP | Internal die temperature measurement (in millidegrees Celsius). |
NPMX_ADC_MEAS_VSYS | VSYS voltage measurement (in millivolts). |
NPMX_ADC_MEAS_VBUS | VBUS (7 Volt range) measurement (in millivolts). |
NPMX_ADC_MEAS_VBAT0 | VBAT0 from burst mode measurement (in millivolts). |
NPMX_ADC_MEAS_VBAT1 | VBAT1 from burst mode measurement (in millivolts). |
NPMX_ADC_MEAS_VBAT2_IBAT | Measurement of either VBAT2 in burst mode or IBAT (respectively in millivolts or milliamperes). |
NPMX_ADC_MEAS_VBAT3_VBUS | Measurement of either VBAT3 in burst mode or VBUS (both in millivolts). |
NPMX_ADC_MEAS_COUNT | ADC requests maximum count. |
NPMX_ADC_MEAS_INVALID | Invalid ADC measurement. |
Intervals of automatic measurements of NTC during charging.
enum npmx_adc_ntc_type_t |
Battery NTC type. Should be checked in battery documentation.
enum npmx_adc_task_t |
ADC tasks.
npmx_error_t npmx_adc_config_get | ( | npmx_adc_t * | p_instance, |
npmx_adc_config_t * | p_config ) |
Function for reading the ADC configuration.
[in] | p_instance | Pointer to the ADC instance. |
[out] | p_config | Pointer to the ADC configuration structure. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_error_t npmx_adc_config_set | ( | npmx_adc_t * | p_instance, |
npmx_adc_config_t const * | p_config ) |
Function for setting the configuration for ADC.
[in] | p_instance | Pointer to the ADC instance. |
[in] | p_config | Pointer to the configuration of the ADC to be applied. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_adc_die_temp_meas_interval_t npmx_adc_die_temp_meas_interval_convert | ( | uint32_t | time | ) |
Function for converting time in milliseconds to npmx_adc_die_temp_meas_interval_t enumeration.
[in] | time | Time in milliseconds to be converted into npmx_adc_die_temp_meas_interval_t enumeration. |
bool npmx_adc_die_temp_meas_interval_convert_to_ms | ( | npmx_adc_die_temp_meas_interval_t | enum_value, |
uint32_t * | p_val ) |
Function for converting npmx_adc_die_temp_meas_interval_t enumeration to milliseconds.
[in] | enum_value | Time defined as npmx_adc_die_temp_meas_interval_t enumeration to be converted into milliseconds. |
[out] | p_val | Pointer to the variable that stores the conversion result. |
true | Conversion is valid. |
false | Conversion is invalid - an invalid argument was passed to the function. |
npmx_error_t npmx_adc_die_temp_meas_interval_get | ( | npmx_adc_t * | p_instance, |
npmx_adc_die_temp_meas_interval_t * | p_interval ) |
Function for getting die temperature auto measurement interval during charging.
[in] | p_instance | Pointer to the ADC instance. |
[out] | p_interval | Pointer to interval for die temperature auto measurement during charging. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_error_t npmx_adc_die_temp_meas_interval_set | ( | npmx_adc_t * | p_instance, |
npmx_adc_die_temp_meas_interval_t | interval ) |
Function for setting the die temperature measurement interval during charging.
[in] | p_instance | Pointer to the ADC instance. |
[in] | interval | Interval value. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_adc_t * npmx_adc_get | ( | npmx_instance_t * | p_pmic, |
uint8_t | idx ) |
Function for returning ADC instance based on index.
[in] | p_pmic | Pointer to the PMIC instance. |
[in] | idx | Index of the ADC instance. |
npmx_error_t npmx_adc_ibat_meas_enable_check | ( | npmx_adc_t const * | p_instance, |
bool * | p_enable ) |
Function for checking whether auto measurement of battery current is enabled.
[in] | p_instance | Pointer to the ADC instance. |
[out] | p_enable | Pointer to the auto IBAT measurement variable. True if auto measurement is enabled, false otherwise. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_error_t npmx_adc_ibat_meas_enable_set | ( | npmx_adc_t const * | p_instance, |
bool | enable ) |
Function for setting the auto measurement of battery current.
[in] | p_instance | Pointer to the ADC instance. |
[in] | enable | True if auto IBAT measurement is to be enabled, false otherwise. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_error_t npmx_adc_ibat_meas_status_get | ( | npmx_adc_t const * | p_instance, |
npmx_adc_ibat_meas_status_t * | p_ibat_meas_status ) |
Function for getting the battery current measurement status.
[in] | p_instance | Pointer to the ADC instance. |
[out] | p_ibat_meas_status | Pointer to the IBAT measurement status structure. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_error_t npmx_adc_meas_all_get | ( | npmx_adc_t const * | p_instance, |
npmx_adc_meas_all_t * | p_values ) |
Function for getting all measured values.
[in] | p_instance | Pointer to the ADC instance. |
[out] | p_values | Pointer to structure with read values. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_error_t npmx_adc_meas_check | ( | npmx_adc_t const * | p_instance, |
npmx_adc_meas_t | meas, | ||
bool * | p_ready ) |
Function for checking if measured value is ready to be read.
[in] | p_instance | Pointer to the ADC instance. |
[in] | meas | Measurement value to be checked. |
[out] | p_ready | Pointer to variable for check value. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_error_t npmx_adc_meas_get | ( | npmx_adc_t const * | p_instance, |
npmx_adc_meas_t | meas, | ||
int32_t * | p_value ) |
Function for getting measured value.
[in] | p_instance | Pointer to the ADC instance. |
[in] | meas | Measurement value to be read. |
[out] | p_value | Pointer to variable for read value. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_INVALID_PARAM | Not possible to calculate value for given npmx_adc_meas_t. |
NPMX_ERROR_IO | Error using IO bus line. |
NPMX_ERROR_INVALID_MEAS | Invalid measurement for given npmx_adc_meas_t. |
npmx_error_t npmx_adc_ntc_config_get | ( | npmx_adc_t * | p_instance, |
npmx_adc_ntc_config_t * | p_config ) |
Function for getting a configuration of the battery NTC thermistor.
[in] | p_instance | Pointer to the ADC instance. |
[out] | p_config | Pointer to the battery NTC thermistor configuration structure. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_error_t npmx_adc_ntc_config_set | ( | npmx_adc_t * | p_instance, |
npmx_adc_ntc_config_t const * | p_config ) |
Function for configuring a battery NTC thermistor.
[in] | p_instance | Pointer to the ADC instance. |
[in] | p_config | Pointer to the battery NTC thermistor configuration structure. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_adc_ntc_meas_interval_t npmx_adc_ntc_meas_interval_convert | ( | uint32_t | time | ) |
Function for converting time in milliseconds to npmx_adc_ntc_meas_interval_t enumeration.
[in] | time | Time in milliseconds to be converted into npmx_adc_ntc_meas_interval_t enumeration. |
bool npmx_adc_ntc_meas_interval_convert_to_ms | ( | npmx_adc_ntc_meas_interval_t | enum_value, |
uint32_t * | p_val ) |
Function for converting npmx_adc_ntc_meas_interval_t enumeration to milliseconds.
[in] | enum_value | Time defined as npmx_adc_ntc_meas_interval_t enumeration to be converted into milliseconds. |
[out] | p_val | Pointer to the variable that stores the conversion result. |
true | Conversion is valid. |
false | Conversion is invalid - an invalid argument was passed to the function. |
npmx_error_t npmx_adc_ntc_meas_interval_get | ( | npmx_adc_t * | p_instance, |
npmx_adc_ntc_meas_interval_t * | p_interval ) |
Function for getting NTC auto measurement interval during charging.
[in] | p_instance | Pointer to the ADC instance. |
[out] | p_interval | Pointer to interval for NTC auto measurement during charging. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_error_t npmx_adc_ntc_meas_interval_set | ( | npmx_adc_t * | p_instance, |
npmx_adc_ntc_meas_interval_t | interval ) |
Function for setting the NTC measurement interval during charging.
[in] | p_instance | Pointer to the ADC instance. |
[in] | interval | Interval value. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_error_t npmx_adc_ntc_resistance_get | ( | npmx_adc_t const * | p_instance, |
uint32_t * | p_resistance ) |
Function for getting the nominal NTC resistance.
[in] | p_instance | Pointer to the ADC instance. |
[out] | p_resistance | Pointer to the nominal NTC resistance value in ohms. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_adc_ntc_type_t npmx_adc_ntc_type_convert | ( | uint32_t | resistance | ) |
Function for converting resistance in ohms to npmx_adc_ntc_type_t enumeration.
[in] | resistance | Resistance in ohms to be converted into npmx_adc_ntc_type_t enumeration. |
bool npmx_adc_ntc_type_convert_to_ohms | ( | npmx_adc_ntc_type_t | battery_ntc, |
uint32_t * | p_val ) |
Function for converting the value from NTC enumeration type to resistance.
[in] | battery_ntc | Battery NTC type. |
[out] | p_val | Pointer to the variable that stores the conversion result. |
true | Conversion is valid. |
false | Conversion is invalid - an invalid argument was passed to the function. |
const char *const npmx_adc_ntc_type_map_to_string | ( | npmx_adc_ntc_type_t | enum_value | ) |
Function for mapping npmx_adc_ntc_type_t enumeration values to string.
[in] | enum_value | NTC type as npmx_adc_ntc_type_t enumeration to be mapped. |
npmx_error_t npmx_adc_task_trigger | ( | npmx_adc_t const * | p_instance, |
npmx_adc_task_t | task ) |
Function for activating the specified ADC task.
[in] | p_instance | Pointer to the ADC instance. |
[in] | task | Task to be activated. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_error_t npmx_adc_vbat_meas_delay_get | ( | npmx_adc_t const * | p_instance, |
uint8_t * | p_delay ) |
Function for getting the delay of battery voltage measurement after going into sleep mode.
[in] | p_instance | Pointer to the ADC instance. |
[out] | p_delay | Pointer to read delay value. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |
npmx_error_t npmx_adc_vbat_meas_delay_set | ( | npmx_adc_t const * | p_instance, |
uint8_t | delay ) |
Function for setting the delay of battery voltage measurement after going into sleep mode.
[in] | p_instance | Pointer to the ADC instance. |
[in] | delay | Delay value in ms, min 2, max 255. |
NPMX_SUCCESS | Operation performed successfully. |
NPMX_ERROR_IO | Error using IO bus line. |