Martin Kojtal / Mbed 2 deprecated cc3000_simple_socket_demo

Dependencies:   NVIC_set_all_priorities cc3000_hostdriver_mbedsocket mbed

Committer:
Kojto
Date:
Sun Sep 08 18:31:33 2013 +0000
Revision:
0:ce33c63eefe5
initial version of new simple socket

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 0:ce33c63eefe5 1 /****************************************************************************
Kojto 0:ce33c63eefe5 2 *
Kojto 0:ce33c63eefe5 3 * doTCPIP.h - CC3000 TCP/IP
Kojto 0:ce33c63eefe5 4 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
Kojto 0:ce33c63eefe5 5 *
Kojto 0:ce33c63eefe5 6 * Redistribution and use in source and binary forms, with or without
Kojto 0:ce33c63eefe5 7 * modification, are permitted provided that the following conditions
Kojto 0:ce33c63eefe5 8 * are met:
Kojto 0:ce33c63eefe5 9 *
Kojto 0:ce33c63eefe5 10 * Redistributions of source code must retain the above copyright
Kojto 0:ce33c63eefe5 11 * notice, this list of conditions and the following disclaimer.
Kojto 0:ce33c63eefe5 12 *
Kojto 0:ce33c63eefe5 13 * Redistributions in binary form must reproduce the above copyright
Kojto 0:ce33c63eefe5 14 * notice, this list of conditions and the following disclaimer in the
Kojto 0:ce33c63eefe5 15 * documentation and/or other materials provided with the
Kojto 0:ce33c63eefe5 16 * distribution.
Kojto 0:ce33c63eefe5 17 *
Kojto 0:ce33c63eefe5 18 * Neither the name of Texas Instruments Incorporated nor the names of
Kojto 0:ce33c63eefe5 19 * its contributors may be used to endorse or promote products derived
Kojto 0:ce33c63eefe5 20 * from this software without specific prior written permission.
Kojto 0:ce33c63eefe5 21 *
Kojto 0:ce33c63eefe5 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
Kojto 0:ce33c63eefe5 23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
Kojto 0:ce33c63eefe5 24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
Kojto 0:ce33c63eefe5 25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
Kojto 0:ce33c63eefe5 26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
Kojto 0:ce33c63eefe5 27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
Kojto 0:ce33c63eefe5 28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
Kojto 0:ce33c63eefe5 29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
Kojto 0:ce33c63eefe5 30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
Kojto 0:ce33c63eefe5 31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Kojto 0:ce33c63eefe5 32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Kojto 0:ce33c63eefe5 33 *
Kojto 0:ce33c63eefe5 34 *****************************************************************************/
Kojto 0:ce33c63eefe5 35
Kojto 0:ce33c63eefe5 36 #ifndef DOTCPIP_H
Kojto 0:ce33c63eefe5 37 #define DOTCPIP_H
Kojto 0:ce33c63eefe5 38
Kojto 0:ce33c63eefe5 39 #include "cc3000.h"
Kojto 0:ce33c63eefe5 40
Kojto 0:ce33c63eefe5 41 /** TCP/IP Functions
Kojto 0:ce33c63eefe5 42 *
Kojto 0:ce33c63eefe5 43 */
Kojto 0:ce33c63eefe5 44 #ifndef FALSE
Kojto 0:ce33c63eefe5 45 #define FALSE 0
Kojto 0:ce33c63eefe5 46 #endif
Kojto 0:ce33c63eefe5 47
Kojto 0:ce33c63eefe5 48 #ifndef TRUE
Kojto 0:ce33c63eefe5 49 #define TRUE 1
Kojto 0:ce33c63eefe5 50 #endif
Kojto 0:ce33c63eefe5 51
Kojto 0:ce33c63eefe5 52 #define SMART_CONFIG_SET 0x55
Kojto 0:ce33c63eefe5 53 #define TCPIP_PORT 15000
Kojto 0:ce33c63eefe5 54
Kojto 0:ce33c63eefe5 55 #define USE_DHCP 1
Kojto 0:ce33c63eefe5 56 #define USE_STATIC_IP 2
Kojto 0:ce33c63eefe5 57
Kojto 0:ce33c63eefe5 58 #define NONE 0
Kojto 0:ce33c63eefe5 59 #define WEP 1
Kojto 0:ce33c63eefe5 60 #define WPA 2
Kojto 0:ce33c63eefe5 61 #define WPA2 3
Kojto 0:ce33c63eefe5 62
Kojto 0:ce33c63eefe5 63 // Modify the following settings as necessary for your Wi-Fi Network setup:
Kojto 0:ce33c63eefe5 64 #define IP_ALLOC_METHOD USE_DHCP // for DHCP assigned IP address
Kojto 0:ce33c63eefe5 65 //#define IP_ALLOC_METHOD USE_STATIC_IP // for static IP address
Kojto 0:ce33c63eefe5 66
Kojto 0:ce33c63eefe5 67 // Default SSID Settings
Kojto 0:ce33c63eefe5 68 #define AP_KEY "87654321"
Kojto 0:ce33c63eefe5 69 #define AP_SECURITY WPA2 // WPA2 must be enabled for use with iPhone or Android phone hotspot!
Kojto 0:ce33c63eefe5 70 #define SSID "test"
Kojto 0:ce33c63eefe5 71 //#define AP_SECURITY NONE // no security but will connect quicker!
Kojto 0:ce33c63eefe5 72 #define STATIC_IP_OCT1 192
Kojto 0:ce33c63eefe5 73 #define STATIC_IP_OCT2 168
Kojto 0:ce33c63eefe5 74 #define STATIC_IP_OCT3 0
Kojto 0:ce33c63eefe5 75 #define STATIC_IP_OCT4 103
Kojto 0:ce33c63eefe5 76
Kojto 0:ce33c63eefe5 77 #define STATIC_GW_OCT4 1 // Static Gateway address = STATIC_IP_OCT1.STATIC_IP_OCT2.STATIC_IP_OCT3.STATIC_GW_OCT4
Kojto 0:ce33c63eefe5 78
Kojto 0:ce33c63eefe5 79 #define REQ_BUFFER_SIZE 400
Kojto 0:ce33c63eefe5 80
Kojto 0:ce33c63eefe5 81 // typedef struct {
Kojto 0:ce33c63eefe5 82 // uint8_t FTC; // First time config performed
Kojto 0:ce33c63eefe5 83 // uint8_t PP_version[2]; // Patch Programmer version
Kojto 0:ce33c63eefe5 84 // uint8_t SERV_PACK[2]; // Service Pack Version
Kojto 0:ce33c63eefe5 85 // uint8_t DRV_VER[3]; // Driver Version
Kojto 0:ce33c63eefe5 86 // uint8_t FW_VER[3]; // Firmware Version
Kojto 0:ce33c63eefe5 87 // uint8_t validCIK; // CIK[] is valid (Client Interface Key)
Kojto 0:ce33c63eefe5 88 // uint8_t CIK[40];
Kojto 0:ce33c63eefe5 89 // } userFS_t;
Kojto 0:ce33c63eefe5 90
Kojto 0:ce33c63eefe5 91 extern mbed_cc3000::tUserFS userFS;
Kojto 0:ce33c63eefe5 92
Kojto 0:ce33c63eefe5 93 // extern volatile uint32_t ulSmartConfigFinished,ulCC3000DHCP, OkToDoShutDown, ulCC3000DHCP_configured;
Kojto 0:ce33c63eefe5 94 // extern int32_t server_running;
Kojto 0:ce33c63eefe5 95 // extern volatile uint8_t newData;
Kojto 0:ce33c63eefe5 96 // extern uint8_t ForceFixedSSID;
Kojto 0:ce33c63eefe5 97 // extern int8_t runSmartConfig;
Kojto 0:ce33c63eefe5 98 // extern int8_t requestBuffer[];
Kojto 0:ce33c63eefe5 99 extern uint8_t myMAC[8];
Kojto 0:ce33c63eefe5 100 extern uint8_t SmartConfigProfilestored;
Kojto 0:ce33c63eefe5 101
Kojto 0:ce33c63eefe5 102 // extern void StartSmartConfig(void);
Kojto 0:ce33c63eefe5 103
Kojto 0:ce33c63eefe5 104 bool check_dhcp(void);
Kojto 0:ce33c63eefe5 105 void start_smart_config(void);
Kojto 0:ce33c63eefe5 106 void create_tcp_connection(int32_t port);
Kojto 0:ce33c63eefe5 107 void init_tcp(void);
Kojto 0:ce33c63eefe5 108 void run_tcp_server(void);
Kojto 0:ce33c63eefe5 109 void do_FTC(void);
Kojto 0:ce33c63eefe5 110
Kojto 0:ce33c63eefe5 111 #endif // DOTCPIP_H