wifi test
Dependencies: X_NUCLEO_IKS01A2 mbed-http
easy-connect/wnc14a2a-driver/WNC14A2AInterface/WNCDebug.h
- Committer:
- JMF
- Date:
- 2018-09-05
- Revision:
- 0:24d3eb812fd4
File content as of revision 0:24d3eb812fd4:
/**
* copyright (c) 2017-2018, James Flynn
* SPDX-License-Identifier: Apache-2.0
*/
/*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @file WNCDebug.h
* @brief A debug class that coordinates the output of debug messages to
* either stdio or a serial port based on instantiation.
*
* @author James Flynn
*
* @date 1-Feb-2018
*
*/
#ifndef __WNCDEBUG__
#define __WNCDEBUG__
#include <stdio.h>
#include "WNCIO.h"
/** WNCDebug class
* Used to write debug data to the user designated IO. Currently
* The class expects either a stdio element (defaults to stderr) or
* a pointer to a WncIO object.
*/
class WNCDebug
{
public:
//! Create class with either stdio or a pointer to a uart
WNCDebug( FILE * fd = stderr ): m_puart(NULL) {m_stdiofp=fd;};
WNCDebug( WncIO * uart): m_stdiofp(NULL) {m_puart=uart;};
~WNCDebug() {};
//! standard printf() functionallity
int printf( char * fmt, ...) {
char buffer[256];
int ret=0;
va_list args;
va_start (args, fmt);
vsnprintf(buffer, sizeof(buffer), fmt, args);
prt.lock();
if( m_stdiofp )
ret=fputs(buffer,m_stdiofp);
else
ret=m_puart->puts(buffer);
prt.unlock();
va_end (args);
return ret;
}
//! standard putc() functionallity
int putc( int c ) {
int ret=0;
prt.lock();
if( m_stdiofp )
ret=fputc(c, m_stdiofp);
else
ret=m_puart->putc(c);
prt.unlock();
return ret;
}
//! standard puts() functionallity
int puts( const char * str ) {
int ret=0;
prt.lock();
if( m_stdiofp )
ret=fputs(str,m_stdiofp);
else
ret=m_puart->puts(str);
prt.unlock();
return ret;
}
private:
std::FILE *m_stdiofp;
WncIO *m_puart;
Mutex prt;
};
#endif