WncController
Fork of WncControllerLibrary by
Diff: WncController.cpp
- Revision:
- 31:5db38ccccd1d
- Parent:
- 30:98c9ff850c1b
- Child:
- 32:6512f41ac6f0
diff -r 98c9ff850c1b -r 5db38ccccd1d WncController.cpp --- a/WncController.cpp Fri Sep 23 14:55:35 2016 +0000 +++ b/WncController.cpp Fri Oct 07 18:36:42 2016 +0000 @@ -1582,10 +1582,22 @@ return (WNC_AT_CMD_OK == at_send_wnc_cmd("AT", &pRespStr, WNC_QUICK_CMD_TIMEOUT_MS)); // Heartbeat? } +bool WncController::at_power_save_off_wnc(void) +{ + string *pRespStr; + AtCmdErr_e cmdRes = at_send_wnc_cmd("AT%SETCFG=\"pw_nosrvc\",\"none\"", &pRespStr, m_sCmdTimeoutMs); + + if (cmdRes == WNC_AT_CMD_OK) + return (true); + else + return (false); +} + bool WncController::at_init_wnc(bool hardReset) { string * pRespStr; AtCmdErr_e cmdRes; + static bool pwrSaveOnce = false; if (hardReset == true) dbgPuts("Hard Soft Reset!"); @@ -1610,6 +1622,13 @@ cmdRes = at_send_wnc_cmd("AT", &pRespStr, WNC_QUICK_CMD_TIMEOUT_MS); // Heartbeat? + // Altera suggests turning off power save mode and only do it 1 time! + if (pwrSaveOnce == false) { + dbgPuts("Power Saving Mode OFF!"); + pwrSaveOnce = true; + at_power_save_off_wnc(); + } + // If the simple commands are not working, no chance of more complex. // I have seen re-trying commands make it worse. if (cmdRes != WNC_AT_CMD_OK)