A Port of TI's Webserver for the CC3000

Dependencies:   mbed

Committer:
dflet
Date:
Mon Sep 16 18:37:14 2013 +0000
Revision:
2:e6a185df9e4c
Parent:
0:6ad60d78b315
ADC and Leds now work on board and config.html page.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dflet 0:6ad60d78b315 1 /*****************************************************************************
dflet 0:6ad60d78b315 2 *
dflet 0:6ad60d78b315 3 * cc3000_common.c.c - CC3000 Host Driver Implementation.
dflet 0:6ad60d78b315 4 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
dflet 0:6ad60d78b315 5 *
dflet 0:6ad60d78b315 6 * Redistribution and use in source and binary forms, with or without
dflet 0:6ad60d78b315 7 * modification, are permitted provided that the following conditions
dflet 0:6ad60d78b315 8 * are met:
dflet 0:6ad60d78b315 9 *
dflet 0:6ad60d78b315 10 * Redistributions of source code must retain the above copyright
dflet 0:6ad60d78b315 11 * notice, this list of conditions and the following disclaimer.
dflet 0:6ad60d78b315 12 *
dflet 0:6ad60d78b315 13 * Redistributions in binary form must reproduce the above copyright
dflet 0:6ad60d78b315 14 * notice, this list of conditions and the following disclaimer in the
dflet 0:6ad60d78b315 15 * documentation and/or other materials provided with the
dflet 0:6ad60d78b315 16 * distribution.
dflet 0:6ad60d78b315 17 *
dflet 0:6ad60d78b315 18 * Neither the name of Texas Instruments Incorporated nor the names of
dflet 0:6ad60d78b315 19 * its contributors may be used to endorse or promote products derived
dflet 0:6ad60d78b315 20 * from this software without specific prior written permission.
dflet 0:6ad60d78b315 21 *
dflet 0:6ad60d78b315 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
dflet 0:6ad60d78b315 23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
dflet 0:6ad60d78b315 24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
dflet 0:6ad60d78b315 25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
dflet 0:6ad60d78b315 26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
dflet 0:6ad60d78b315 27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
dflet 0:6ad60d78b315 28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
dflet 0:6ad60d78b315 29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
dflet 0:6ad60d78b315 30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
dflet 0:6ad60d78b315 31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
dflet 0:6ad60d78b315 32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
dflet 0:6ad60d78b315 33 *
dflet 0:6ad60d78b315 34 *****************************************************************************/
dflet 0:6ad60d78b315 35 //*****************************************************************************
dflet 0:6ad60d78b315 36 //
dflet 0:6ad60d78b315 37 //! \addtogroup common_api
dflet 0:6ad60d78b315 38 //! @{
dflet 0:6ad60d78b315 39 //
dflet 0:6ad60d78b315 40 //*****************************************************************************
dflet 0:6ad60d78b315 41 /******************************************************************************
dflet 0:6ad60d78b315 42 *
dflet 0:6ad60d78b315 43 * Include files
dflet 0:6ad60d78b315 44 *
dflet 0:6ad60d78b315 45 *****************************************************************************/
dflet 0:6ad60d78b315 46 #include "cc3000_common.h"
dflet 0:6ad60d78b315 47 #include "socket.h"
dflet 0:6ad60d78b315 48 #include "wlan.h"
dflet 0:6ad60d78b315 49 #include "evnt_handler.h"
dflet 0:6ad60d78b315 50
dflet 0:6ad60d78b315 51 //*****************************************************************************
dflet 0:6ad60d78b315 52 //
dflet 0:6ad60d78b315 53 //! __error__
dflet 0:6ad60d78b315 54 //!
dflet 0:6ad60d78b315 55 //! @param pcFilename - file name, where error occurred
dflet 0:6ad60d78b315 56 //! @param ulLine - line number, where error occurred
dflet 0:6ad60d78b315 57 //!
dflet 0:6ad60d78b315 58 //! @return none
dflet 0:6ad60d78b315 59 //!
dflet 0:6ad60d78b315 60 //! @brief stub function for ASSERT macro
dflet 0:6ad60d78b315 61 //
dflet 0:6ad60d78b315 62 //*****************************************************************************
dflet 0:6ad60d78b315 63 void
dflet 0:6ad60d78b315 64 __error__(char *pcFilename, unsigned long ulLine)
dflet 0:6ad60d78b315 65 {
dflet 0:6ad60d78b315 66 //TODO full up function
dflet 0:6ad60d78b315 67 }
dflet 0:6ad60d78b315 68
dflet 0:6ad60d78b315 69
dflet 0:6ad60d78b315 70
dflet 0:6ad60d78b315 71 //*****************************************************************************
dflet 0:6ad60d78b315 72 //
dflet 0:6ad60d78b315 73 //! UINT32_TO_STREAM_f
dflet 0:6ad60d78b315 74 //!
dflet 0:6ad60d78b315 75 //! @param p pointer to the new stream
dflet 0:6ad60d78b315 76 //! @param u32 pointer to the 32 bit
dflet 0:6ad60d78b315 77 //!
dflet 0:6ad60d78b315 78 //! @return pointer to the new stream
dflet 0:6ad60d78b315 79 //!
dflet 0:6ad60d78b315 80 //! @brief This function is used for copying 32 bit to stream
dflet 0:6ad60d78b315 81 //! while converting to little endian format.
dflet 0:6ad60d78b315 82 //
dflet 0:6ad60d78b315 83 //*****************************************************************************
dflet 0:6ad60d78b315 84
dflet 0:6ad60d78b315 85 unsigned char* UINT32_TO_STREAM_f (unsigned char *p, unsigned long u32)
dflet 0:6ad60d78b315 86 {
dflet 0:6ad60d78b315 87 *(p)++ = (unsigned char)(u32);
dflet 0:6ad60d78b315 88 *(p)++ = (unsigned char)((u32) >> 8);
dflet 0:6ad60d78b315 89 *(p)++ = (unsigned char)((u32) >> 16);
dflet 0:6ad60d78b315 90 *(p)++ = (unsigned char)((u32) >> 24);
dflet 0:6ad60d78b315 91 return p;
dflet 0:6ad60d78b315 92 }
dflet 0:6ad60d78b315 93
dflet 0:6ad60d78b315 94 //*****************************************************************************
dflet 0:6ad60d78b315 95 //
dflet 0:6ad60d78b315 96 //! UINT16_TO_STREAM_f
dflet 0:6ad60d78b315 97 //!
dflet 0:6ad60d78b315 98 //! @param p pointer to the new stream
dflet 0:6ad60d78b315 99 //! @param u32 pointer to the 16 bit
dflet 0:6ad60d78b315 100 //!
dflet 0:6ad60d78b315 101 //! @return pointer to the new stream
dflet 0:6ad60d78b315 102 //!
dflet 0:6ad60d78b315 103 //! @brief This function is used for copying 16 bit to stream
dflet 0:6ad60d78b315 104 //! while converting to little endian format.
dflet 0:6ad60d78b315 105 //
dflet 0:6ad60d78b315 106 //*****************************************************************************
dflet 0:6ad60d78b315 107
dflet 0:6ad60d78b315 108 unsigned char* UINT16_TO_STREAM_f (unsigned char *p, unsigned short u16)
dflet 0:6ad60d78b315 109 {
dflet 0:6ad60d78b315 110 *(p)++ = (unsigned char)(u16);
dflet 0:6ad60d78b315 111 *(p)++ = (unsigned char)((u16) >> 8);
dflet 0:6ad60d78b315 112 return p;
dflet 0:6ad60d78b315 113 }
dflet 0:6ad60d78b315 114
dflet 0:6ad60d78b315 115 //*****************************************************************************
dflet 0:6ad60d78b315 116 //
dflet 0:6ad60d78b315 117 //! STREAM_TO_UINT16_f
dflet 0:6ad60d78b315 118 //!
dflet 0:6ad60d78b315 119 //! @param p pointer to the stream
dflet 0:6ad60d78b315 120 //! @param offset offset in the stream
dflet 0:6ad60d78b315 121 //!
dflet 0:6ad60d78b315 122 //! @return pointer to the new 16 bit
dflet 0:6ad60d78b315 123 //!
dflet 0:6ad60d78b315 124 //! @brief This function is used for copying received stream to
dflet 0:6ad60d78b315 125 //! 16 bit in little endian format.
dflet 0:6ad60d78b315 126 //
dflet 0:6ad60d78b315 127 //*****************************************************************************
dflet 0:6ad60d78b315 128
dflet 0:6ad60d78b315 129 unsigned short STREAM_TO_UINT16_f(char* p, unsigned short offset)
dflet 0:6ad60d78b315 130 {
dflet 0:6ad60d78b315 131 return (unsigned short)((unsigned short)((unsigned short)
dflet 0:6ad60d78b315 132 (*(p + offset + 1)) << 8) + (unsigned short)(*(p + offset)));
dflet 0:6ad60d78b315 133 }
dflet 0:6ad60d78b315 134
dflet 0:6ad60d78b315 135 //*****************************************************************************
dflet 0:6ad60d78b315 136 //
dflet 0:6ad60d78b315 137 //! STREAM_TO_UINT32_f
dflet 0:6ad60d78b315 138 //!
dflet 0:6ad60d78b315 139 //! @param p pointer to the stream
dflet 0:6ad60d78b315 140 //! @param offset offset in the stream
dflet 0:6ad60d78b315 141 //!
dflet 0:6ad60d78b315 142 //! @return pointer to the new 32 bit
dflet 0:6ad60d78b315 143 //!
dflet 0:6ad60d78b315 144 //! @brief This function is used for copying received stream to
dflet 0:6ad60d78b315 145 //! 32 bit in little endian format.
dflet 0:6ad60d78b315 146 //
dflet 0:6ad60d78b315 147 //*****************************************************************************
dflet 0:6ad60d78b315 148
dflet 0:6ad60d78b315 149 unsigned long STREAM_TO_UINT32_f(char* p, unsigned short offset)
dflet 0:6ad60d78b315 150 {
dflet 0:6ad60d78b315 151 return (unsigned long)((unsigned long)((unsigned long)
dflet 0:6ad60d78b315 152 (*(p + offset + 3)) << 24) + (unsigned long)((unsigned long)
dflet 0:6ad60d78b315 153 (*(p + offset + 2)) << 16) + (unsigned long)((unsigned long)
dflet 0:6ad60d78b315 154 (*(p + offset + 1)) << 8) + (unsigned long)(*(p + offset)));
dflet 0:6ad60d78b315 155 }
dflet 0:6ad60d78b315 156
dflet 0:6ad60d78b315 157
dflet 0:6ad60d78b315 158
dflet 0:6ad60d78b315 159 //*****************************************************************************
dflet 0:6ad60d78b315 160 //
dflet 0:6ad60d78b315 161 // Close the Doxygen group.
dflet 0:6ad60d78b315 162 //! @}
dflet 0:6ad60d78b315 163 //
dflet 0:6ad60d78b315 164 //*****************************************************************************
dflet 0:6ad60d78b315 165