Current Trim Settings for VCC in peripheral_server_sleep

(SDK 3.6 peripheral_server_sleep)
According to the readme file

Case 1: VDDC, VDDM and VCC trim values are read from NVR4 and loaded into
corresponding trim registers to calibrate the board. Sys_RFFE_SetTXPower()
sets VDDRF, VDDPA, PA_PWR (RF_REG19) when applicable to have the desirable
radio transmission power. Select this case by defining CALIB_RECORD
as MANU_CALIB.

If CALIB_RECORD == MANU_CALIB, the current trim settings for VCC (i.e. ACS_VCC_CTRL->ICH_TRIM_BYTE) set by Load_Trim_Values_And_Calibrate_MANU_CALIB() (and Sys_Power_DCDCCalibratedConfig() therein) are overwritten by app_init.c line 83.

ACS_VCC_CTRL->ICH_TRIM_BYTE = VCC_ICHTRIM_80MA_BYTE;

What is wrong here?

@darrew

Overwriting that variable is specific to the sleep application, and the three reasons it is done this way are outline below:

  1. We want to apply all of the other default Trim values, so reading them all from NVR makes sense.

  2. The manual value set is optimized for Sleep mode current consumption. The default setting from NVR would work, but it would likely increase the current draw.

  3. Certain source meters that can be used for measuring the current consumption has a current limiter. If this Trim is set to high, it is possible that the source meter will not be able to provide the startup/wakeup current necessary to boot the device at the specific Trim value. Setting it manually allows us to configure the value to match the measurement equipment capabilities.

Can you please elaborate on point 2. Is the trim value in NVR not optimized for low power?