David Fletcher
/
cc3100_test
TI's CC3100 host driver and demo. Experimental and a work in progress.
simplelink/cc3100_sl_common.h
- Committer:
- dflet
- Date:
- 2014-11-17
- Revision:
- 0:bbe98578d4c0
File content as of revision 0:bbe98578d4c0:
/* * sl_config.h - get time sample application * * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/ * * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the * distribution. * * Neither the name of Texas Instruments Incorporated nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ #ifndef __SL_CONFIG_H__ #define __SL_CONFIG_H__ //***************************************************************************** // // If building with a C++ compiler, make all of the definitions in this header // have a C binding. // //***************************************************************************** #ifdef __cplusplus extern "C" { #endif //Vars taken from main extern _u32 g_Status ; extern _u32 g_GatewayIP; extern _u32 g_StationIP; /**/ #define LOOP_FOREVER() \ {\ while(1); \ } #define ASSERT_ON_ERROR(error_code) \ {\ /* Handling the error-codes is specific to the application */ \ if (error_code < 0) return error_code; \ /* else, continue w/ execution */ \ } #define pal_Memset(x,y,z) memset((void *)x,y,z) #define pal_Memcpy(x,y,z) memcpy((void *)x, (const void *)y, z) #define pal_Memcmp(x,y,z) memcmp((const void *)x, (const void *)y, z) #define pal_Strlen(x) strlen((const char *)x) #define pal_Strcmp(x,y) strcmp((const char *)x, (const char *)y) #define pal_Strcpy(x,y) strcpy((char *)x, (const char *)y) #define pal_Strstr(x,y) strstr((const char *)x, (const char *)y) #define pal_Strncmp(x,y,z) strncmp((const char *)x, (const char *)y, z) #define pal_Strcat(x,y) strcat((char *)x, (const char *)y) /* * Values for below macros shall be modified per the access-point's (AP) properties * SimpleLink device will connect to following AP when the application is executed */ #define SSID_NAME "**********" /* Access point name to connect to. */ #define SEC_TYPE SL_SEC_TYPE_WPA_WPA2 /* Security type of the Access piont */ #define PASSKEY "**********" /* Password in case of secure AP */ #define PASSKEY_LEN pal_Strlen(PASSKEY) /* Password length in case of secure AP */ /* Configuration of the device when it comes up in AP mode */ #define SSID_AP_MODE "mysimplelink" /* SSID of the CC3100 in AP mode */ #define PASSWORD_AP_MODE "" /* Password of CC3100 AP */ #define SEC_TYPE_AP_MODE SL_SEC_TYPE_OPEN /* Can take SL_SEC_TYPE_WEP or * SL_SEC_TYPE_WPA as well */ /* * Values for below macros shall be modified based on current time */ #define DATE 24 /* Current Date */ #define MONTH 7 /* Month */ #define YEAR 2014 /* Current year */ #define HOUR 17 /* Time - hours */ #define MINUTE 30 /* Time - minutes */ #define SECOND 0 /* Time - seconds */ #define SUCCESS 0 /* Status bits - These are used to set/reset the corresponding bits in a 'status_variable' */ typedef enum{ STATUS_BIT_CONNECTION = 0, /* If this bit is: * 1 in a 'status_variable', the device is connected to the AP * 0 in a 'status_variable', the device is not connected to the AP */ STATUS_BIT_STA_CONNECTED, /* If this bit is: * 1 in a 'status_variable', client is connected to device * 0 in a 'status_variable', client is not connected to device */ STATUS_BIT_IP_ACQUIRED, /* If this bit is: * 1 in a 'status_variable', the device has acquired an IP * 0 in a 'status_variable', the device has not acquired an IP */ STATUS_BIT_IP_LEASED, /* If this bit is: * 1 in a 'status_variable', the device has leased an IP * 0 in a 'status_variable', the device has not leased an IP */ STATUS_BIT_CONNECTION_FAILED, /* If this bit is: * 1 in a 'status_variable', failed to connect to device * 0 in a 'status_variable' */ STATUS_BIT_P2P_NEG_REQ_RECEIVED,/* If this bit is: * 1 in a 'status_variable', connection requested by remote wifi-direct device * 0 in a 'status_variable', */ STATUS_BIT_SMARTCONFIG_DONE, /* If this bit is: * 1 in a 'status_variable', smartconfig completed * 0 in a 'status_variable', smartconfig event couldn't complete */ STATUS_BIT_SMARTCONFIG_STOPPED /* If this bit is: * 1 in a 'status_variable', smartconfig process stopped * 0 in a 'status_variable', smartconfig process running */ }e_StatusBits; #define SET_STATUS_BIT(status_variable, bit) status_variable |= ((unsigned long)1<<(bit)) #define CLR_STATUS_BIT(status_variable, bit) status_variable &= ~((unsigned long)1<<(bit)) #define GET_STATUS_BIT(status_variable, bit) (0 != (status_variable & ((unsigned long)1<<(bit)))) #define IS_CONNECTED(status_variable) GET_STATUS_BIT(status_variable, \ STATUS_BIT_CONNECTION) #define IS_STA_CONNECTED(status_variable) GET_STATUS_BIT(status_variable, \ STATUS_BIT_STA_CONNECTED) #define IS_IP_ACQUIRED(status_variable) GET_STATUS_BIT(status_variable, \ STATUS_BIT_IP_ACQUIRED) #define IS_IP_LEASED(status_variable) GET_STATUS_BIT(status_variable, \ STATUS_BIT_IP_LEASED) #define IS_CONNECTION_FAILED(status_variable) GET_STATUS_BIT(status_variable, \ STATUS_BIT_CONNECTION_FAILED) #define IS_P2P_NEG_REQ_RECEIVED(status_variable) GET_STATUS_BIT(status_variable, \ STATUS_BIT_P2P_NEG_REQ_RECEIVED) #define IS_SMARTCONFIG_DONE(status_variable) GET_STATUS_BIT(status_variable, \ STATUS_BIT_SMARTCONFIG_DONE) #define IS_SMARTCONFIG_STOPPED(status_variable) GET_STATUS_BIT(status_variable, \ STATUS_BIT_SMARTCONFIG_STOPPED) #define IS_PING_DONE(status_variable) GET_STATUS_BIT(status_variable, \ STATUS_BIT_PING_DONE) #define STATUS_BIT_PING_DONE 31 static void SimpleLinkPingReport(SlPingReport_t *pPingReport); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /*__SL_CONFIG_H__*/