Host library for controlling a WiConnect enabled Wi-Fi module.
Dependents: wiconnect-ota_example wiconnect-web_setup_example wiconnect-test-console wiconnect-tcp_server_example ... more
Diff: internal/wiconnect/Wiconnect.cpp
- Revision:
- 26:8067e3d463d3
- Parent:
- 17:7268f365676b
- Child:
- 27:b63f5a9cdefa
--- a/internal/wiconnect/Wiconnect.cpp Tue Aug 26 16:53:06 2014 -0700 +++ b/internal/wiconnect/Wiconnect.cpp Thu Oct 23 15:16:06 2014 -0700 @@ -229,13 +229,58 @@ /*************************************************************************************************/ WiconnectResult Wiconnect::getVersion(char *versionBuffer, int versionBufferSize, const Callback &completeCallback) -{ +{ + WiconnectResult result; + if(versionBuffer != NULL && versionBufferSize == 0) { return WICONNECT_BAD_ARG; - } - return sendCommand(completeCallback, versionBuffer, versionBufferSize, CMD_GET_VERSION); + } + + _CHECK_OTHER_COMMAND_EXECUTING(); + + if(versionBuffer == NULL) + { + result = sendCommand(completeCallback, CMD_GET_VERSION); + } + else + { + result = sendCommand(completeCallback, versionBuffer, versionBufferSize, CMD_GET_VERSION); + } + + _CHECK_CLEANUP_COMMAND(); + + return result; } + +/*************************************************************************************************/ +WiconnectResult Wiconnect::updateFirmware(bool forced, const char *versionStr, const Callback &completeCallback) +{ + WiconnectResult result; + char cmdBuffer[WICONNECT_MAX_CMD_SIZE]; + + if(_WICONNECT_IS_IDLE()) + { + strcpy(cmdBuffer, "ota "); + if(versionStr != NULL) + { + strcat(cmdBuffer, "-b wiconnect-"); + strcat(cmdBuffer, versionStr); + } + else if(forced) + { + strcat(cmdBuffer, "-f"); + } + } + + _CHECK_OTHER_COMMAND_EXECUTING(); + + result = sendCommand(completeCallback, WICONNECT_FIRMWARE_UPDATE_TIMEOUT, cmdBuffer); + + _CHECK_CLEANUP_COMMAND(); + + return result; +} /*************************************************************************************************/ const char* Wiconnect::getWiconnectResultStr(WiconnectResult wiconnectResult)