cc3100_Socket_Wifi_Server version for LPC1768

Dependencies:   mbed

Fork of cc3100_Test_Demo by David Fletcher

Committer:
artpes
Date:
Fri May 26 19:26:11 2017 +0000
Revision:
8:e79bacf664cc
Parent:
6:778b081f6a13
Fork

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dflet 6:778b081f6a13 1 /*
dflet 6:778b081f6a13 2 * nonos.h - CC31xx/CC32xx Host Driver Implementation
dflet 6:778b081f6a13 3 *
dflet 6:778b081f6a13 4 * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
dflet 6:778b081f6a13 5 *
dflet 6:778b081f6a13 6 *
dflet 6:778b081f6a13 7 * Redistribution and use in source and binary forms, with or without
dflet 6:778b081f6a13 8 * modification, are permitted provided that the following conditions
dflet 6:778b081f6a13 9 * are met:
dflet 6:778b081f6a13 10 *
dflet 6:778b081f6a13 11 * Redistributions of source code must retain the above copyright
dflet 6:778b081f6a13 12 * notice, this list of conditions and the following disclaimer.
dflet 6:778b081f6a13 13 *
dflet 6:778b081f6a13 14 * Redistributions in binary form must reproduce the above copyright
dflet 6:778b081f6a13 15 * notice, this list of conditions and the following disclaimer in the
dflet 6:778b081f6a13 16 * documentation and/or other materials provided with the
dflet 6:778b081f6a13 17 * distribution.
dflet 6:778b081f6a13 18 *
dflet 6:778b081f6a13 19 * Neither the name of Texas Instruments Incorporated nor the names of
dflet 6:778b081f6a13 20 * its contributors may be used to endorse or promote products derived
dflet 6:778b081f6a13 21 * from this software without specific prior written permission.
dflet 6:778b081f6a13 22 *
dflet 6:778b081f6a13 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
dflet 6:778b081f6a13 24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
dflet 6:778b081f6a13 25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
dflet 6:778b081f6a13 26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
dflet 6:778b081f6a13 27 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
dflet 6:778b081f6a13 28 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
dflet 6:778b081f6a13 29 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
dflet 6:778b081f6a13 30 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
dflet 6:778b081f6a13 31 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
dflet 6:778b081f6a13 32 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
dflet 6:778b081f6a13 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
dflet 6:778b081f6a13 34 *
dflet 6:778b081f6a13 35 */
dflet 6:778b081f6a13 36
dflet 6:778b081f6a13 37 #ifndef NONOS_H_
dflet 6:778b081f6a13 38 #define NONOS_H_
dflet 6:778b081f6a13 39
dflet 6:778b081f6a13 40 #include "cc3100_simplelink.h"
dflet 6:778b081f6a13 41
dflet 6:778b081f6a13 42 namespace mbed_cc3100 {
dflet 6:778b081f6a13 43
dflet 6:778b081f6a13 44 /*****************************************************************************/
dflet 6:778b081f6a13 45 /* Macro declarations */
dflet 6:778b081f6a13 46 /*****************************************************************************/
dflet 6:778b081f6a13 47
dflet 6:778b081f6a13 48
dflet 6:778b081f6a13 49 #ifndef SL_PLATFORM_MULTI_THREADED
dflet 6:778b081f6a13 50
dflet 6:778b081f6a13 51 /* This function call the user defined function, if defined, from the sync wait loop */
dflet 6:778b081f6a13 52 /* The use case of this function is to allow nonos system to call a user function to put the device into sleep */
dflet 6:778b081f6a13 53 /* The wake up should be activated after getting an interrupt from the device to Host */
dflet 6:778b081f6a13 54 /* The user function must return without blocking to prevent a delay on the event handling */
dflet 6:778b081f6a13 55 /*
dflet 6:778b081f6a13 56 #define _SlSyncWaitLoopCallback UserSleepFunction
dflet 6:778b081f6a13 57 */
dflet 6:778b081f6a13 58
dflet 6:778b081f6a13 59 const uint8_t NONOS_WAIT_FOREVER = 0xFF;
dflet 6:778b081f6a13 60 const uint8_t NONOS_NO_WAIT = 0x00;
dflet 6:778b081f6a13 61
dflet 6:778b081f6a13 62 const uint8_t NONOS_RET_OK = (0);
dflet 6:778b081f6a13 63 const int8_t NONOS_RET_ERR = (0xFF);
dflet 6:778b081f6a13 64 const uint8_t OSI_OK = NONOS_RET_OK;
dflet 6:778b081f6a13 65
dflet 6:778b081f6a13 66 const uint8_t NON_OS_SYNC_OBJ_CLEAR_VALUE = 0x11;
dflet 6:778b081f6a13 67 const uint8_t NON_OS_SYNC_OBJ_SIGNAL_VALUE = 0x22;
dflet 6:778b081f6a13 68 const uint8_t NON_OS_LOCK_OBJ_UNLOCK_VALUE = 0x33;
dflet 6:778b081f6a13 69 const uint8_t NON_OS_LOCK_OBJ_LOCK_VALUE = 0x44;
dflet 6:778b081f6a13 70
dflet 6:778b081f6a13 71 #define _SlTime_t _SlNonOsTime_t
dflet 6:778b081f6a13 72
dflet 6:778b081f6a13 73 #define _SlSyncObj_t _SlNonOsSemObj_t
dflet 6:778b081f6a13 74
dflet 6:778b081f6a13 75 #define _SlLockObj_t _SlNonOsSemObj_t
dflet 6:778b081f6a13 76
dflet 6:778b081f6a13 77 const uint8_t SL_OS_WAIT_FOREVER = NONOS_WAIT_FOREVER;
dflet 6:778b081f6a13 78
dflet 6:778b081f6a13 79 const uint8_t SL_OS_RET_CODE_OK = NONOS_RET_OK;
dflet 6:778b081f6a13 80
dflet 6:778b081f6a13 81 const uint8_t SL_OS_NO_WAIT = NONOS_NO_WAIT;
dflet 6:778b081f6a13 82
dflet 6:778b081f6a13 83
dflet 6:778b081f6a13 84 /*****************************************************************************/
dflet 6:778b081f6a13 85 /* Function prototypes */
dflet 6:778b081f6a13 86 /*****************************************************************************/
dflet 6:778b081f6a13 87
dflet 6:778b081f6a13 88 /*!
dflet 6:778b081f6a13 89 \brief This function creates a sync object
dflet 6:778b081f6a13 90
dflet 6:778b081f6a13 91 The sync object is used for synchronization between different thread or ISR and
dflet 6:778b081f6a13 92 a thread.
dflet 6:778b081f6a13 93
dflet 6:778b081f6a13 94 \param pSyncObj - pointer to the sync object control block
dflet 6:778b081f6a13 95
dflet 6:778b081f6a13 96 \return upon successful creation the function return 0
dflet 6:778b081f6a13 97 Otherwise, a negative value indicating the error code shall be returned
dflet 6:778b081f6a13 98 \note
dflet 6:778b081f6a13 99 \warning
dflet 6:778b081f6a13 100 */
dflet 6:778b081f6a13 101 #define _SlNonOsSyncObjCreate(pSyncObj) _SlNonOsSemSet(pSyncObj,NON_OS_SYNC_OBJ_CLEAR_VALUE)
dflet 6:778b081f6a13 102
dflet 6:778b081f6a13 103 /*!
dflet 6:778b081f6a13 104 \brief This function deletes a sync object
dflet 6:778b081f6a13 105
dflet 6:778b081f6a13 106 \param pSyncObj - pointer to the sync object control block
dflet 6:778b081f6a13 107
dflet 6:778b081f6a13 108 \return upon successful deletion the function should return 0
dflet 6:778b081f6a13 109 Otherwise, a negative value indicating the error code shall be returned
dflet 6:778b081f6a13 110 \note
dflet 6:778b081f6a13 111 \warning
dflet 6:778b081f6a13 112 */
dflet 6:778b081f6a13 113 //#define _SlNonOsSyncObjDelete(pSyncObj) _SlNonOsSemSet(pSyncObj,0)
dflet 6:778b081f6a13 114
dflet 6:778b081f6a13 115 /*!
dflet 6:778b081f6a13 116 \brief This function generates a sync signal for the object.
dflet 6:778b081f6a13 117
dflet 6:778b081f6a13 118 All suspended threads waiting on this sync object are resumed
dflet 6:778b081f6a13 119
dflet 6:778b081f6a13 120 \param pSyncObj - pointer to the sync object control block
dflet 6:778b081f6a13 121
dflet 6:778b081f6a13 122 \return upon successful signaling the function should return 0
dflet 6:778b081f6a13 123 Otherwise, a negative value indicating the error code shall be returned
dflet 6:778b081f6a13 124 \note the function could be called from ISR context
dflet 6:778b081f6a13 125 \warning
dflet 6:778b081f6a13 126 */
dflet 6:778b081f6a13 127 //#define _SlNonOsSyncObjSignal(pSyncObj) _SlNonOsSemSet(pSyncObj,NON_OS_SYNC_OBJ_SIGNAL_VALUE)
dflet 6:778b081f6a13 128
dflet 6:778b081f6a13 129 /*!
dflet 6:778b081f6a13 130 \brief This function waits for a sync signal of the specific sync object
dflet 6:778b081f6a13 131
dflet 6:778b081f6a13 132 \param pSyncObj - pointer to the sync object control block
dflet 6:778b081f6a13 133 \param Timeout - numeric value specifies the maximum number of mSec to
dflet 6:778b081f6a13 134 stay suspended while waiting for the sync signal
dflet 6:778b081f6a13 135 Currently, the simple link driver uses only two values:
dflet 6:778b081f6a13 136 - NONOS_WAIT_FOREVER
dflet 6:778b081f6a13 137 - NONOS_NO_WAIT
dflet 6:778b081f6a13 138
dflet 6:778b081f6a13 139 \return upon successful reception of the signal within the timeout window return 0
dflet 6:778b081f6a13 140 Otherwise, a negative value indicating the error code shall be returned
dflet 6:778b081f6a13 141 \note
dflet 6:778b081f6a13 142 \warning
dflet 6:778b081f6a13 143 */
dflet 6:778b081f6a13 144 //#define _SlNonOsSyncObjWait(pSyncObj , Timeout) _SlNonOsSemGet(pSyncObj,NON_OS_SYNC_OBJ_SIGNAL_VALUE,NON_OS_SYNC_OBJ_CLEAR_VALUE,Timeout)
dflet 6:778b081f6a13 145
dflet 6:778b081f6a13 146 /*!
dflet 6:778b081f6a13 147 \brief This function clears a sync object
dflet 6:778b081f6a13 148
dflet 6:778b081f6a13 149 \param pSyncObj - pointer to the sync object control block
dflet 6:778b081f6a13 150
dflet 6:778b081f6a13 151 \return upon successful clearing the function should return 0
dflet 6:778b081f6a13 152 Otherwise, a negative value indicating the error code shall be returned
dflet 6:778b081f6a13 153 \note
dflet 6:778b081f6a13 154 \warning
dflet 6:778b081f6a13 155 */
dflet 6:778b081f6a13 156 //#define _SlNonOsSyncObjClear(pSyncObj) _SlNonOsSemSet(pSyncObj,NON_OS_SYNC_OBJ_CLEAR_VALUE)
dflet 6:778b081f6a13 157
dflet 6:778b081f6a13 158 /*!
dflet 6:778b081f6a13 159 \brief This function creates a locking object.
dflet 6:778b081f6a13 160
dflet 6:778b081f6a13 161 The locking object is used for protecting a shared resources between different
dflet 6:778b081f6a13 162 threads.
dflet 6:778b081f6a13 163
dflet 6:778b081f6a13 164 \param pLockObj - pointer to the locking object control block
dflet 6:778b081f6a13 165
dflet 6:778b081f6a13 166 \return upon successful creation the function should return 0
dflet 6:778b081f6a13 167 Otherwise, a negative value indicating the error code shall be returned
dflet 6:778b081f6a13 168 \note
dflet 6:778b081f6a13 169 \warning
dflet 6:778b081f6a13 170 */
dflet 6:778b081f6a13 171 #define _SlNonOsLockObjCreate(pLockObj) _SlNonOsSemSet(pLockObj,NON_OS_LOCK_OBJ_UNLOCK_VALUE)
dflet 6:778b081f6a13 172
dflet 6:778b081f6a13 173 /*!
dflet 6:778b081f6a13 174 \brief This function deletes a locking object.
dflet 6:778b081f6a13 175
dflet 6:778b081f6a13 176 \param pLockObj - pointer to the locking object control block
dflet 6:778b081f6a13 177
dflet 6:778b081f6a13 178 \return upon successful deletion the function should return 0
dflet 6:778b081f6a13 179 Otherwise, a negative value indicating the error code shall be returned
dflet 6:778b081f6a13 180 \note
dflet 6:778b081f6a13 181 \warning
dflet 6:778b081f6a13 182 */
dflet 6:778b081f6a13 183 //#define _SlNonOsLockObjDelete(pLockObj) _SlNonOsSemSet(pLockObj,0)
dflet 6:778b081f6a13 184
dflet 6:778b081f6a13 185 /*!
dflet 6:778b081f6a13 186 \brief This function locks a locking object.
dflet 6:778b081f6a13 187
dflet 6:778b081f6a13 188 All other threads that call this function before this thread calls
dflet 6:778b081f6a13 189 the _SlNonOsLockObjUnlock would be suspended
dflet 6:778b081f6a13 190
dflet 6:778b081f6a13 191 \param pLockObj - pointer to the locking object control block
dflet 6:778b081f6a13 192 \param Timeout - numeric value specifies the maximum number of mSec to
dflet 6:778b081f6a13 193 stay suspended while waiting for the locking object
dflet 6:778b081f6a13 194 Currently, the simple link driver uses only two values:
dflet 6:778b081f6a13 195 - NONOS_WAIT_FOREVER
dflet 6:778b081f6a13 196 - NONOS_NO_WAIT
dflet 6:778b081f6a13 197
dflet 6:778b081f6a13 198
dflet 6:778b081f6a13 199 \return upon successful reception of the locking object the function should return 0
dflet 6:778b081f6a13 200 Otherwise, a negative value indicating the error code shall be returned
dflet 6:778b081f6a13 201 \note
dflet 6:778b081f6a13 202 \warning
dflet 6:778b081f6a13 203 */
dflet 6:778b081f6a13 204 //#define _SlNonOsLockObjLock(pLockObj , Timeout) _SlNonOsSemGet(pLockObj,NON_OS_LOCK_OBJ_UNLOCK_VALUE,NON_OS_LOCK_OBJ_LOCK_VALUE,Timeout)
dflet 6:778b081f6a13 205
dflet 6:778b081f6a13 206 /*!
dflet 6:778b081f6a13 207 \brief This function unlock a locking object.
dflet 6:778b081f6a13 208
dflet 6:778b081f6a13 209 \param pLockObj - pointer to the locking object control block
dflet 6:778b081f6a13 210
dflet 6:778b081f6a13 211 \return upon successful unlocking the function should return 0
dflet 6:778b081f6a13 212 Otherwise, a negative value indicating the error code shall be returned
dflet 6:778b081f6a13 213 \note
dflet 6:778b081f6a13 214 \warning
dflet 6:778b081f6a13 215 */
dflet 6:778b081f6a13 216 //#define _SlNonOsLockObjUnlock(pLockObj) _SlNonOsSemSet(pLockObj,NON_OS_LOCK_OBJ_UNLOCK_VALUE)
dflet 6:778b081f6a13 217
dflet 6:778b081f6a13 218 /*****************************************************************************
dflet 6:778b081f6a13 219
dflet 6:778b081f6a13 220 Overwrite SimpleLink driver OS adaptation functions
dflet 6:778b081f6a13 221
dflet 6:778b081f6a13 222
dflet 6:778b081f6a13 223 *****************************************************************************/
dflet 6:778b081f6a13 224
dflet 6:778b081f6a13 225 #undef sl_SyncObjCreate
dflet 6:778b081f6a13 226 #define sl_SyncObjCreate(pSyncObj,pName) _SlNonOsSemSet(pSyncObj,NON_OS_SYNC_OBJ_CLEAR_VALUE)
dflet 6:778b081f6a13 227
dflet 6:778b081f6a13 228 #undef sl_LockObjCreate
dflet 6:778b081f6a13 229 #define sl_LockObjCreate(pLockObj,pName) _SlNonOsSemSet(pLockObj,NON_OS_LOCK_OBJ_UNLOCK_VALUE)
dflet 6:778b081f6a13 230
dflet 6:778b081f6a13 231 /*!
dflet 6:778b081f6a13 232 \brief type definition for the return values of this adaptation layer
dflet 6:778b081f6a13 233 */
dflet 6:778b081f6a13 234 typedef int8_t _SlNonOsRetVal_t;
dflet 6:778b081f6a13 235
dflet 6:778b081f6a13 236 /*!
dflet 6:778b081f6a13 237 \brief type definition for a time value
dflet 6:778b081f6a13 238 */
dflet 6:778b081f6a13 239 typedef uint8_t _SlNonOsTime_t;
dflet 6:778b081f6a13 240
dflet 6:778b081f6a13 241 /*!
dflet 6:778b081f6a13 242 \brief type definition for a sync object container
dflet 6:778b081f6a13 243
dflet 6:778b081f6a13 244 Sync object is object used to synchronize between two threads or thread and interrupt handler.
dflet 6:778b081f6a13 245 One thread is waiting on the object and the other thread send a signal, which then
dflet 6:778b081f6a13 246 release the waiting thread.
dflet 6:778b081f6a13 247 The signal must be able to be sent from interrupt context.
dflet 6:778b081f6a13 248 This object is generally implemented by binary semaphore or events.
dflet 6:778b081f6a13 249 */
dflet 6:778b081f6a13 250 typedef uint8_t _SlNonOsSemObj_t;
dflet 6:778b081f6a13 251
dflet 6:778b081f6a13 252 class cc3100_driver;
dflet 6:778b081f6a13 253
dflet 6:778b081f6a13 254 class cc3100_nonos
dflet 6:778b081f6a13 255 {
dflet 6:778b081f6a13 256
dflet 6:778b081f6a13 257 public:
dflet 6:778b081f6a13 258
dflet 6:778b081f6a13 259 cc3100_nonos(cc3100_driver &driver);
dflet 6:778b081f6a13 260
dflet 6:778b081f6a13 261 ~cc3100_nonos();
dflet 6:778b081f6a13 262
dflet 6:778b081f6a13 263 /*!
dflet 6:778b081f6a13 264 \brief This function call the pEntry callback from a different context
dflet 6:778b081f6a13 265
dflet 6:778b081f6a13 266 \param pEntry - pointer to the entry callback function
dflet 6:778b081f6a13 267
dflet 6:778b081f6a13 268 \param pValue - pointer to any type of memory structure that would be
dflet 6:778b081f6a13 269 passed to pEntry callback from the execution thread.
dflet 6:778b081f6a13 270
dflet 6:778b081f6a13 271 \param flags - execution flags - reserved for future usage
dflet 6:778b081f6a13 272
dflet 6:778b081f6a13 273 \return upon successful registration of the spawn the function return 0
dflet 6:778b081f6a13 274 (the function is not blocked till the end of the execution of the function
dflet 6:778b081f6a13 275 and could be returned before the execution is actually completed)
dflet 6:778b081f6a13 276 Otherwise, a negative value indicating the error code shall be returned
dflet 6:778b081f6a13 277 \note
dflet 6:778b081f6a13 278 \warning
dflet 6:778b081f6a13 279 */
dflet 6:778b081f6a13 280 _SlNonOsRetVal_t _SlNonOsSpawn(_SlSpawnEntryFunc_t pEntry , void* pValue , uint32_t flags);
dflet 6:778b081f6a13 281
dflet 6:778b081f6a13 282
dflet 6:778b081f6a13 283 /*!
dflet 6:778b081f6a13 284 \brief This function must be called from the main loop in non-os paltforms
dflet 6:778b081f6a13 285
dflet 6:778b081f6a13 286 \param None
dflet 6:778b081f6a13 287
dflet 6:778b081f6a13 288 \return 0 - No more activities
dflet 6:778b081f6a13 289 1 - Activity still in progress
dflet 6:778b081f6a13 290 \note
dflet 6:778b081f6a13 291 \warning
dflet 6:778b081f6a13 292 */
dflet 6:778b081f6a13 293 _SlNonOsRetVal_t _SlNonOsMainLoopTask(void);
dflet 6:778b081f6a13 294
dflet 6:778b081f6a13 295 _SlNonOsRetVal_t _SlNonOsSemGet(_SlNonOsSemObj_t* pSyncObj, _SlNonOsSemObj_t WaitValue, _SlNonOsSemObj_t SetValue, _SlNonOsTime_t Timeout);
dflet 6:778b081f6a13 296 _SlNonOsRetVal_t _SlNonOsSemSet(_SlNonOsSemObj_t* pSemObj , _SlNonOsSemObj_t Value);
dflet 6:778b081f6a13 297 // _SlNonOsRetVal_t _SlNonOsSpawn(_SlSpawnEntryFunc_t pEntry , void* pValue , uint32_t flags);
dflet 6:778b081f6a13 298 // _SlNonOsRetVal_t sl_SyncObjCreate(_SlNonOsSemObj_t* pSemObj, _SlNonOsSemObj_t NON_OS_SYNC_OBJ_CLEAR_VALUE);
dflet 6:778b081f6a13 299 _SlNonOsRetVal_t sl_SyncObjDelete(_SlNonOsSemObj_t* pSemObj, _SlNonOsSemObj_t );
dflet 6:778b081f6a13 300 _SlNonOsRetVal_t sl_SyncObjSignal(_SlNonOsSemObj_t* pSemObj, _SlNonOsSemObj_t NON_OS_SYNC_OBJ_SIGNAL_VALUE);
dflet 6:778b081f6a13 301 _SlNonOsRetVal_t sl_SyncObjSignalFromIRQ(_SlNonOsSemObj_t* pSemObj, _SlNonOsSemObj_t NON_OS_SYNC_OBJ_SIGNAL_VALUE);
dflet 6:778b081f6a13 302 // _SlNonOsRetVal_t sl_LockObjCreate(_SlNonOsSemObj_t* pSemObj, _SlNonOsSemObj_t NON_OS_LOCK_OBJ_UNLOCK_VALUE);
dflet 6:778b081f6a13 303 _SlNonOsRetVal_t sl_LockObjDelete(_SlNonOsSemObj_t* pSemObj, _SlNonOsSemObj_t );
dflet 6:778b081f6a13 304 _SlNonOsRetVal_t sl_LockObjUnlock(_SlNonOsSemObj_t* pSemObj, _SlNonOsSemObj_t NON_OS_LOCK_OBJ_UNLOCK_VALUE);
dflet 6:778b081f6a13 305 _SlNonOsRetVal_t sl_SyncObjWait(_SlNonOsSemObj_t* pSyncObj, _SlNonOsSemObj_t NON_OS_SYNC_OBJ_SIGNAL_VALUE, _SlNonOsSemObj_t NON_OS_SYNC_OBJ_CLEAR_VALUE, _SlNonOsTime_t Timeout);
dflet 6:778b081f6a13 306 _SlNonOsRetVal_t sl_LockObjLock(_SlNonOsSemObj_t* pSyncObj, _SlNonOsSemObj_t NON_OS_LOCK_OBJ_UNLOCK_VALUE, _SlNonOsSemObj_t NON_OS_LOCK_OBJ_LOCK_VALUE, _SlNonOsTime_t Timeout);
dflet 6:778b081f6a13 307
dflet 6:778b081f6a13 308
dflet 6:778b081f6a13 309 #if (defined(_SlSyncWaitLoopCallback))
dflet 6:778b081f6a13 310 void _SlSyncWaitLoopCallback(void);
dflet 6:778b081f6a13 311 #endif
dflet 6:778b081f6a13 312
dflet 6:778b081f6a13 313 private:
dflet 6:778b081f6a13 314
dflet 6:778b081f6a13 315 cc3100_driver &_driver;
dflet 6:778b081f6a13 316
dflet 6:778b081f6a13 317 };//class
dflet 6:778b081f6a13 318
dflet 6:778b081f6a13 319 }//namespace mbed_cc3100
dflet 6:778b081f6a13 320
dflet 6:778b081f6a13 321 #endif /* !SL_PLATFORM_MULTI_THREADED */
dflet 6:778b081f6a13 322
dflet 6:778b081f6a13 323
dflet 6:778b081f6a13 324
dflet 6:778b081f6a13 325 #endif
dflet 6:778b081f6a13 326