All notable changes to this project are documented in this file.
- Corrected discharge fullscale current.
- Corrected charge fullscale current.
- Update current limit on set.
- Added ADK v1.4.0.
- Added the
npmx_adc_ntc_config_tstructure to the ADC driver. The structure contains a thermistor type and NTC beta value. - Added
npmx_charger_*_temperature_*functions for getting and setting NTC temperature threshold using temperature in degrees Celsius. - Added the
restore_valuesinitialization parameter to thenpmx_core_initfunction. Now, the following values can be restored from a PMIC device during its initialization: ADC burst mode enable, NTC beta value, charging current, discharging current, and ship button inversion status. - Added mathematical functions used in npmx to
npmx_common.
- Changed the temperature type in the
npmx_charger_die_temp_*functions. Now they accept negative values. - Changed a function for setting and reading the NTC type in the ADC driver. Now the
npmx_adc_ntc_config_tconfiguration structure is passed as an argument tonpmx_adc_ntc_config_*functions. - Changed the NTC resistance calculation to the battery temperature calculation in the ADC driver. The
NPMX_ADC_MEAS_NTCenumeration which used to return measurement in Ohms has been replaced byNPMX_ADC_MEAS_BAT_TEMPwhich returns temperature in millidegrees Celsius. - Changed a behavior of the
npmx_timer_config_setfunction. Now it triggers theNPMX_TIMER_TASK_STROBEtask after setting the configuration. - Changed a compilation define that should be used when building for nPM1300 from
NPM1300_ENG_CtoNPM1300. - Changed the template file name for nPM1300 from
templates/npmx_config_npm1300_eng_c.htotemplates/npmx_config_npm1300.h. - Changed the behavior of the
npmx_callback_to_strandnpmx_callback_bit_to_strfunctions. Now, strings will be returned instead of a NULL pointer when building withNPMX_DEBUGdefined. - Changed values in the
npmx_ldsw_soft_start_current_t.
- Fixed an issue in the
npmx_ldsw_soft_start_config_getfunction that caused an incorrect enable state. - Fixed an issue in the
npmx_charger_die_temp_*functions that caused incorrect temperature calculations in the charger driver. - Fixed an issue with the
NPMX_ADC_MEAS_BAT_TEMPparameter in thenpmx_adc_meas_getfunction. The issue caused an inaccurate die temperature calculation in the charger driver. - Fixed an issue in the
npmx_adc_meas_getandnpmx_adc_meas_all_getfunctions that caused an incorrect value to be returned. - Fixed an issue in the
npmx_callback_bit_to_strfunction that caused an incorrect string description to be returned. - Fixed an issue in the
npmx_ship_reset_config_setfunction that caused an incorrect task to be called. - Fixed minor issues in documentation.
- Added a GitHub workflow containing the
publish-documentation.ymlfile. The file generates a HTML page with documentation that is linked on the GitHub repository page. - Added doxygen support for the npmx backend API files.
- Added Sphinx documentation build system with HTML output.
- Added the
generic_callbackinitialization to thenpmx_core_initfunction. - Added the battery current measurement support to the npmx ADC driver.
- Added
charging_current_maanddischarging_current_mafields to thenpmx_charger_tstructure. - Added the
burstfield to thenpmx_adc_tstructure.
- Changed the doxygen main page to
README.md. - Changed the
npmx_backend_tstructure to contain pointers to write and read functions. - Changed implementation of the
npmx_core_task_trigger()function to the generic one. - Changed ADC measurements results type from
uint16_ttoint32_t. - Reworked validation of input parameters passed to functions in all drivers.
- Reworked convert functions to use the switch case statement and to return a bool conversion status variable in all drivers.
- Renamed the
NPMX_SHIP_INVALIDenumeration toNPMX_SHIP_TIME_INVALID. - Renamed the
NPMX_ADC_MEAS_VBAT2enumeration toNPMX_ADC_MEAS_VBAT2_IBAT. - Renamed the
NPMX_ADC_MEAS_VBAT3enumeration toNPMX_ADC_MEAS_VBAT3_VBUS.
- Removed support for all leftover MDK symbols.
- Removed the
main_page.doxfile.
- Added functions that convert enumerations to integers.
- Added functions that convert enumerations to strings.
- Added
npmx_ship_time_convertfunction. - Added
npmx_adc_ntc_type_convert,npmx_adc_ntc_meas_interval_convertandnpmx_adc_die_temp_meas_interval_convertfunctions. - Added
npmx_timer_status_tstructure.
- Renamed
NPMX_TIMER_PESCALER_SLOWtoNPMX_TIMER_PRESCALER_SLOW. - Renamed
NPMX_TIMER_PESCALER_FASTtoNPMX_TIMER_PRESCALER_FAST. - Renamed
npmx_adc_all_meas_ttonpmx_adc_meas_all_t. - Renamed
npmx_adc_battery_ntc_type_ttonpmx_adc_ntc_type_t. - Renamed
npmx_adc_auto_meas_inverval_*_{set, get}tonpmx_adc_*_meas_interval_{set, get}. - Renamed
npmx_charger_termination_voltage_{normal, warm}_{set, get}tonpmx_charger_termination_{normal, warm}_voltage_{set, get}. - Renamed
npmx_charger_trickle_{set, get}tonpmx_charger_trickle_voltage_{set, get}. - Renamed
NPMX_EVENT_GROUP_VBUSIN_OVRVOLT_DETECTED_MASKtoNPMX_EVENT_GROUP_VBUSIN_OVERVOLT_DETECTED_MASK. - Renamed
NPMX_EVENT_GROUP_THERMAL_SHDN_{DETECTED, REMOVED}_MASKtoNPMX_EVENT_GROUP_THERMAL_SHUTDOWN_{DETECTED, REMOVED}_MASK. - Renamed
NPMX_GPIO_NO_PULLtoNPMX_GPIO_PULL_NONE. - Renamed
npmx_gpio_config_tmemberpull_statetopull. - Renamed
npmx_gpio_config_tmembers:open_drain_enabletoopen_drain,debounce_enabletodebounce. - Renamed
NPMX_LDSW_STATUS_LDSW_EN_MASKtoNPMX_LDSW_STATUS_DEEPSLEEP_MASK. - Renamed
NPMX_LDSW_STATUS_PWUP_{LDO, LDSW}_{1, 2}_MASKtoNPMX_LDSW_STATUS_POWERUP_{LDO, LDSW}_{1, 2}_MASK. - Reworked
npmx_ship_gpio_status_checkto return boolean instead ofnpmx_ship_button_tenumeration. - Reworked
npmx_timer_status_getto returnnpmx_timer_status_tstructure.
- Fixed an issue in
npmx_ldsw_mode_getthat caused an incorrect mode to be returned. - Multiple documentation fixes.
- Multiple formatting fixes.
- Removed
npmx_ship_button_tenumeration. - Removed
npmx_timer_boot_monitor_tenumeration. - Removed
npmx_timer_slow_domain_tenumeration.
- Fixed an issue in MDK where reserved registers were using the
uint32_ttype. All registers are using theuint8_ttype now. - Fixed an issue in MDK where POF polarity had incorrect values for nPM1300 Engineering C.
- Removed the long press string for the SHIPHOLD event for nPM1300 Engineering C.
- Added the
npmx_charger_iterm_convertfunction.
- Fixed values for the
*_INVALIDenumerators.
- Fixed a calculation code error in
vbus_value_from_code. - Fixed the charger error handling procedure.
NPMX_CHARGER_TASK_RELEASEis now triggered when an error is detected.
- Added conversion functions for enumerations.
- Added assertions and
NPMX_CHECKmacro. - Added user-defined context data to npmx_instance.
npmx_core_context_setandnpmx_core_context_getcan be used to modify it. - Added the
npmx_adc_meas_checkfunction. - Added enumerations for invalid values.
- Reworked ADC driver not to use NTC resistance stored on host side.
- Fixed MAX and DEFAULT enum values.
- Fixed: casting errors, division by 0, wrong read functions.
- Fixed multiple minor issues.
- Added new drivers:
- ERRLOG,
- SHIP,
- VBUSIN.
- Added missing functionality in the following drivers:
- ADC,
- BUCK,
- CHARGER,
- CORE,
- GPIO,
- LDSW,
- LED,
- POF,
- TIMER.
- Extended npmx instance structure to contain device-specific instance structures.
- npmx API now returns npmx_error_t enumeration instead of bool.
- Minor code alignments in all drivers.
- Initialization order in npmx_core.
- Added CHANGELOG.md file.
- Added README.md file.
- Added new drivers:
- ADC,
- BUCK,
- CHARGER,
- COMMON,
- CORE,
- EVENT,
- GPIO,
- LDSW,
- LED,
- POF,
- TIMER.
- Added template integration files.