Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: tests/blocking/wiconnect/WiconnectTests.cpp
- Revision:
- 0:836c9a6383e0
- Child:
- 1:5137ec8f4c45
diff -r 000000000000 -r 836c9a6383e0 tests/blocking/wiconnect/WiconnectTests.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/blocking/wiconnect/WiconnectTests.cpp Mon Aug 11 11:31:32 2014 +0000
@@ -0,0 +1,137 @@
+/*
+ * Copyright 2014, ACKme Networks
+ * All Rights Reserved.
+ *
+ * This is UNPUBLISHED PROPRIETARY SOURCE CODE of ACKme Networks;
+ * the contents of this file may not be disclosed to third parties, copied
+ * or duplicated in any form, in whole or in part, without the prior
+ * written permission of ACKme Networks.
+ */
+
+
+#include "tests/Tests.h"
+#include "Wiconnect.h"
+
+
+#define TIMEOUT 10000 // ms
+
+
+static volatile bool wiconnectNonBlockingCommandFinished = false;
+
+
+
+/*************************************************************************************************/
+WiconnectResult wiconnectSendRawBlockingCommand(int argc, char **argv)
+{
+ WiconnectResult result;
+ Wiconnect *wiconnect = Wiconnect::getInstance();
+
+ strcpy(testBuffer, argv[0]);
+ --argc;
+ ++argv;
+
+ while(argc--)
+ {
+ strcat(testBuffer, " ");
+ strcat(testBuffer, argv[0]);
+ ++argv;
+ }
+
+ if(!WICONNECT_FAILED(result, wiconnect->sendCommand(TIMEOUT, testBuffer, TEST_BUFFER_LENGTH, testBuffer)))
+ {
+ LOG_INFO_WRITE_STR("Response:\r\n", wiconnect->getResponseBuffer());
+ }
+
+ return result;
+}
+
+
+
+/*************************************************************************************************/
+static void responseHandler(WiconnectResult result, void *response, void *responseLen)
+{
+ Wiconnect *wiconnect = Wiconnect::getInstance();
+
+ wiconnectNonBlockingCommandFinished = true;
+
+ if(result == WICONNECT_SUCCESS)
+ {
+ LOG_INFO_WRITE_STR("Non-blocking Response:\r\n", (const char*)response);
+ }
+ else
+ {
+ LOG_WICONNECT_ERROR(result, "Non-blocking command failed");
+ }
+}
+
+/*************************************************************************************************/
+WiconnectResult wiconnectSendRawNonBlockingCommand(int argc, char **argv)
+{
+
+ WiconnectResult result;
+ Wiconnect *wiconnect = Wiconnect::getInstance();
+ char *ptr = testBuffer;
+
+ strcpy(testBuffer, argv[0]);
+ --argc;
+ ++argv;
+
+ while(argc--)
+ {
+ strcat(testBuffer, " ");
+ strcat(testBuffer, argv[0]);
+ ++argv;
+ }
+
+ wiconnectNonBlockingCommandFinished = false;
+ if(WICONNECT_FAILED(result, wiconnect->sendCommand(Callback(responseHandler), testBuffer, TEST_BUFFER_LENGTH, TIMEOUT, testBuffer)))
+ {
+ }
+ else if(!wiconnectNonBlockingCommandFinished)
+ {
+ LOG_INFO("Non-blocking command processing...");
+ }
+
+ return result;
+}
+
+/*************************************************************************************************/
+WiconnectResult wiconnectGetVersionCommand(int argc, char **argv)
+{
+ WiconnectResult result;
+ Wiconnect *wiconnect = Wiconnect::getInstance();
+
+ if(!WICONNECT_FAILED(result, wiconnect->getVersion(testBuffer, sizeof(testBuffer))))
+ {
+ LOG_INFO("Version: %s", testBuffer);
+ }
+ return result;
+}
+
+/*************************************************************************************************/
+WiconnectResult wiconnectDebugEnableCommand(int argc, char **argv)
+{
+ extern int wiconnectLogDebug(const char *str);
+ WiconnectResult result;
+ Wiconnect *wiconnect = Wiconnect::getInstance();
+ bool enabled;
+
+ if(!StringUtil::parseBool(argv[0], &enabled))
+ {
+ return WICONNECT_BAD_ARG;
+ }
+
+ if(enabled)
+ {
+ wiconnect->setDebugLogger(LogFunc(wiconnectLogDebug));
+ LOG_INFO("WiConnet debugging enabled");
+ }
+ else
+ {
+ wiconnect->setDebugLogger(LogFunc());
+ LOG_INFO("WiConnet debugging disabled");
+ }
+
+ return WICONNECT_SUCCESS;
+}
+