None
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:
Jack Berkhout
