Hey guys, I am using the DA16200MOD-DEVKT-P development kit for a low-power IoT project. The objective is to implement a Wi-Fi connection that maintains ultra-low power consumption by utilizing the Dynamic Power Management (DPM) feature of the DA16200 SoC. I attempted to set the module into DPM low-power mode (LPM) to receive data from an Access Point (AP) only, without actively transmitting.
Here’s the code snippet used to enable DPM LPM mode
#include "da16200.h"
void setup() {
da16200_init();
da16200_connect_to_ap("SSID", "password");
da16200_set_power_mode(DPM_LPM);
if (da16200_get_power_mode() == DPM_LPM) {
printf("DPM Low Power Mode enabled.n");
} else {
printf("Failed to set DPM Low Power Mode.n");
}
}
void loop() {
}
While testing, the module did not enter the DPM LPM mode as expected and continued to consume higher power than anticipated. The error message received was:
Error: Failed to set DPM Low Power Mode. Current mode: DPM Fully Functional Mode (FFM)
Steps I have taken to resolve the error
I have verified the initial power mode configuration to ensure the device was not in an active communication state.
Checked the `Wi-Fi` module documentation and ensured that the `AP` was not transmitting any active communication requests to the `DA16200` module.
Attempted to use the `Wi-Fi IoT Power Profiler` tool to confirm power consumption metrics.
But despite my troubleshooting steps, the module continued to remain in `DPM Fully Functional Mode (FFM)`. The error persisted with the prompt
Error: Unable to transition to DPM Low Power Mode. Ensure no active data sessions or incorrect AP configurations.
What additional steps or configurations should I check to resolve this issue and successfully enable the `DPM` `LPM` mode on the `DA16200MOD-DEVKT-P` development kit?