Added mutex for multiple SPI devices on the same SPI bus
Fork of cc3000_hostdriver_mbedsocket by
Diff: cc3000.cpp
- Revision:
- 41:eb1999bd50fb
- Parent:
- 40:acb9324640c4
- Child:
- 42:bd2c631a031a
--- a/cc3000.cpp Sat Oct 12 20:51:05 2013 +0000
+++ b/cc3000.cpp Sat Oct 12 21:03:45 2013 +0000
@@ -133,12 +133,14 @@
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");
_status.smart_config_complete = 1;
_status.stop_smart_config = 1;
}
if (event_type == HCI_EVNT_WLAN_UNSOL_CONNECT)
{
+ DBG_CC("Callback : HCI_EVNT_WLAN_UNSOL_CONNECT");
_status.connected = 1;
// Connect message is always followed by a DHCP message, connection is not useable until then
_status.dhcp = 0;
@@ -146,6 +148,7 @@
if (event_type == HCI_EVNT_WLAN_UNSOL_DISCONNECT)
{
+ DBG_CC("Callback : HCI_EVNT_WLAN_UNSOL_DISCONNECT");
_status.connected = 0;
_status.dhcp = 0;
_status.dhcp_configured = 0;
@@ -153,35 +156,41 @@
if (event_type == HCI_EVNT_WLAN_UNSOL_DHCP)
{
- #ifdef CC3000_ETH_COMPAT
-
- inet_ntoa_r( htonl(*((uint32_t *)(&data[NETAPP_IPCONFIG_IP_OFFSET]))), ip_addr, 17);
- inet_ntoa_r( htonl(*((uint32_t *)(&data[NETAPP_IPCONFIG_GW_OFFSET]))), gateway, 17);
- inet_ntoa_r( htonl(*((uint32_t *)(&data[NETAPP_IPCONFIG_SUBNET_OFFSET]))), networkmask, 17);
- inet_ntoa_r( htonl(*((uint32_t *)(&data[NETAPP_IPCONFIG_MAC_OFFSET]))), mac_addr, 19);
-
- #endif
-
- if ( *(data + NETAPP_IPCONFIG_MAC_OFFSET) == 0) {
- _status.dhcp = 1;
- } else {
- _status.dhcp = 0;
- }
+ #ifdef CC3000_ETH_COMPAT
+
+ inet_ntoa_r( htonl(*((uint32_t *)(&data[NETAPP_IPCONFIG_IP_OFFSET]))), ip_addr, 17);
+ inet_ntoa_r( htonl(*((uint32_t *)(&data[NETAPP_IPCONFIG_GW_OFFSET]))), gateway, 17);
+ inet_ntoa_r( htonl(*((uint32_t *)(&data[NETAPP_IPCONFIG_SUBNET_OFFSET]))), networkmask, 17);
+ inet_ntoa_r( htonl(*((uint32_t *)(&data[NETAPP_IPCONFIG_MAC_OFFSET]))), mac_addr, 19);
+
+ #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 {
+ DBG_CC("Callback : HCI_EVNT_WLAN_UNSOL_DHCP - Disconnected");
+ _status.dhcp = 0;
+ }
}
if (event_type == HCI_EVENT_CC3000_CAN_SHUT_DOWN)
{
+ // Note this means the moudles is idle, so it could be shutdown..
+ //DBG_CC("Callback : HCI_EVENT_CC3000_CAN_SHUT_DOWN");
_status.ok_to_shut_down = 1;
}
if (event_type == HCI_EVNT_WLAN_ASYNC_PING_REPORT)
{
+ DBG_CC("Callback : HCI_EVNT_WLAN_ASYNC_PING_REPORT");
memcpy(&_ping_report, data, length);
}
if (event_type == HCI_EVNT_BSD_TCP_CLOSE_WAIT) {
uint8_t socketnum;
socketnum = data[0];
+ DBG_CC("Callback : HCI_EVNT_BSD_TCP_CLOSE_WAIT - Socket : %d", socketnum);
if (socketnum < MAX_SOCKETS) {
_closed_sockets[socketnum] = true; /* clients socket is closed */
}
