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.
tests/blocking/wiconnect/WiconnectTests.cpp
- Committer:
- dan_ackme
- Date:
- 2014-08-11
- Revision:
- 2:2f222449973a
- Parent:
- 1:5137ec8f4c45
- Child:
- 12:3dd3a1be40c1
File content as of revision 2:2f222449973a:
/*
* 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();
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);
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;
}