diff --git a/BTD.cpp b/BTD.cpp index 85f72a3e..01b8fe11 100755 --- a/BTD.cpp +++ b/BTD.cpp @@ -25,19 +25,27 @@ const uint8_t BTD::BTD_DATAIN_PIPE = 2; const uint8_t BTD::BTD_DATAOUT_PIPE = 3; BTD::BTD(USB *p) : +connectToWii(false), +pairWithWii(false), pUsb(p), // Pointer to USB class instance - mandatory bAddress(0), // Device address - mandatory bNumEP(1), // If config descriptor needs to be parsed qNextPollTime(0), // Reset NextPollTime +pollInterval(0), bPollEnable(false) // Don't start polling before dongle is connected { - for (uint8_t i = 0; i < BTD_MAX_ENDPOINTS; i++) { + uint8_t i; + + for (i = 0; i < BTD_MAX_ENDPOINTS; i++) { epInfo[i].epAddr = 0; epInfo[i].maxPktSize = (i) ? 0 : 8; epInfo[i].epAttribs = 0; epInfo[i].bmNakPower = (i) ? USB_NAK_NOWAIT : USB_NAK_MAX_POWER; } + for(i = 0; i < BTD_NUMSERVICES; i++) + btService[i] = NULL; + if (pUsb) // register in USB subsystem pUsb->RegisterDeviceClass(this); //set devConfig[] entry } @@ -1235,4 +1243,4 @@ void BTD::setMoveBdaddr(uint8_t* bdaddr) { // bmRequest = Host to device (0x00) | Class (0x20) | Interface (0x01) = 0x21, bRequest = Set Report (0x09), Report ID (0x05), Report Type (Feature 0x03), interface (0x00), datalength, datalength, data) pUsb->ctrlReq(bAddress, epInfo[BTD_CONTROL_PIPE].epAddr, bmREQ_HID_OUT, HID_REQUEST_SET_REPORT, 0x05, 0x03, 0x00, 11, 11, buf, NULL); -} \ No newline at end of file +} diff --git a/SPP.cpp b/SPP.cpp index cfaf37f2..5eba1617 100644 --- a/SPP.cpp +++ b/SPP.cpp @@ -64,6 +64,7 @@ void SPP::Reset() { connected = false; RFCOMMConnected = false; SDPConnected = false; + waitForLastCommand = false; l2cap_sdp_state = L2CAP_SDP_WAIT; l2cap_rfcomm_state = L2CAP_RFCOMM_WAIT; l2cap_event_flag = 0; @@ -808,4 +809,4 @@ int SPP::read(void) { #endif } return output; -} \ No newline at end of file +}