Changelog
All notable changes to this project are documented in this file.
[1.2.1] - 2025-09-11
Fixed
Fixed issue in npmx_adc_meas_get where 2 lsbits would be incorrect.
[1.2.0] - 2025-08-12
Changed
npmx_charger_charging_current_getandnpmx_charger_charging_current_setnow uses microamperes instead of milliamperes in order to support the more fine-grained adjustment options for nPM1304.Allowed values for
npmx_charger_discharging_current_setis updated to be aligned with nPM1300 Product Specification v1.2. There are now only two allowed values: 200 mA and 1000 mA (low and high limits).npmx_charger_discharging_current_setno longer returns NPMX_ERROR_NOT_SUPPORTED when used with nPM1304 (which only has a single allowed battery discharge limit value).nPM1300 battery current calculation updated to be aligned with nPM1300 Product Specification v1.2.
Updated LDSW soft start current options to be aligned with nPM1300 Product Specification v1.x.
Added porting guide.
[1.1.0] - 2025-05-28
Fixed
Fixed offset issue in npmx_adc_meas_all_get.
Fixed -Wdouble-promotion build warnings.
Added
Added support for nPM1304 PMIC.
Changed
npmx_adc ibat measurement is now reported in microamperes instead of milliamperes.
NPMX_ADC_IBAT_MEAS_CURRENT_RFU member removed from npmx_adc_ibat_meas_current_t enum.
[1.0.1] - 2024-07-12
Fixed
Corrected discharge fullscale current.
Corrected charge fullscale current.
Update current limit on set.
[1.0.0] - 2023-12-01
Added
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
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
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.
[0.7.0] - 2023-07-07
Added
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
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
Removed support for all leftover MDK symbols.
Removed the
main_page.doxfile.
[0.6.0] - 2023-05-11
Added
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.
Changed
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
Fixed an issue in
npmx_ldsw_mode_getthat caused an incorrect mode to be returned.Multiple documentation fixes.
Multiple formatting fixes.
Removed
Removed
npmx_ship_button_tenumeration.Removed
npmx_timer_boot_monitor_tenumeration.Removed
npmx_timer_slow_domain_tenumeration.
[0.5.0] - 2023-04-21
Fixed
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
Removed the long press string for the SHIPHOLD event for nPM1300 Engineering C.
[0.4.0] - 2023-04-19
Added
Added the
npmx_charger_iterm_convertfunction.
Fixed
Fixed values for the
*_INVALIDenumerators.
[0.3.1] - 2023-03-08
Fixed
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.
[0.3.0] - 2023-02-08
Added
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.
Changed
Reworked ADC driver not to use NTC resistance stored on host side.
Fixed
Fixed MAX and DEFAULT enum values.
Fixed: casting errors, division by 0, wrong read functions.
Fixed multiple minor issues.
[0.2.0] - 2022-10-20
Added
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.
Changed
npmx API now returns npmx_error_t enumeration instead of bool.
Minor code alignments in all drivers.
Fixed
Initialization order in npmx_core.
[0.1.0] - 2022-09-09
Added
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.