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
internal/common.h
- Committer:
- dan_ackme
- Date:
- 2014-08-11
- Revision:
- 6:8a87a59d0d21
- Parent:
- 3:2dc2592bae5e
- Child:
- 16:7f1d6d359787
File content as of revision 6:8a87a59d0d21:
/* * 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. */ #pragma once #include "WiconnectCommands.h" /* Note we need the 2 concats below because arguments to ## * are not expanded, so we need to expand __LINE__ with one indirection * before doing the actual concatenation. */ #define ASSERT_CONCAT_(a, b) a##b #define ASSERT_CONCAT(a, b) ASSERT_CONCAT_(a, b) #define ct_assert(e) enum { ASSERT_CONCAT(assert_line_, __LINE__) = 1/(!!(e)) } #define wiconnect_assert(_wiconnect, msg, expr) if(!(expr)){_wiconnect->assertLogger.call(msg); for(;;); } #ifndef WICONNECT_ASYNC_TIMER_ENABLED #define CHECK_CALLBACK_AVAILABLE(cb) if(cb.isValid()) return WICONNECT_UNSUPPORTED #else #define CHECK_CALLBACK_AVAILABLE(cb) #endif #define UNUSED(expr) do { (void)(expr); } while (0) #define CHECK_CLEANUP_COMMAND() \ if(result != WICONNECT_PROCESSING) \ { \ wiconnect->internalProcessingState = 0; \ wiconnect->currentCommandId = NULL; \ } #define CHECK_OTHER_COMMAND_EXECUTING() \ { \ static const volatile uint8_t __funcId = 0; \ if(wiconnect->currentCommandId == NULL) \ { \ wiconnect->currentCommandId = (void*)&__funcId; \ } \ else if(wiconnect->currentCommandId != (void*)&__funcId) \ { \ return WICONNECT_ANOTHER_CMD_EXECUTING; \ } \ } #define WICONNECT_IS_IDLE() (wiconnect->currentCommandId == NULL) #ifdef WICONNECT_USE_DEFAULT_STRING_BUFFERS #define SET_STR_BUFFER(_buffer, size) \ char *ptr; \ static char defaultBuffer[size]; \ ptr = (_buffer == NULL) ? defaultBuffer : _buffer; #else #define SET_STR_BUFFER(_buffer, size) \ char *ptr; \ if(_buffer == NULL) \ { \ return "<null>"; \ } \ ptr = _buffer; #endif