Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: NVIC_set_all_priorities
Dependents: CC3000_Simple_Socket Wi-Go_IOT_Demo
Diff: cc3000_common.h
- Revision:
- 1:bbcaf0b2f367
- Parent:
- 0:c44f0314d6ec
- Child:
- 4:d8255a5aad46
--- a/cc3000_common.h Fri Jun 28 17:48:37 2013 +0000
+++ b/cc3000_common.h Thu Jul 04 08:10:21 2013 +0000
@@ -68,20 +68,17 @@
#define HCI_CC_PAYLOAD_LEN 5
-#define WLAN_ENABLE (1)
-#define WLAN_DISABLE (0)
+#define WLAN_ENABLE (1)
+#define WLAN_DISABLE (0)
-
-#define MAC_ADDR_LEN (6)
+#define MAC_ADDR_LEN (6)
/*Defines for minimal and maximal RX buffer size. This size includes the spi
header and hci header.
- The maximal buffer size derives from:
- MTU + HCI header + SPI header + sendto() agrs size
- The minimum buffer size derives from:
- HCI header + SPI header + max args size
+ maximal buffer size: MTU + HCI header + SPI header + sendto() args size
+ minimum buffer size: HCI header + SPI header + max args size
This buffer is used for receiving events and data.
The packet can not be longer than MTU size and CC3000 does not support
@@ -89,18 +86,15 @@
and events from CC3000. That is why the minimum is defined.
The calculation for the actual size of buffer for reception is:
Given the maximal data size MAX_DATA that is expected to be received by
- application, the required buffer is:
- Using recv() or recvfrom():
+ application, the required buffer Using recv() or recvfrom():
- max(CC3000_MINIMAL_RX_SIZE, MAX_DATA + HEADERS_SIZE_DATA + fromlen
- + ucArgsize + 1)
+ max(CC3000_MINIMAL_RX_SIZE, MAX_DATA + HEADERS_SIZE_DATA + fromlen + ucArgsize + 1)
- Using gethostbyname() with minimal buffer size will limit the host name
- returned to 99 bytes only.
+ Using gethostbyname() with minimal buffer size will limit the host name returned to 99 bytes.
The 1 is used for the overrun detection
*/
-#define CC3000_MINIMAL_RX_SIZE (118+1)
+#define CC3000_MINIMAL_RX_SIZE (118 + 1)
#define CC3000_MAXIMAL_RX_SIZE (1519 + 1)
/*Defines for minimal and maximal TX buffer size.
@@ -125,7 +119,7 @@
#define CC3000_MINIMAL_TX_SIZE (118 + 1)
#define CC3000_MAXIMAL_TX_SIZE (1519 + 1)
-//TX and RX buffer sizes - allow to receive and transmit maximum data at lengh 8.
+//TX and RX buffer size - allow to receive and transmit maximum data at lengh 8.
#ifdef CC3000_TINY_DRIVER
#define TINY_CC3000_MAXIMAL_RX_SIZE 44
#define TINY_CC3000_MAXIMAL_TX_SIZE 59
@@ -135,31 +129,24 @@
change CC3000_MAXIMAL_RX_SIZE and CC3000_MAXIMAL_TX_SIZE to a value between
the minimal and maximal specified above.
Note that the buffers are allocated by SPI.
- In case you change the size of those buffers, you might need also to change
- the linker file, since for example on MSP430 FRAM devices the buffers are
- allocated in the FRAM section that is allocated manually and not by IDE.
*/
#ifndef CC3000_TINY_DRIVER
#define CC3000_RX_BUFFER_SIZE (CC3000_MAXIMAL_RX_SIZE)
#define CC3000_TX_BUFFER_SIZE (CC3000_MAXIMAL_TX_SIZE)
- #define SP_PORTION_SIZE 512
+ #define SP_PORTION_SIZE 512
-//if defined TINY DRIVER we use smaller rx and tx buffer in order to minimize RAM consumption
+//TINY DRIVER: We use smaller rx and tx buffers in order to minimize RAM consumption
#else
#define CC3000_RX_BUFFER_SIZE (TINY_CC3000_MAXIMAL_RX_SIZE)
#define CC3000_TX_BUFFER_SIZE (TINY_CC3000_MAXIMAL_TX_SIZE)
- #define SP_PORTION_SIZE 32
+ #define SP_PORTION_SIZE 32
#endif
//*****************************************************************************
// Compound Types
//*****************************************************************************
-//typedef long time_t;
-//typedef unsigned long clock_t;
-//typedef long suseconds_t;
-
typedef struct timeval timeval;
struct timeval
@@ -186,30 +173,26 @@
typedef struct
{
- unsigned short usRxEventOpcode;
- unsigned short usEventOrDataReceived;
- unsigned char *pucReceivedData;
- unsigned char *pucTxCommandBuffer;
-
- tFWPatches sFWPatches;
- tDriverPatches sDriverPatches;
- tBootLoaderPatches sBootLoaderPatches;
- tWlanCB sWlanCB;
+ unsigned short usRxEventOpcode;
+ unsigned short usEventOrDataReceived;
+ unsigned char *pucReceivedData;
+ unsigned char *pucTxCommandBuffer;
+ tFWPatches sFWPatches;
+ tDriverPatches sDriverPatches;
+ tBootLoaderPatches sBootLoaderPatches;
+ tWlanCB sWlanCB;
tWlanReadInteruptPin ReadWlanInterruptPin;
tWlanInterruptEnable WlanInterruptEnable;
tWlanInterruptDisable WlanInterruptDisable;
tWriteWlanPin WriteWlanPin;
-
- signed long slTransmitDataError;
- unsigned short usNumberOfFreeBuffers;
- unsigned short usSlBufferLength;
- unsigned short usBufferSize;
- unsigned short usRxDataPending;
-
- unsigned long NumberOfSentPackets;
- unsigned long NumberOfReleasedPackets;
-
- unsigned char InformHostOnTxComplete;
+ signed long slTransmitDataError;
+ unsigned short usNumberOfFreeBuffers;
+ unsigned short usSlBufferLength;
+ unsigned short usBufferSize;
+ unsigned short usRxDataPending;
+ unsigned long NumberOfSentPackets;
+ unsigned long NumberOfReleasedPackets;
+ unsigned char InformHostOnTxComplete;
}sSimplLinkInformation;
extern volatile sSimplLinkInformation tSLInformation;
@@ -243,13 +226,12 @@
//!
//! @param pBuf data buffer
//! @param from from information
-//! @param fromlen from information length
-//!
-//! @return none
+//! @param fromlen from information length
//!
-//! @brief Wait for data, pass it to the hci_event_handler
-//! and update in a global variable that there is
-//! data to read.
+//! @return none
+//!
+//! @brief Wait for data, pass it to the hci_event_handler and
+//! update in a global variable that there is data to read.
//
//*****************************************************************************
@@ -262,10 +244,10 @@
//! \param p pointer to the new stream
//! \param u32 pointer to the 32 bit
//!
-//! \return pointer to the new stream
+//! \return pointer to the new stream
//!
-//! \brief This function is used for copying 32 bit to stream
-//! while converting to little endian format.
+//! \brief This function is used for copying 32 bit to stream
+//! while converting to little endian format.
//
//*****************************************************************************
@@ -278,10 +260,10 @@
//! \param p pointer to the new stream
//! \param u32 pointer to the 16 bit
//!
-//! \return pointer to the new stream
+//! \return pointer to the new stream
//!
-//! \brief This function is used for copying 16 bit to stream
-//! while converting to little endian format.
+//! \brief This function is used for copying 16 bit to stream
+//! while converting to little endian format.
//
//*****************************************************************************
@@ -294,10 +276,10 @@
//! \param p pointer to the stream
//! \param offset offset in the stream
//!
-//! \return pointer to the new 16 bit
+//! \return pointer to the new 16 bit
//!
-//! \brief This function is used for copying received stream to
-//! 16 bit in little endian format.
+//! \brief This function is used for copying received stream to
+//! 16 bit in little endian format.
//
//*****************************************************************************
@@ -310,10 +292,10 @@
//! \param p pointer to the stream
//! \param offset offset in the stream
//!
-//! \return pointer to the new 32 bit
+//! \return pointer to the new 32 bit
//!
-//! \brief This function is used for copying received stream to
-//! 32 bit in little endian format.
+//! \brief This function is used for copying received stream to
+//! 32 bit in little endian format.
//
//*****************************************************************************
SimpleLink Wi-Fi CC3000