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.
Fork of cc3000_hostdriver_mbedsocket by
Revision 44:960b73df5981, committed 2013-10-13
- Comitter:
- Kojto
- Date:
- Sun Oct 13 11:46:21 2013 +0200
- Parent:
- 43:864437b6c058
- Child:
- 45:50ab13d8f2dc
- Commit message:
- all _DEBUG_ are set to 0, toggle to enable/disable, doxygen doc for new ethernet interface functions
Changed in this revision
--- a/cc3000.cpp Sat Oct 12 23:28:22 2013 +0000
+++ b/cc3000.cpp Sun Oct 13 11:46:21 2013 +0200
@@ -69,7 +69,7 @@
}
-#ifdef CC3000_ETH_COMPAT
+#if (CC3000_ETH_COMPAT == 1)
// Ethernet library compatible, functions return strings
// Caches the ipconfig from the usync callback
static char mac_addr[19];
@@ -92,10 +92,9 @@
char* cc3000::getNetworkMask() {
return networkmask;
}
-
#endif
-void cc3000::usync_callback(int32_t event_type, uint8_t * data, uint8_t length) {
+void cc3000::usync_callback(int32_t event_type, uint8_t *data, uint8_t length) {
if (event_type == HCI_EVNT_WLAN_ASYNC_SIMPLE_CONFIG_DONE)
{
DBG_CC("Callback : HCI_EVNT_WLAN_ASYNC_SIMPLE_CONFIG_DONE");
@@ -121,16 +120,13 @@
if (event_type == HCI_EVNT_WLAN_UNSOL_DHCP)
{
- #ifdef CC3000_ETH_COMPAT
-
+#if (CC3000_ETH_COMPAT == 1)
_socket.inet_ntoa_r( htonl(*((uint32_t *)(&data[NETAPP_IPCONFIG_IP_OFFSET]))), ip_addr, 17);
_socket.inet_ntoa_r( htonl(*((uint32_t *)(&data[NETAPP_IPCONFIG_GW_OFFSET]))), gateway, 17);
_socket.inet_ntoa_r( htonl(*((uint32_t *)(&data[NETAPP_IPCONFIG_SUBNET_OFFSET]))), networkmask, 17);
_socket.inet_ntoa_r( htonl(*((uint32_t *)(&data[NETAPP_IPCONFIG_MAC_OFFSET]))), mac_addr, 19);
-
- #endif
-
- if ( *(data + NETAPP_IPCONFIG_MAC_OFFSET) == 0) {
+#endif
+ if (*(data + NETAPP_IPCONFIG_MAC_OFFSET) == 0) {
_status.dhcp = 1;
DBG_CC("Callback : HCI_EVNT_WLAN_UNSOL_DHCP %i.%i.%i.%i", data[3], data[2], data[1], data[0]);
} else {
@@ -141,7 +137,7 @@
if (event_type == HCI_EVENT_CC3000_CAN_SHUT_DOWN)
{
- // Note this means the moudles is idle, so it could be shutdown..
+ // Note this means the modules is idle, so it could be shutdown..
//DBG_CC("Callback : HCI_EVENT_CC3000_CAN_SHUT_DOWN");
_status.ok_to_shut_down = 1;
}
@@ -163,10 +159,9 @@
}
void cc3000::start_smart_config(const uint8_t *smart_config_key) {
-
_status.smart_config_complete = 0;
_wlan.ioctl_set_connection_policy(0, 0, 0);
-
+
if (_status.connected == 1)
{
disconnect();
@@ -232,21 +227,21 @@
return ret;
}
-bool cc3000::connect_non_blocking(const uint8_t *ssid, const uint8_t *key, int32_t security_mode)
+bool cc3000::connect_non_blocking(const uint8_t *ssid, const uint8_t *key, int32_t security_mode)
{
bool ret = false;
- if (key == 0)
+ if (key == 0)
{
- if (connect_open(ssid))
+ if (connect_open(ssid))
{
ret = true;
}
}
- else
+ else
{
#ifndef CC3000_TINY_DRIVER
- if (connect_secure(ssid,key,security_mode))
+ if (connect_secure(ssid,key,security_mode))
{
ret = true;
}
@@ -254,7 +249,7 @@
/* secure connection not supported with TINY_DRIVER */
#endif
}
-
+
return ret;
}
--- a/cc3000.h Sat Oct 12 23:28:22 2013 +0000
+++ b/cc3000.h Sun Oct 13 11:46:21 2013 +0200
@@ -50,71 +50,57 @@
#include "cc3000_socket.h"
#define MAX_SOCKETS 4
-#define CC3000_ETH_COMPAT
+// cc3000 Ethernet Interface - enabled by default
+#define CC3000_ETH_COMPAT 1
-/** Enable debug messages, remove comment from the ones you want or all.
- */
-
+/** Enable debug messages - set 1 */
// Debug - Socket interface messages
-//#define CC3000_DEBUG_SOCKET
-
+#define CC3000_DEBUG_SOCKET 0
// Debug - HCI TX messages
-//#define CC3000_DEBUG_HCI_TX
-
+#define CC3000_DEBUG_HCI_TX 0
// Debug - HCI Rx messages
-//#define CC3000_DEBUG_HCI_RX
-
+#define CC3000_DEBUG_HCI_RX 0
// Debug - General Debug
-//#define CC3000_DEBUG
-
+#define CC3000_DEBUG 0
// Add colour to the debug messages, requires a VT100 terminal like putty, comment out to remove
-//#define VT100_COLOUR
+#define VT100_COLOUR 0
-#ifdef CC3000_DEBUG_SOCKET
-
- #ifdef VT100_COLOUR
+#if (CC3000_DEBUG_SOCKET == 1)
+ #if (VT100_COLOUR == 1)
#define DBG_SOCKET(x, ...) std::printf("\x1b[2;32;40m[CC3000 : SOCKET] "x"\x1b[0;37;40m\r\n", ##__VA_ARGS__);
#else
#define DBG_SOCKET(x, ...) std::printf("[CC3000 : SOCKET] "x"\r\n", ##__VA_ARGS__);
#endif
-
#else
#define DBG_SOCKET(x, ...)
#endif
-#ifdef CC3000_DEBUG_HCI_TX
-
- #ifdef VT100_COLOUR
+#if (CC3000_DEBUG_HCI_TX == 1)
+ #if (VT100_COLOUR == 1)
#define DBG_HCI(x, ...) std::printf("\x1b[2;35;40m[CC3000 : HCI RX] "x"\x1b[0;37;40m\r\n", ##__VA_ARGS__);
#else
#define DBG_HCI(x, ...) std::printf("[CC3000 : HCI RX] "x"\r\n", ##__VA_ARGS__);
#endif
-
#else
#define DBG_HCI(x, ...)
#endif
-#ifdef CC3000_DEBUG_HCI_RX
-
- #ifdef VT100_COLOUR
+#if (CC3000_DEBUG_HCI_RX == 1)
+ #if (VT100_COLOUR == 1)
#define DBG_HCI_CMD(x, ...) std::printf("\x1b[2;36;40m[CC3000 : HCI TX] "x"\x1b[0;37;40m\r\n", ##__VA_ARGS__);
#else
#define DBG_HCI_CMD(x, ...) std::printf("[CC3000 : HCI TX] "x"\r\n", ##__VA_ARGS__);
#endif
-
#else
#define DBG_HCI_CMD(x, ...)
#endif
-
-#ifdef CC3000_DEBUG
-
- #ifdef VT100_COLOUR
+#if (CC3000_DEBUG == 1)
+ #if (VT100_COLOUR == 1)
#define DBG_CC(x, ...) std::printf("\x1b[2;32;40m[CC3000] "x"\x1b[0;37;40m\r\n", ##__VA_ARGS__);
#else
#define DBG_CC(x, ...) std::printf("[CC3000] "x"\r\n", ##__VA_ARGS__);
#endif
-
#else
#define DBG_CC(x, ...)
#endif
@@ -1001,7 +987,7 @@
*/
int32_t mdns_advertiser(uint16_t mdns_enabled, uint8_t * device_service_name, uint16_t device_service_name_length);
/**
- * \brief
+ * \brief
* \param[in] s_addr in host format ( little endian )
* \param[in] *buf buffer to write too
* \param[in] buflen length of supplied buffer
@@ -1706,32 +1692,36 @@
static cc3000 *get_instance() {
return _inst;
}
-#ifdef CC3000_ETH_COMPAT
+#if (CC3000_ETH_COMPAT == 1)
/**
- * \brief
- * \param
- * \return
+ * \brief Get the MAC address of your Ethernet interface.
+ * \param none
+ * \return
+ * Pointer to a string containing the MAC address.
*/
char* getMACAddress();
/**
- * \brief
- * \param
- * \return
+ * \brief Get the IP address of your Ethernet interface.
+ * \param none
+ * \return
+ * Pointer to a string containing the IP address.
*/
char* getIPAddress();
/**
- * \brief
- * \param
- * \return
+ * \brief Get the Gateway address of your Ethernet interface
+ * \param none
+ * \return
+ * Pointer to a string containing the Gateway address
*/
char* getGateway();
/**
- * \brief
- * \param
- * \return
+ * \brief Get the Network mask of your Ethernet interface
+ * \param none
+ * \return
+ * Pointer to a string containing the Network mask
*/
char* getNetworkMask();
#endif
--- a/cc3000_event.cpp Sat Oct 12 23:28:22 2013 +0000
+++ b/cc3000_event.cpp Sun Oct 13 11:46:21 2013 +0200
@@ -44,7 +44,7 @@
namespace mbed_cc3000 {
-#ifdef CC3000_DEBUG_HCI_RX
+#if (CC3000_DEBUG_HCI_RX == 1)
const char *HCI_EVENT_STR[] =
{
"Socket",
@@ -178,7 +178,7 @@
static void hci_event_debug_print(uint16_t hciEventNo)
{
-#ifdef CC3000_DEBUG_HCI_RX
+#if (CC3000_DEBUG_HCI_RX == 1)
if ((hciEventNo > HCI_CMND_SOCKET_BASE) && ( hciEventNo <= HCI_CMND_MDNS_ADVERTISE))
{
DBG_HCI("Event Received : 0x%04X - %s", hciEventNo, HCI_EVENT_STR[hciEventNo-HCI_CMND_SOCKET]);
@@ -206,9 +206,9 @@
uint32_t return_value;
uint8_t * RecvParams;
uint8_t *RetParams;
-
+
while (1)
- {
+ {
if (_simple_link.get_data_received_flag() != 0)
{
received_data = _simple_link.get_received_data();
@@ -397,12 +397,12 @@
//Read SSID
STREAM_TO_STREAM(RecvParams,RetParams,NETAPP_IPCONFIG_SSID_LENGTH);
break;
-
+
default :
DBG_HCI("UNKNOWN Event Received : 0x%04X ", received_op_code);
break;
}
-
+
}
if (received_op_code == _simple_link.get_op_code())
{
--- a/cc3000_spi.cpp Sat Oct 12 23:28:22 2013 +0000
+++ b/cc3000_spi.cpp Sun Oct 13 11:46:21 2013 +0200
@@ -63,9 +63,10 @@
void cc3000_spi::wlan_irq_enable()
{
NVIC_EnableIRQ(_irq_port);
-
- if(wlan_irq_read() == 0)
- WLAN_IRQHandler();
+
+ if(wlan_irq_read() == 0) {
+ WLAN_IRQHandler();
+ }
}
void cc3000_spi::wlan_irq_disable() {
@@ -80,25 +81,10 @@
wlan_irq_disable();
}
-// void cc3000_spi::SpiReceiveHandler() {
-// _simple_link.usEventOrDataReceived = 1;
-// //_simple_link.pucReceivedData = (unsigned char *)pvBuffer;
-
-// hci_unsolicited_event_handler();
-// }
-
-
-/* TODO
- pRxPacket, pTxPacket do we need to hold this pointer ?
- SPIRxHandler - remove?
-*/
void cc3000_spi::open() {
_spi_info.spi_state = eSPI_STATE_POWERUP;
- //_spi_info.SPIRxHandler = pfRxHandler;
_spi_info.tx_packet_length = 0;
_spi_info.rx_packet_length = 0;
- //_rx_buffer[CC3000_RX_BUFFER_SIZE - 1] = CC3000_BUFFER_MAGIC_NUMBER;
- //_tx_buffer[CC3000_TX_BUFFER_SIZE - 1] = CC3000_BUFFER_MAGIC_NUMBER;
wlan_irq_enable();
}
