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:
- 0:ea85c4bb5e1f
- Child:
- 1:6ec9998427ad
File content as of revision 0:ea85c4bb5e1f:
/* * 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)) } #ifndef WICONNECT_ASYNC_TIMER_ENABLED #define CHECK_CALLBACK_AVAILABLE(cb) if(cb.isValid()) return WICONNECT_UNSUPPORTED #else #define CHECK_CALLBACK_AVAILABLE(cb) #endif #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, *buf; \ (void)buf; \ static char defaultBuffer[size]; \ ptr = buf = (_buffer == NULL) ? defaultBuffer : _buffer; #else #define SET_STR_BUFFER(_buffer, size) \ char *ptr, *buf; \ (void)buf; \ if(_buffer == NULL) \ { \ return "<null>"; \ } \ ptr = buf = _buffer; #endif