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 14:28c8bbbea025, committed 2013-10-02
- Comitter:
- SolderSplashLabs
- Date:
- Wed Oct 02 15:26:41 2013 +0000
- Parent:
- 13:5e36c267e62f
- Child:
- 15:aae737ca3dd2
- Commit message:
- More debug changes, 3 separate levels of debug
Changed in this revision
--- a/cc3000.cpp Wed Oct 02 15:00:07 2013 +0000
+++ b/cc3000.cpp Wed Oct 02 15:26:41 2013 +0000
@@ -133,7 +133,7 @@
// Start the Smart Config process with AES disabled
_wlan.smart_config_start(0);
- DBG_HCI("Waiting for smartconfig to be completed");
+ DBG_CC("Waiting for smartconfig to be completed");
// Wait for Smart config finished
while (_status.smart_config_complete == 0)
@@ -142,7 +142,7 @@
}
- DBG_HCI("Smartconfig finished");
+ DBG_CC("Smartconfig finished");
#ifndef CC3000_UNENCRYPTED_SMART_CONFIG
// create new entry for AES encryption key
@@ -205,7 +205,7 @@
if (t.read_ms() > 10000){
ret = false;
- DBG_HCI("Connection to AP failed");
+ DBG_CC("Connection to AP failed");
break;
}
@@ -288,7 +288,7 @@
tcp_socket = _socket.socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (tcp_socket == -1) {
- DBG_HCI("Failed to create new socket (tcp)");
+ DBG_CC("Failed to create new socket (tcp)");
return cc3000_client(*this);
}
@@ -301,7 +301,7 @@
socket_address.data[5] = ip_address;
if (_socket.connect(tcp_socket, &socket_address, sizeof(socket_address)) == -1) {
- DBG_HCI("Failed to connect (tcp)");
+ DBG_CC("Failed to connect (tcp)");
_socket.closesocket(tcp_socket);
return cc3000_client(*this);
}
@@ -314,7 +314,7 @@
udp_socket = _socket.socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (udp_socket == -1) {
- DBG_HCI("Failed to create new socket (udp)");
+ DBG_CC("Failed to create new socket (udp)");
return cc3000_client(*this);
}
@@ -327,7 +327,7 @@
socket_address.data[5] = ip_address;
if (_socket.connect(udp_socket, &socket_address, sizeof(socket_address)) == -1) {
- DBG_HCI("Failed to connect (udp)");
+ DBG_CC("Failed to connect (udp)");
_socket.closesocket(udp_socket);
return cc3000_client(*this);
}
@@ -341,7 +341,7 @@
tcp_socket = _socket.socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (tcp_socket == -1) {
- DBG_HCI("Failed to create new socket.");
+ DBG_CC("Failed to create new socket.");
return cc3000_server(*this, socket_address);
}
@@ -354,11 +354,11 @@
socket_address.data[5] = ip_address;
if (_socket.bind(tcp_socket, &socket_address, sizeof(socket_address)) != 0) {
- DBG_HCI("Failed to bind the new socket");
+ DBG_CC("Failed to bind the new socket");
return cc3000_server(*this, socket_address);
}
if (_socket.listen(tcp_socket, 1) != 0) { /* 1 client */
- DBG_HCI("Failed to listen on the new socket");
+ DBG_CC("Failed to listen on the new socket");
return cc3000_server(*this, socket_address);
}
@@ -393,18 +393,18 @@
_ping_report.packets_received = 0;
if (_netapp.ping_send(&reversed_ip, attempts, size, timeout) == -1) {
- DBG_HCI("Failed to send ping");
+ DBG_CC("Failed to send ping");
return 0;
}
wait_ms(timeout*attempts*2);
/* known issue of cc3000 - sent number is send + received */
// TODO : Remove the Sent/recv'd counts until ti fix the firmware issue?
- DBG_HCI("Sent: %d \r\n",_ping_report.packets_sent);
- DBG_HCI("Received: %d \r\n",_ping_report.packets_received);
- DBG_HCI("Min time: %d \r\n",_ping_report.min_round_time);
- DBG_HCI("Max time: %d \r\n",_ping_report.max_round_time);
- DBG_HCI("Avg time: %d \r\n",_ping_report.avg_round_time);
+ DBG_CC("Sent: %d",_ping_report.packets_sent);
+ DBG_CC("Received: %d",_ping_report.packets_received);
+ DBG_CC("Min time: %d",_ping_report.min_round_time);
+ DBG_CC("Max time: %d",_ping_report.max_round_time);
+ DBG_CC("Avg time: %d",_ping_report.avg_round_time);
return _ping_report.packets_received;
}
--- a/cc3000.h Wed Oct 02 15:00:07 2013 +0000
+++ b/cc3000.h Wed Oct 02 15:26:41 2013 +0000
@@ -56,11 +56,19 @@
#define CC3000_DEBUG 1
#if CC3000_DEBUG == 1
+
+ // DBG_SOCKET, mbed socket specific debug messages
#define DBG_SOCKET(x, ...) std::printf("[CC3000 : SOCKET] "x"\r\n", ##__VA_ARGS__);
+
+ // DBG_HCI, prints a message for every recieved HCI event, quite a lot of debug
#define DBG_HCI(x, ...) std::printf("[CC3000 : HCI] "x"\r\n", ##__VA_ARGS__);
+
+ // DBG_CC, General cc3000 debug messages
+ #define DBG_CC(x, ...) std::printf("[CC3000] "x"\r\n", ##__VA_ARGS__);
#else
#define DBG_SOCKET(x, ...)
#define DBG_HCI(x, ...)
+ #define DBG(x, ...)
#endif
namespace mbed_cc3000 {
@@ -208,6 +216,7 @@
~cc3000_event();
void hci_unsol_handle_patch_request(uint8_t *event_hdr);
+ void hci_event_debug_print ( uint16_t hciEventNo );
uint8_t *hci_event_handler(void *ret_param, uint8_t *from, uint8_t *fromlen);
int32_t hci_unsol_event_handler(uint8_t *event_hdr);
int32_t hci_unsolicited_event_handler(void);
--- a/cc3000_event.cpp Wed Oct 02 15:00:07 2013 +0000
+++ b/cc3000_event.cpp Wed Oct 02 15:26:41 2013 +0000
@@ -44,6 +44,61 @@
namespace mbed_cc3000 {
+#if CC3000_DEBUG == 1
+const char *HCI_EVENT_STR[] =
+{
+ "Socket",
+ "Bind",
+ "Send",
+ "Recv",
+ "Accept",
+ "Listen",
+ "Connect",
+ "BSD Select",
+ "Set Socket Options",
+ "Get Socket Options",
+ "Close Socket",
+ "Unknown",
+ "Recv From",
+ "Write",
+ "Send To",
+ "Get Hostname",
+ "mDNS Advertise"
+};
+
+const char *HCI_NETAPP_STR[] =
+{
+ "DHCP",
+ "Ping Sent",
+ "Ping Report",
+ "Ping Stop",
+ "IP Config",
+ "ARP Flush",
+ "Unknown",
+ "Set Debug level",
+ "Set Timers"
+};
+
+// from 0-7
+const char *HCI_MISC_STR[] =
+{
+ "BASE - Error?",
+ "Connecting",
+ "Disconnect",
+ "Scan Param",
+ "Connect Policy",
+ "Add Profile",
+ "Del Profile",
+ "Get Scan Res",
+ "Event Mask",
+ "Status Req",
+ "Config Start",
+ "Config Stop",
+ "Config Set Prefix",
+ "Config Patch",
+};
+#endif
+
cc3000_event::cc3000_event(cc3000_simple_link &simplelink, cc3000_hci &hci, cc3000_spi &spi, cc3000 &cc3000)
: socket_active_status(SOCKET_STATUS_INIT_VAL), _simple_link(simplelink), _hci(hci), _spi(spi), _cc3000(cc3000) {
@@ -121,6 +176,28 @@
}
}
+void cc3000_event::hci_event_debug_print ( uint16_t hciEventNo )
+{
+#if CC3000_DEBUG == 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]);
+ }
+ else if ((hciEventNo > HCI_CMND_NETAPP_BASE) && ( hciEventNo <= HCI_NETAPP_SET_TIMERS))
+ {
+ DBG_HCI("Event Received : 0x%04X - %s", hciEventNo, HCI_NETAPP_STR[hciEventNo-HCI_NETAPP_DHCP]);
+ }
+ else if (hciEventNo < HCI_CMND_WLAN_CONFIGURE_PATCH+1)
+ {
+ DBG_HCI("Event Received : 0x%04X - %s", hciEventNo, HCI_MISC_STR[hciEventNo]);
+ }
+ else
+ {
+ DBG_HCI("Event Received : 0x%04X", hciEventNo);
+ }
+#endif
+}
+
uint8_t *cc3000_event::hci_event_handler(void *ret_param, uint8_t *from, uint8_t *fromlen) {
uint8_t *received_data, argument_size;
uint16_t length;
@@ -148,6 +225,8 @@
{
STREAM_TO_UINT8(received_data, HCI_DATA_LENGTH_OFFSET, length);
+ hci_event_debug_print( received_op_code );
+
switch(received_op_code)
{
case HCI_CMND_READ_BUFFER_SIZE:
