Forum Rule: Always post complete source code & details to reproduce any issue!
Page 32 of 34 FirstFirst ... 22 30 31 32 33 34 LastLast
Results 776 to 800 of 833

Thread: T3.6 USB Host - Bluetooth

  1. #776
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    12,350
    Okay read enough to be entertained by it being controlled by the DEGUG :: #define USBHOST_DEGUG_MEMORY_STREAM

    Sounds like a nice feature to stream spew/data that otherwise comes too fast to deal with in real time - but can't be missed, and a good use of the PSRAM!

  2. #777
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    5,585
    @KurtE
    Really cool stuff - see you been busy today.

  3. #778
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    5,585
    @KurtE
    Downloaded your latest debug branch and gave it a try with my PS4. Seeing a couple of things:
    1. If i press any button it looks like its trying to setLEDS, now this may be in the sketch, didn't check yet:
    Code:
    Joystick: buttons = 80000 0:129 1:125 2:131 3:0 4:0 5:130 6:0 7:0 8:0 9:0 10:6 11:24 12:14 13:181 14:255 15:217::setLEDS(0 0 0)
    2. I always seem to be able to connect with the PS4 but sometimes it connects as a PS4 where rumble and all mappings are working and other times its connecting as something else - only getting the basic mappings and rumble not working - generic bt-joystick ?

    Also I gave you debug a shot but when i hit 'D' its not printing data only little boxes to serial?

  4. #779
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    7,621
    @mjs513 - I assume your running this on a T4.1 with EXTRAM... As that is where I am storing the data.

    I am thinking about hacking this up some more and instead of assuming this, it will check this and if available allocate buffer up there. If not maybe call malloc for probably smaller buffer, depending if maybe T4.x can get maybe try for 256KB, if T3.6 either punt or see if maybe 64K or 128K...

    And it would be interesting on why at times it properly sees it as a PS4 and maybe other times not.

  5. #780
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    5,585
    Quote Originally Posted by KurtE View Post
    @mjs513 - I assume your running this on a T4.1 with EXTRAM... As that is where I am storing the data.

    I am thinking about hacking this up some more and instead of assuming this, it will check this and if available allocate buffer up there. If not maybe call malloc for probably smaller buffer, depending if maybe T4.x can get maybe try for 256KB, if T3.6 either punt or see if maybe 64K or 128K...

    And it would be interesting on why at times it properly sees it as a PS4 and maybe other times not.
    Oops no - just double checked and forgot i didn't solder the PSRAM on to the T41 I am using - just checked. Don't think I have enough space to solder it on now may give it a try though.

  6. #781
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    7,621
    @mjs513 I just pushed up a version that can probably work on T4, and on T4.1 without PSRAM.
    On T4.1 at startup the sketch checks for PSRAM and if not there it uses malloc of 256KB and uses that.

    Obviously catches less stuff. Note: I should put in more debug prints on serial monitor, but if you look, there are simple one letter commands that change the buffering to remember the first part of stuff captured (stops recording when full), or last part (when full it bumps the head index as well so loses data at the front...

  7. #782
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    5,585
    Quote Originally Posted by KurtE View Post
    @mjs513 I just pushed up a version that can probably work on T4, and on T4.1 without PSRAM.
    On T4.1 at startup the sketch checks for PSRAM and if not there it uses malloc of 256KB and uses that.

    Obviously catches less stuff. Note: I should put in more debug prints on serial monitor, but if you look, there are simple one letter commands that change the buffering to remember the first part of stuff captured (stops recording when full), or last part (when full it bumps the head index as well so loses data at the front...
    Ok that got it - works with no PSRAM only tested with a T4.1.

    And it would be interesting on why at times it properly sees it as a PS4 and maybe other times not.
    On initial connect it sees it all the time as a PS4. If i power off while its running and then power on and try and reconnect it sees it as something else after i connect again. Now it could be the PS4 is in a wacky state between disconnecting and reconnecting.

  8. #783
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    7,621
    Morning again,

    As mentioned on the: Joystick Thread, maybe this thread is more appropriate for discussing and maybe extending the Bluetooth support to handle the
    XBox One S controller and maybe some others devices that us SDP...


    So continuing here:

    May have to go back to try Wireshark again on Linux box...

    I did capture the communications on Arduino Mega/HostShield, using Logic Analyzer. Hopefully at some point soon they will add in some of the higher level anlyzers for USB, but did save report out:
    Which was a little over 71.5K lines of output.

    I then did the grep/sublime text editing like I mention in: https://forum.pjrc.com/threads/55457...l=1#post200761

    And now have 126 lines, which is a little easier to look through.

    I think the interesting data in this case starts around line 100:
    Code:
    IN	0x01	0x0D	0x0F 0x04 0x00 0x00 0x1C 0x04	0xD807
    IN	0x02	0x1E	0x48 0x20 0x0C 0x00 0x08 0x00 0x01 0x00 0x02 0x03 0x04 0x00 0x01 0x00 0x40 0x00	0x5668
    OUT	0x02	0x1E	0x48 0x20 0x10 0x00 0x0C 0x00 0x01 0x00 0x03 0x03 0x08 0x00 0x50 0x00 0x40 0x00 0x01 0x00 0x00 0x00	0x0E3E
    OUT	0x02	0x1E	0x48 0x20 0x10 0x00 0x0C 0x00 0x01 0x00 0x03 0x03 0x08 0x00 0x50 0x00 0x40 0x00 0x00 0x00 0x00 0x00	0xF23F
    OUT	0x02	0x1E	0x48 0x20 0x10 0x00 0x0C 0x00 0x01 0x00 0x04 0x04 0x08 0x00 0x40 0x00 0x00 0x00 0x01 0x02 0xFF 0xFF	0x0D7E
    IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05	0xACFF
    IN	0x01	0x0D	0x0F 0x04 0x00 0x01 0x00 0x00	0x1B5F
    IN	0x01	0x0D	0x23 0x0D 0x00 0x48 0x00 0x00 0x03 0xBF 0x3E 0x8D 0xFE 0xDB 0xFD 0x7B 0x87	0xFC4E
    SETUP	0x00	0x1B	0x20 0x00 0x00 0x00 0x00 0x00 0x05 0x00	0xBCBE

  9. #784
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    5,585
    Morning (i think)
    Yeah - what i liked about wire shark was that it gave you commands in english as opposed to hex as well and showed whether it was SDP, L2CAP along with DCIDs and SCIDS in the info field. Learn a little more each day

    Not sure how to translate what you are showing in RED.

  10. #785
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    7,621
    I completely understand! It helps to see the translations.

    The Three output lines are Two connection responses (On Pending, one Complete), followed by a request...
    I have some of this emulated now...
    Code:
    USB Host Testing
    
    960
    
    *** Device Bluet a12:1 - connected ***
      product: CSR8510 A10
      BDADDR: 11:71:da:7d:1a:0
    *** BTHID Device Joystick1 0:0 - connected ***
      Serial:  
    
     *** dump the USBHost Debug data ***
    
    USB2 PLL running
    
     reset waited 6
    
    USBHS_ASYNCLISTADDR = 0
    
    USBHS_PERIODICLISTBASE = 20008000
    
    periodictable = 20008000
    
    port change: 10001803
    
        connect
    
      begin reset
    
    port change: 10001805
    
      port enabled
    
      end recovery
    
    new_Device: 12 Mbit/sec
    
    new_Pipe
    
    enumeration:
    
    enumeration:
    
    enumeration:
    
    Device Descriptor:
    
      12 01 00 02 E0 01 01 40 12 0A 01 00 91 88 00 02 00 01 
    
        VendorID = 0A12, ProductID = 0001, Version = 8891
    
        Class/Subclass/Protocol = 224 / 1 / 1
    
        Number of Configurations = 1
    
    enumeration:
    
    enumeration:
    
    Product: CSR8510 A10
    
    enumeration:
    
    Config data length = 177
    
    enumeration:
    
    Configuration Descriptor:
    
      09 02 B1 00 02 01 00 E0 32 
    
        NumInterfaces = 2
    
        ConfigurationValue = 1
    
      09 04 00 00 03 E0 01 01 00 
    
        Interface = 0
    
        Number of endpoints = 3
    
        Class/Subclass/Protocol = 224 / 1 / 1
    
      07 05 81 03 10 00 01 
    
        Endpoint = 1 IN
    
        Type = Interrupt
    
        Max Size = 16
    
        Polling Interval = 1
    
      07 05 02 02 40 00 01 
    
        Endpoint = 2 OUT
    
        Type = Bulk
    
        Max Size = 64
    
        Polling Interval = 1
    
      07 05 82 02 40 00 01 
    
        Endpoint = 2 IN
    
        Type = Bulk
    
        Max Size = 64
    
        Polling Interval = 1
    
      09 04 01 00 02 E0 01 01 00 
    
        Interface = 1
    
        Number of endpoints = 2
    
        Class/Subclass/Protocol = 224 / 1 / 1
    
      07 05 03 01 00 00 01 
    
        Endpoint = 3 OUT
    
        Type = Isochronous
    
        Max Size = 0
    
        Polling Interval = 1
    
      07 05 83 01 00 00 01 
    
        Endpoint = 3 IN
    
        Type = Isochronous
    
        Max Size = 0
    
        Polling Interval = 1
    
      09 04 01 01 02 E0 01 01 00 
    
        Interface = 1
    
        Number of endpoints = 2
    
        Class/Subclass/Protocol = 224 / 1 / 1
    
      07 05 03 01 09 00 01 
    
        Endpoint = 3 OUT
    
        Type = Isochronous
    
        Max Size = 9
    
        Polling Interval = 1
    
      07 05 83 01 09 00 01 
    
        Endpoint = 3 IN
    
        Type = Isochronous
    
        Max Size = 9
    
        Polling Interval = 1
    
      09 04 01 02 02 E0 01 01 00 
    
        Interface = 1
    
        Number of endpoints = 2
    
        Class/Subclass/Protocol = 224 / 1 / 1
    
      07 05 03 01 11 00 01 
    
        Endpoint = 3 OUT
    
        Type = Isochronous
    
        Max Size = 17
    
        Polling Interval = 1
    
      07 05 83 01 11 00 01 
    
        Endpoint = 3 IN
    
        Type = Isochronous
    
        Max Size = 17
    
        Polling Interval = 1
    
      09 04 01 03 02 E0 01 01 00 
    
        Interface = 1
    
        Number of endpoints = 2
    
        Class/Subclass/Protocol = 224 / 1 / 1
    
      07 05 03 01 19 00 01 
    
        Endpoint = 3 OUT
    
        Type = Isochronous
    
        Max Size = 25
    
        Polling Interval = 1
    
      07 05 83 01 19 00 01 
    
        Endpoint = 3 IN
    
        Type = Isochronous
    
        Max Size = 25
    
        Polling Interval = 1
    
      09 04 01 04 02 E0 01 01 00 
    
        Interface = 1
    
        Number of endpoints = 2
    
        Class/Subclass/Protocol = 224 / 1 / 1
    
      07 05 03 01 21 00 01 
    
        Endpoint = 3 OUT
    
        Type = Isochronous
    
        Max Size = 33
    
        Polling Interval = 1
    
      07 05 83 01 21 00 01 
    
        Endpoint = 3 IN
    
        Type = Isochronous
    
        Max Size = 33
    
        Polling Interval = 1
    
      09 04 01 05 02 E0 01 01 00 
    
        Interface = 1
    
        Number of endpoints = 2
    
        Class/Subclass/Protocol = 224 / 1 / 1
    
      07 05 03 01 31 00 01 
    
        Endpoint = 3 OUT
    
        Type = Isochronous
    
        Max Size = 49
    
        Polling Interval = 1
    
      07 05 83 01 31 00 01 
    
        Endpoint = 3 IN
    
        Type = Isochronous
    
        Max Size = 49
    
        Polling Interval = 1
    
    enumeration:
    
    USBHub memory usage = 960
    
    USBHub claim_device this=20005AE0
    
    USBHub memory usage = 960
    
    USBHub claim_device this=20005EA0
    
    HIDParser claim this=20004200
    
    HIDParser claim this=20004820
    
    HIDParser claim this=20006300
    
    HIDParser claim this=20004E60
    
    HIDParser claim this=20005480
    
    JoystickController claim this=20007100
    
    BluetoothController claim this=200069E0
    
    BluetoothController claim this=200069e0 vid:pid=a12:1
        9 4 0 0 3 e0 1 1 0 7 5 81 3 10 0 1 7 5 2 2 40 0 1 7 5 82 2 40 0 1 9 4 1 0 2 e0 1 1 0 7 5 3 1 0 0 1 7 5 83 1 0 0 1 9 4 1 1 2 e0 1 1 0 7 5 
        3 1 9 0 1 7 5 83 1 9 0 1 9 4 1 2 2 e0 1 1 0 7 5 3 1 11 0 1 7 5 83 1 11 0 1 9 4 1 3 2 e0 1 1 0 7 5 3 1 19 0 1 7 5 83 1 19 0 1 9 4 1 4 2 e0 
        1 1 0 7 5 3 1 21 0 1 7 5 83 1 21 0 1 9 4 1 5 2 e0 1 1 0 7 5 3 1 31 0 1 7 5 83 1 31 0 1 
          rxep=1(16) txep=2(64) rx2ep=2(64)
    BluetoothController, rxep=1(16), txep=2(64)
    
    new_Pipe
    
    allocate_interrupt_pipe_bandwidth
    
     best_bandwidth = 3, at offset = 0, shift= 0
    
    new_Pipe
    
    allocate_interrupt_pipe_bandwidth
    
     best_bandwidth = 6, at offset = 0, shift= 1
    
    new_Pipe
    
    HCI_RESET called (03 0c 00 )
        control callback (bluetooth) 1
    
        Control callback (bluetooth): 1 : 3 c 0 
    0E 04 01 03 0C 00 
    
    BT rx_data(6): e 4 1 3 c 0 
        Command Completed! 
    HCI_WRITE_CLASS_OF_DEV called (24 0c 03 04 08 00 )
        control callback (bluetooth) 3
    
        Control callback (bluetooth): 3 : 24 c 3 4 8 0 
    0E 04 01 24 0C 00 
    
    BT rx_data(6): e 4 1 24 c 0 
        Command Completed! 
    HCI_Read_BD_ADDR called (09 10 00 )
        control callback (bluetooth) 4
    
        Control callback (bluetooth): 4 : 9 10 0 
    0E 0A 01 09 10 00 11 71 DA 7D 1A 00 
    
    BT rx_data(12): e a 1 9 10 0 11 71 da 7d 1a 0 
        Command Completed! 
       BD Addr 0:1a:7d:da:71:11
    HCI_Read_Local_Version_Information called (01 10 00 )
        control callback (bluetooth) 4
    
        Control callback (bluetooth): 4 : 1 10 0 
    0E 0C 01 01 10 00 06 BB 22 06 0A 00 BB 22 
    
    BT rx_data(14): e c 1 1 10 0 6 bb 22 6 a 0 bb 22 
        Command Completed! 
        Local Version: 6
    HCI_WRITE_INQUIRY_MODE called (45 0c 01 02 )
        control callback (bluetooth) 6
    
        Control callback (bluetooth): 6 : 45 c 1 2 
    0E 04 01 45 0C 00 
    
    BT rx_data(6): e 4 1 45 c 0 
        Command Completed! 
    HCI_Set_Event_Mask called (01 0c 08 ff ff ff ff ff 5f 00 00 )
        control callback (bluetooth) 7
    
        Control callback (bluetooth): 7 : 1 c 8 ff ff ff ff ff 5f 0 0 
    0E 04 01 01 0C 00 
    
    BT rx_data(6): e 4 1 1 c 0 
        Command Completed! 
    HCI_INQUIRY called (01 04 05 33 8b 9e 30 0a )
        control callback (bluetooth) 8
    
        Control callback (bluetooth): 8 : 1 4 5 33 8b 9e 30 a 
    0F 04 00 01 01 04 
    
    BT rx_data(6): f 4 0 1 1 4 
        Command 401 Status 0
    2F FF 01 DC 13 D6 1B AA 9C 01 02 08 05 00 08 5A 
    
    BT rx_data(16): 2f ff 1 dc 13 d6 1b aa 9c 1 2 8 5 0 8 5a 
    A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): a0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    
    BT rx_data(16): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    00 
    
    BT rx_data(1): 0 
        Extended Inquiry Result - Count: 1
          BD:dc:13:d6:1b:aa:9c, PS:1, class: 508
          Peripheral device
            Gamepad
    BluetoothController::find_driver  driver 20007118
    JoystickController::claim_bluetooth TRUE
        *** Claimed ***
    HCI_INQUIRY_CANCEL called (02 04 00 )
        control callback (bluetooth) 64
    
        Control callback (bluetooth): 100 : 2 4 0 
    0E 04 01 02 04 00 
    
    BT rx_data(6): e 4 1 2 4 0 
        Command Completed! 
    HCI_CREATE_CONNECTION called (05 04 0d dc 13 d6 1b aa 9c 18 cc 01 00 00 00 00 )
        control callback (bluetooth) 65
    
        Control callback (bluetooth): 101 : 5 4 d dc 13 d6 1b aa 9c 18 cc 1 0 0 0 0 
    0F 04 00 01 05 04 
    
    BT rx_data(6): f 4 0 1 5 4 
        Command 405 Status 0
    03 0B 00 48 00 DC 13 D6 1B AA 9C 01 00 
    
    BT rx_data(13): 3 b 0 48 0 dc 13 d6 1b aa 9c 1 0 
        Connection Complete - ST:0 LH:48
    HCI_AUTH_REQUESTED called (11 04 02 48 00 )
        control callback (bluetooth) 6E
    
        Control callback (bluetooth): 110 : 11 4 2 48 0 
    0F 04 00 00 11 04 
    
    BT rx_data(6): f 4 0 0 11 4 
        Command 411 Status 0
    
    =====================
    BT rx2_data(16): 48 20 c 0 8 0 1 0 2 1 4 0 1 0 40 0 
        L2CAP Connection Request: ID: 1, PSM: 1, SCID: 40
    L2CAP_CMD_CONNECTION_RESPONSE called(48 20 10 00 0c 00 01 00 03 01 08 00 50 00 40 00 01 00 00 00 )
        tx_data(bluetooth) 6E
    
    tx_data callback (bluetooth): 205 : 48 20 10 0 c 0 1 0 3 1 8 0 50 0 40 0 1 0 0 0 
    L2CAP_CMD_CONNECTION_RESPONSE called(48 20 10 00 0c 00 01 00 03 01 08 00 50 00 40 00 00 00 00 00 )
        tx_data(bluetooth) 6E
    
    tx_data callback (bluetooth): 206 : 48 20 10 0 c 0 1 0 3 1 8 0 50 0 40 0 0 0 0 0 
    L2CAP_ConfigRequest called(48 20 10 00 0c 00 01 00 04 02 08 00 40 00 00 00 01 02 ff ff )
        tx_data(bluetooth) 6E
    
    tx_data callback (bluetooth): 0 : 48 20 10 0 c 0 1 0 4 2 8 0 40 0 0 0 1 2 ff ff 
    1B 03 48 00 05 
    
    BT rx_data(5): 1b 3 48 0 5 
    17 06 DC 13 D6 1B AA 9C 
    
    BT rx_data(8): 17 6 dc 13 d6 1b aa 9c 
        Event: Link Key Request dc:13:d6:1b:aa:9c
    HCI_LINK_KEY_NEG_REPLY called (0c 04 06 dc 13 d6 1b aa 9c )
    0F 04 00 01 00 00 
    
    BT rx_data(6): f 4 0 1 0 0 
        Command 0 Status 0
        control callback (bluetooth) 78
    
        Control callback (bluetooth): 120 : c 4 6 dc 13 d6 1b aa 9c 
    0E 0A 01 0C 04 00 DC 13 D6 1B AA 9C 
    
    BT rx_data(12): e a 1 c 4 0 dc 13 d6 1b aa 9c 
        Command Completed! 
    16 06 DC 13 D6 1B AA 9C 
    
    BT rx_data(8): 16 6 dc 13 d6 1b aa 9c 
        Event: Pin Code Request dc:13:d6:1b:aa:9c
    HCI_PIN_CODE_REPLY called (0d 04 17 dc 13 d6 1b aa 9c 04 30 30 30 30 00 00 00 00 00 00 00 00 00 00 00 00 )
    13 05 01 48 00 01 00 
    
    BT rx_data(7): 13 5 1 48 0 1 0 
        control callback (bluetooth) 82
    
        Control callback (bluetooth): 130 : d 4 17 dc 13 d6 1b aa 9c 4 30 30 30 30 0 0 0 0 0 0 0 0 0 0 0 0 
    
    =====================
    BT rx2_data(20): 48 20 10 0 c 0 1 0 4 2 8 0 50 0 0 0 1 2 c8 5 
        L2CAP config Request: ID: 2, Dest:50, Flags:0,  Options: 1 2 c8 5
    13 05 01 48 00 01 00 
    
    BT rx_data(7): 13 5 1 48 0 1 0 
    
    =====================
    BT rx2_data(18): 48 20 e 0 a 0 1 0 5 2 6 0 50 0 0 0 0 0 
        L2CAP config Response: ID: 2, Source:50, Flags:0, Result:0, Config: 5c8
    0E 0A 01 0D 04 00 DC 13 D6 1B AA 9C 
    
    BT rx_data(12): e a 1 d 4 0 dc 13 d6 1b aa 9c 
        Command Completed! 
    13 05 01 48 00 01 00 
    
    BT rx_data(7): 13 5 1 48 0 1 0 
    
     *** dump the USBHost Debug data ***
    
    06 03 06 48 00 
    
    BT rx_data(5): 6 3 6 48 0 
        Event: HCI Authentication complete(6): handle: 48
    ConnectionRequest called(48 20 0c 00 08 00 01 00 02 00 04 00 11 00 70 00 )
        tx_data(bluetooth) 82
    
    tx_data callback (bluetooth): 0 : 48 20 c 0 8 0 1 0 2 0 4 0 11 0 70 0 
    13 05 01 48 00 01 00 
    
    BT rx_data(7): 13 5 1 48 0 1 0 
    
    =====================
    BT rx2_data(20): 48 20 10 0 c 0 1 0 3 0 8 0 40 0 70 0 3 0 0 0 
        L2CAP Connection Response: ID: 0, Dest:40, Source:70, Result:3, Status: 0
          Control Response
    L2CAP_ConfigRequest called(48 20 10 00 0c 00 01 00 04 00 08 00 40 00 00 00 01 02 ff ff )
        tx_data(bluetooth) 82
    
    tx_data callback (bluetooth): 0 : 48 20 10 0 c 0 1 0 4 0 8 0 40 0 0 0 1 2 ff ff 
    
    =====================
    BT rx2_data(18): 48 20 e 0 a 0 1 0 1 0 6 0 2 0 40 0 0 0 
        L2CAP command reject: ID: 0, length:6, Reason:2,  Data: 0 40 
    13 05 01 48 00 01 00 
    
    BT rx_data(7): 13 5 1 48 0 1 0 
    
     *** dump the USBHost Debug data ***
    I am doing this using my save debug data to memory PSRAM branch. You can see where I did three dump commands. So the 2nd one shows where it sort of hung up (no more data) for awhile, which usually I am missing processing something and/or asking for something

    EDIT: Forgot to mention in the output data, the original line showing different type connection in RED, the three lines I was not outputting is in green

  11. #786
    Junior Member
    Join Date
    Jul 2020
    Posts
    6
    Hey Kurt, just started using the USBHost_t36 library (master) and noticed that your bluetooth contributions are quite significant. I'm using a CSR 4.0 dongle with a PS4BT controller and found that it's a bit unreliable compared to the USBHostShield library.
    I usually have to press the PS button many times until it connects, and if I turn the controller off and on, it never connects again. Sorry if this was already addressed in a previous post, I didn't read the 32 pages, but I read many of them .

    I'd like to debug the issue and maybe contribute with a fix, any tips on where to start? (I have a logic analyzer if that helps)

    Here is the dump from the JoystickBT example.
    Code:
    USB Host Testing
    
    960
    
    *** Device Bluet a12:1 - connected ***
      product: CSR8510 A10
      BDADDR: 13:71:da:7d:1a:0
    BluetoothController::find_driver  driver 20004b78
        *** Claimed ***
    *** BTHID Device Joystick1 0:0 - connected ***
      Serial: �
    Bluetooth Disconnect*** BTHID Device Joystick1 - disconnected ***
    *** Device Bluet - disconnected ***
    *** Device Bluet a12:1 - connected ***
      product: CSR8510 A10
      BDADDR: 13:71:da:7d:1a:0

  12. #787
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    7,621
    Hi @arielbernal - It would be great to get additional help on trying to figure out why sometimes the PS4 connects and other times not.

    If you have looked at this thread, you will see I have a couple of WIP branches for Bluetooth stuff.

    Probably the most up to date (without my later tinkering is the BT-Multi-merge up on github (KurtE)

    The one with more tinkering where I am using some T4.1 with the possibility of more memory PSRAM to help figure this out plus trying to figure out XBox One is
    BT-Multi-Merge-Debug

    With this debug branch I am trying to write all of the Debug Outputs to Ram instead of Serial as the timing changes when debug is being output to Serial was such that PS4 almost always worked. Even when writing to memory it works a lot of the time.

    There are things that allow more debug information to be output, including:
    in USBHost_t36 is a define that is usually commented out: #define USBHOST_PRINT_DEBUG

    In the above debug branch there is the code for memory stream as well...

    Then in bluetooth.cpp there are some defines to print out Bluetooth specific things. by the two defines:
    #define DEBUG_BT
    #define DEBUG_BT_VERBOSE

    And likewise in joystick.cpp is another define:
    #define DEBUG_JOYSTICK

    Again in most releases these are all commented out.

    Logic Analyzers can help: I use my logic 8 Pro from Saleae to capture USB traffic. But this can be huge. If you look up a few posts you will see a link to another thread, where I then use linux grep and text editor to cut the output down to manageable size, but it is raw data being sent to and from the device. It is a lot easier with the debug output to hopefully make sense of the actual data.

    Again it would be great to have another set of eyes and the like to figure this out.

    Kurt

  13. #788
    Junior Member
    Join Date
    Jul 2020
    Posts
    6
    Thank you for the tips, I just started debugging the problem. I got to the point where I can get it to fail 90% of the time. After the PS4 connects the application just hangs and doesn't get back to the main loop.
    I started by adding printf statements as you did but at the beginning and end of every function of the BluetoothController class to find the issue. So I got a tabulated list like this one

    Code:
    BluetoothController::claim 
        BluetoothController::sendResetHCI 
            BluetoothController::sendHCICommand 
            BluetoothController::sendHCICommand End 
        BluetoothController::sendResetHCI End 
    BluetoothController::claim End 
    BluetoothController::control 
    BluetoothController::control End 
    BluetoothController::rx_callback 
        BluetoothController::rx_data 
            BluetoothController::handle_hci_command_complete 
                BluetoothController::queue_next_hci_command 
                    BluetoothController::sendHDCWriteClassOfDev 
                        BluetoothController::sendHCICommand 
                        BluetoothController::sendHCICommand End 
                    BluetoothController::sendHDCWriteClassOfDev End 
                BluetoothController::queue_next_hci_command End 
            BluetoothController::handle_hci_command_complete End 
        BluetoothController::rx_data End 
    BluetoothController::rx_callback End 
    BluetoothController::control 
    BluetoothController::control End 
    ...
    BluetoothController::rx2_callback 
        BluetoothController::rx2_data 
        BluetoothController::rx2_data End 
    BluetoothController::rx2_callback End 
    BluetoothController::rx2_callback 
        BluetoothController::rx2_data 
            BluetoothController::handleHIDTHDRData 
            BluetoothController::handleHIDTHDRData End 
        BluetoothController::rx2_data End 
    BluetoothController::rx2_callback End
    As you can see every call matches a return so it seems that it doesn't get stuck in any of the BluetoothController functions.

  14. #789
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    7,621
    Thanks,

    What may be interesting is to see if we can deduce some order of messages or the like. Example are we properly detecting it is a PS4. I will get back to looking at this soon, but been sort of distracted. But would like to get back to this. On my own project the PS3 is currently more reliable but I like the PS4 a lot better.

    But will probably next again try to figure out XBox One. (Or punt on it)

  15. #790
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    12,350
    Wondering if anything still running on the hang? Could be faulted - GDB may work to show that - or just stops hitting loop - but an interval timer _isr to pinToggle(13) - might show it still alive. I have seen loop() fail in some context - but the _isr() still was running {testing then was with a pin change interrupt}. Seeing the LED blink (or not) would be telling as a first step.

  16. #791
    Junior Member
    Join Date
    Jul 2020
    Posts
    6
    Thank you @defragster. I just attached a timer interruption to the built_in_led and worked fine until I reconnected the controller then it hangs. The programming port gets disconnected too, so I have to reboot the teensy to get the usb port back. I wish I have GDB set it up in my dev system, I'm using printf statements to debug. When the PS4 connects, it does detect it as a Joystick PS4 but the manufacture and serial values are random chars.
    Even though the teensy hangs the PS4 is still connected (led on) and the CSR4 led is blinking like there's some traffic. I'll try to attach the logic analyzer to see if there's any communication from the BT.

  17. #792
    Junior Member
    Join Date
    Jul 2020
    Posts
    6
    These are the last calls to the USBHost class member functions before it hangs and it doesn't get stuck there either
    Code:
    USBHost::isr BEG
      USBHost::followup_Transfer BEG
        USBHost::queue_Data_Transfer BEG
          init_qTD BEG
          init_qTD END
        USBHost::queue_Data_Transfer END
        USBHost::queue_Transfer BEG
          add_to_periodic_followup_list BEG
          add_to_periodic_followup_list END
        USBHost::queue_Transfer END
        USBHost::queue_Data_Transfer BEG
          init_qTD BEG
          init_qTD END
        USBHost::queue_Data_Transfer END
        USBHost::queue_Transfer BEG
        USBHost::queue_Transfer END
      USBHost::followup_Transfer END
      remove_from_async_followup_list BEG
      remove_from_async_followup_list END
      USBHost::followup_Transfer BEG
      USBHost::followup_Transfer END
      USBHost::followup_Transfer BEG
        USBHost::queue_Data_Transfer BEG
          init_qTD BEG
          init_qTD END
        USBHost::queue_Data_Transfer END
        USBHost::queue_Transfer BEG
          add_to_periodic_followup_list BEG
          add_to_periodic_followup_list END
        USBHost::queue_Transfer END
      USBHost::followup_Transfer END
      remove_from_periodic_followup_list BEG
      remove_from_periodic_followup_list END
      USBHost::followup_Transfer BEG
      USBHost::followup_Transfer END
      USBHost::followup_Transfer BEG
      USBHost::followup_Transfer END
    USBHost::isr END

  18. #793
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    12,350
    If this is Windows it is easy to get GDB started - it is already in the installed files of IDE/TeensyDuino.

    It was added as an option using github.com/Defragster/Tset/

    The GDB thread also has an installer for the IDE that just hooks up the paths as needed - though not tried it - others have. That also works for non-windows. But depending on USB type in use it may not configure 'normally' needing "Dual Serial".

    The LED Blink would stop with a Fault - as would the USB. So doing that might allow seeing info about where the code was when it faulted.

  19. #794
    Junior Member
    Join Date
    Jul 2020
    Posts
    6
    I almost succeeded at using GDB, unfortunately some TyCommander QT dependencies didn't like my dev configuration. I'll keep working on getting the debugging capabilities since it's quite a challenge to debug with printf statements. I added the following debugging class to help me tracking the calls (so far interruptions haven't messed up the indentation).
    I can't believe that std::string is fully supported (probably performance is not great)
    Code:
    class debugPrint {
    public:
    	static debugPrint& getInstance() {
                    static debugPrint instance;
        	        return instance;
      	}
    	static void begin(const std::string& x) {
    		Serial.printf("%s BEG\n", (getInstance().str + x).c_str()); 
    		getInstance().str += "  ";
    	}
    	static void end(const std::string& x) {
     		getInstance().str.pop_back(); 
    		getInstance().str.pop_back();
    		Serial.printf("%s END\n", (getInstance().str + x).c_str());
    	}
    private:
           std::string str = "";
           debugPrint() = default;
           ~debugPrint() = default;
           debugPrint(const debugPrint&) = delete;
           debugPrint& operator=(const debugPrint&) = delete;	
    };

  20. #795
    Junior Member
    Join Date
    Jul 2020
    Posts
    6
    I just found that if I disable UpdateActiveDeviceInfo() in JoystickBT.ino I cannot reproduce the hang anymore. Which is weird since there is not much going on in that function.
    I noticed it that there is some subtyping between JoystickController and BTHIDInput, and that the following evaluation
    Code:
    if(*bthiddrivers[i] != bthid_driver_active[i])
    calls the BTHIDInput::bool operator instead of JoystickController::bool since is overwritten because there is no virtual modifier. I still need to check whether this is an issue or not. It seems odd that the teensy would crash here since I haven't seen any pointer misuse.

    Still about 10-20% of time it fails to connect but it does after retrying, and it doesn't hang after reconnecting either.

  21. #796
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    7,621
    @mjs513 and ...

    As mentioned in the thread: https://forum.pjrc.com/threads/62712...ne-controllers

    Some one has made a version of the USB Host Shield 2 code that talks to XBox One controllers.

    So I cloned it down and built it.

    So far I have not gotten any Teensy to work use the Host shields I have... But one works with Arduino Mega... I did today order one of the Sparkfun ones and will try that one with Teensy.

    I have been able to get a XBox One to talk using this.

    I turned on a lot of the debug stuff in the library. There are probably more secrets on how to turn on more .

    Debug Output:
    Code:
    Start
    XBOX Bluetooth Library Started
    
    BTDSSP ConfigureDevice
    BTDSSP Init
    Addr: 0A
    Bluetooth Dongle Initialized
    EV_CONNECTION_REQUEST
    Class of device: 00 05 08
    ...
    EV_CONNECTION_REQUEST
    Class of device: 00 05 08
    Gamepad is connecting
    EV_CONNECTION_REQUEST
    Class of device: 00 05 08
    Gamepad is connecting
    No response to HCI Reset
    HCI Reset complete
    Write class of device
    Simple pairing was enabled
    Set Event Mask
    HCI_CHECK_DEVICE_SERVICE
    pairWithHIDDevice = 01
    Please enable discovery of your device.
    Number of responses: 1
    Class of device: 00 05 08
    Gamepad found
    BD_ADDR: C8:3F:26:B3:AC:16
    HID device found
    Remote Name: Xbox Wireless Controller
    Connecting to HID device
    EV_CONNECTION_COMPLETE:Connection established
    Connected to HID device
    EV_LINK_KEY_REQUEST 
    pairWithHIDDevice = 01
    EEPROM.read Link Key: 
    hci_link_key_request_reply
    EV_AUTHENTICATION_COMPLETE
    Pairing successful with HID device
    pairWithHIDDevice:01
    connectToHIDDevice:01
    Send HID Control Connection Request
    EV_Encryption Changed
    EV_Encryption Changed
    EV_Encryption Changed
    Send HID Control Config Request
    Set protocol mode: 01
    Send HID Interrupt Connection Request
    Send HID Interrupt Config Request
    HID Channels Established
    L2CAP Interrupt: A1 01 29 7F 58 7D 24 84 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 7D58   Z1: 8424  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F 58 7D 24 84 85 86 00 00 00 00 00 00 00 
    L2CAP Interrupt: A1 01 29 7F A8 7D 24 84 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 7DA8   Z1: 8424  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F 0D 7E 24 84 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 7E0D   Z1: 8424  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F 7E 7F 24 84 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 7F7E   Z1: 8424  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F D4 80 24 84 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 80D4   Z1: 8424  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F E5 81 24 84 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 81E5   Z1: 8424  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F BF 82 24 84 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 82BF   Z1: 8424  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F 69 83 24 84 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 8369   Z1: 8424  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F1 83 24 84 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 83F1   Z1: 8424  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F 53 84 24 84 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 8453   Z1: 8424  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F 9B 84 24 84 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 849B   Z1: 8424  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 24 84 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 8424  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 A3 83 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 83A3  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 A5 82 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 82A5  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 C9 80 85 86 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 80C9  Z2: 8685   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 C1 7C 41 87 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 7CC1  Z2: 8741   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 D1 5A 0C 89 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 5AD1  Z2: 890C   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 8C 56 20 8B 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 568C  Z2: 8B20   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 2D 32 04 8D 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 322D  Z2: 8D04   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 A6 2F 81 8E 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 2FA6  Z2: 8E81   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 C5 2A B3 8F 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 2AC5  Z2: 8FB3   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 4F 09 A2 90 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 094F  Z2: 90A2   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 60 91 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 9160   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 ED 91 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 91ED   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 4C 92 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 924C   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 87 92 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 9287   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 14 92 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 9214   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 B8 91 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 91B8   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 3C 91 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 913C   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 BB 90 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 90BB   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 4F 90 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 904F   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 52 8F 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 8F52   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 25 8E 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 8E25   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 F5 8C 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 8CF5   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 DB 8B 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 8BDB   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 C4 8A 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 8AC4   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 B8 89 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 89B8   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 D1 88 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 88D1   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 DE 87 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 87DE   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 CB 86 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 86CB   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 C6 85 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 85C6   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 A5 84 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 84A5   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 EE 82 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 82EE   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 FF 80 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 80FF   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 01 7F 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 7F01   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 1D 7D 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 7D1D   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 2D 7B 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 7B2D   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 66 79 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 7966   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 D8 77 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 77D8   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 78 76 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 7678   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 58 75 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 7558   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 55 74 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 7455   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 6A 73 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 736A   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 8B 72 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 728B   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 88 71 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 7188   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 90 70 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 7090   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 A6 6F 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 6FA6   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 00 B2 6E 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0000  Z2: 6EB2   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 74 00 8D 6D 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 0074  Z2: 6D8D   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 EE 01 74 6C 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 01EE  Z2: 6C74   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 BD 04 8E 6B 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 04BD  Z2: 6B8E   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 EB 08 D7 6A 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 08EB  Z2: 6AD7   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 31 23 48 6A 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 2331  Z2: 6A48   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 18 25 E9 69 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 2518  Z2: 69E9   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 0B 29 E9 69 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 290B  Z2: 69E9   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 68 2D E9 69 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 2D68  Z2: 69E9   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 4A 31 38 6A 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 314A  Z2: 6A38   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 7B 34 89 6A 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 347B  Z2: 6A89   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 2C 37 D5 6A 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 372C  Z2: 6AD5   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 71 39 22 6B 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 3971  Z2: 6B22   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 4D 3B 8E 6B 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 3B4D  Z2: 6B8E   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 D0 3C 01 6C 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 3CD0  Z2: 6C01   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 3F 3F 1B 6D 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 3F3F  Z2: 6D1B   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 33 5D 28 6F 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 5D33  Z2: 6F28   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 B1 61 BC 72 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 61B1  Z2: 72BC   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 48 66 D1 75 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 6648  Z2: 75D1   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 00 6A 55 78 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 6A00  Z2: 7855   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 F4 6C 5C 7A 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 6CF4  Z2: 7A5C   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 7A 6F 03 7C 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 6F7A  Z2: 7C03   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 7E 71 55 7D 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 717E  Z2: 7D55   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 22 73 68 7E 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 7322  Z2: 7E68   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 77 74 3E 7F 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 7477  Z2: 7F3E   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 8D 75 F0 7F 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 758D  Z2: 7FF0   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 72 76 7E 80 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 7672  Z2: 807E   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 BD 77 44 81 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 77BD  Z2: 8144   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 38 78 8D 81 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 7838  Z2: 818D   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 A0 78 C9 81 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 78A0  Z2: 81C9   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 2C 79 1D 82 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 792C  Z2: 821D   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 A0 79 1D 82 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 79A0  Z2: 821D   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 A0 79 60 82 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 79A0  Z2: 8260   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 14 7A 60 82 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 7A14  Z2: 8260   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 6B 7A 60 82 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 7A6B  Z2: 8260   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 6B 7A 9B 82 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 7A6B  Z2: 829B   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F F2 84 C4 7A 9B 82 00 00 00 00 00 00 00    X: 7F29  Y: 84F2   Z1: 7AC4  Z2: 829B   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 01 29 7F 9B 84 C4 7A 9B 82 00 00 00 00 00 00 00    X: 7F29  Y: 849B   Z1: 7AC4  Z2: 829B   LT: 0000   RT: 0000
    
    HCI_DONE_STATE: >>> HCI_DISCONNECT_STATE:
    L2CAP Interrupt: A1 01 29 7F 44 84 C4 7A 9B 82 00 00 00 00 00 00 00    X: 7F29  Y: 8444   Z1: 7AC4  Z2: 829B   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F EA 83 C4 7A 9B 82 00 00 00 00 00 00 00    X: 7F29  Y: 83EA   Z1: 7AC4  Z2: 829B   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 01 29 7F 8F 83 C4 7A 9B 82 00 00 00 00 00 00 00    X: 7F29  Y: 838F   Z1: 7AC4  Z2: 829B   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 01 29 7F 8F 83 1C 7B 9B 82 00 00 00 00 00 00 00    X: 7F29  Y: 838F   Z1: 7B1C  Z2: 829B   LT: 0000   RT: 0000
    
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 87 
    Unknown Report type: 04
    L2CAP Interrupt: A1 04 07 
    Unknown Report type: 04
    EV_DISCONNECTION_COMPLETE:
    hci_check_flag HCI_FLAG_DISCONNECT_COMPLETE
    HCI_DISCONNECT_STATE: >>> HCI_DISCONNECTED_STATE:
    EV_DISCONNECTION_COMPLETE:
    HCI Disconnected from Device
    HCI_DISCONNECTED_STATE: >>> HCI_SCANNING_STATE:
    HCI_SCANNING_STATE:
    connectToHIDDevice:00
    pairWithHIDDevice:00
    Wait For Incoming Connection Request
    Inquiry Scan disabled. Page Scan enabled.
    I also did a Logic Analyzer capture of this one and then output report and then used, grep and Sublimetext regular expression stuff to knock the data more down to size... Which looks like:

    Code:
    Column1	Column2	Column3	Column4	Column5
    7.15195892	SETUP	0x00	0x16	0xA3 0x00 0x00 0x00 0x02 0x00 0x04 0x00
    7.152385572	OUT	0x00	0x16	0x0000
    7.152512272	SETUP	0x00	0x16	0x23 0x01 0x14 0x00 0x02 0x00 0x00 0x00
    7.15295836	SETUP	0x00	0x16	0x23 0x01 0x10 0x00 0x02 0x00 0x00 0x00
    7.173362842	SETUP	0x00	0x02	0x80 0x06 0x00 0x01 0x00 0x00 0x12 0x00
    7.174425796	IN	0x00	0x02	0x12 0x01 0x00 0x02 0xE0 0x01 0x01 0x40 0x12 0x0A 0x01 0x00 0x91 0x88 0x00 0x02 0x00 0x01
    7.17456166	OUT	0x00	0x02	0x0000
    7.174956566	SETUP	0x00	0x02	0x80 0x06 0x00 0x01 0x00 0x00 0x12 0x00
    7.175743336	IN	0x00	0x02	0x12 0x01 0x00 0x02 0xE0 0x01 0x01 0x40 0x12 0x0A 0x01 0x00 0x91 0x88 0x00 0x02 0x00 0x01
    7.175956484	OUT	0x00	0x02	0x0000
    7.476206442	SETUP	0x00	0x02	0x00 0x05 0x0A 0x00 0x00 0x00 0x00 0x00
    7.47641357	IN	0x00	0x02	0x0000
    7.776634066	SETUP	0x00	0x1B	0x80 0x06 0x00 0x02 0x00 0x00 0x09 0x00
    7.777506204	IN	0x00	0x1B	0x09 0x02 0xB1 0x00 0x02 0x01 0x00 0xE0 0x32
    7.77761757	OUT	0x00	0x1B	0x0000
    7.777740332	SETUP	0x00	0x1B	0x80 0x06 0x00 0x02 0x00 0x00 0xB1 0x00
    7.7786268	IN	0x00	0x1B	0x09 0x02 0xB1 0x00 0x02 0x01 0x00 0xE0 0x32 0x09 0x04 0x00 0x00 0x03 0xE0 0x01 0x01 0x00 0x07 0x05 0x81 0x03 0x10 0x00 0x01 0x07 0x05 0x02 0x02 0x40 0x00 0x01 0x07 0x05 0x82 0x02 0x40 0x00 0x01 0x09 0x04 0x01 0x00 0x02 0xE0 0x01 0x01 0x00 0x07 0x05 0x03 0x01 0x00 0x00 0x01 0x07 0x05 0x83 0x01 0x00 0x00 0x01 0x09 0x04
    7.779329118	IN	0x00	0x1B	0x01 0x01 0x02 0xE0 0x01 0x01 0x00 0x07 0x05 0x03 0x01 0x09 0x00 0x01 0x07 0x05 0x83 0x01 0x09 0x00 0x01 0x09 0x04 0x01 0x02 0x02 0xE0 0x01 0x01 0x00 0x07 0x05 0x03 0x01 0x11 0x00 0x01 0x07 0x05 0x83 0x01 0x11 0x00 0x01 0x09 0x04 0x01 0x03 0x02 0xE0 0x01 0x01 0x00 0x07 0x05 0x03 0x01 0x19 0x00 0x01 0x07 0x05 0x83 0x01
    7.780016312	IN	0x00	0x1B	0x19 0x00 0x01 0x09 0x04 0x01 0x04 0x02 0xE0 0x01 0x01 0x00 0x07 0x05 0x03 0x01 0x21 0x00 0x01 0x07 0x05 0x83 0x01 0x21 0x00 0x01 0x09 0x04 0x01 0x05 0x02 0xE0 0x01 0x01 0x00 0x07 0x05 0x03 0x01 0x31 0x00 0x01 0x07 0x05 0x83 0x01 0x31 0x00 0x01
    7.780555018	OUT	0x00	0x1B	0x0000
    7.780687528	SETUP	0x00	0x1B	0x00 0x09 0x01 0x00 0x00 0x00 0x00 0x00
    7.78140849	IN	0x00	0x1B	0x0000
    7.781907012	SETUP	0x00	0x16	0xA3 0x00 0x00 0x00 0x01 0x00 0x04 0x00
    7.782337624	OUT	0x00	0x16	0x0000
    7.782471238	SETUP	0x00	0x16	0xA3 0x00 0x00 0x00 0x02 0x00 0x04 0x00
    7.78301938	OUT	0x00	0x16	0x0000
    7.783152952	SETUP	0x00	0x16	0xA3 0x00 0x00 0x00 0x03 0x00 0x04 0x00
    7.783582042	OUT	0x00	0x16	0x0000
    7.783723802	SETUP	0x00	0x16	0xA3 0x00 0x00 0x00 0x04 0x00 0x04 0x00
    7.784262216	OUT	0x00	0x16	0x0000
    7.78438983	IN	0x01	0x0D	0x04 0x0A 0x16 0xAC 0xB3 0x26 0x3F 0xC8 0x08 0x05 0x00 0x01
    8.405856132	SETUP	0x00	0x1B	0x20 0x00 0x00 0x00 0x00 0x00 0x03 0x00
    8.405954228	OUT	0x00	0x1B	0x03 0x0C 0x00
    8.406534348	IN	0x00	0x1B	0x0000
    8.527052244	IN	0x01	0x0D	0x0E 0x04 0x01 0x03 0x0C 0x00
    9.53389705	SETUP	0x00	0x1B	0x20 0x00 0x00 0x00 0x00 0x00 0x03 0x00
    9.533988646	OUT	0x00	0x1B	0x03 0x0C 0x00
    9.534265248	IN	0x00	0x1B	0x0000
    9.648286362	IN	0x01	0x0D	0x0E 0x04 0x01 0x03 0x0C 0x00
    9.648754718	SETUP	0x00	0x1B	0x20 0x00 0x00 0x00 0x00 0x00 0x06 0x00
    9.648853168	OUT	0x00	0x1B	0x24 0x0C 0x03 0x04 0x08 0x00
    9.649153852	IN	0x00	0x1B	0x0000
    9.649474326	IN	0x01	0x0D	0x0E 0x04 0x01 0x24 0x0C 0x00
    9.649852462	SETUP	0x00	0x1B	0x20 0x00 0x00 0x00 0x00 0x00 0x04 0x00
    9.649953704	OUT	0x00	0x1B	0x56 0x0C 0x01 0x01
    9.65026093	IN	0x00	0x1B	0x0000
    9.650574986	IN	0x01	0x0D	0x0E 0x04 0x01 0x56 0x0C 0x00
    9.6509876	SETUP	0x00	0x1B	0x20 0x00 0x00 0x00 0x00 0x00 0x0B 0x00
    9.651098382	OUT	0x00	0x1B	0x01 0x0C 0x08 0xFF 0xFF 0xFF 0xFF 0xFF 0x1F 0xFF 0x00
    9.651413314	IN	0x00	0x1B	0x0000
    9.651754516	IN	0x01	0x0D	0x0E 0x04 0x01 0x01 0x0C 0x00
    9.658104934	SETUP	0x00	0x1B	0x20 0x00 0x00 0x00 0x00 0x00 0x08 0x00
    9.658211634	OUT	0x00	0x1B	0x01 0x04 0x05 0x33 0x8B 0x9E 0x30 0x0A
    9.658883684	IN	0x00	0x1B	0x0000
    9.659206636	IN	0x01	0x0D	0x0F 0x04 0x00 0x01 0x01 0x04
    11.15663164	IN	0x01	0x0D	0x02 0x0F 0x01 0x16 0xAC 0xB3 0x26 0x3F 0xC8 0x01 0x02 0x00 0x08 0x05 0x00 0x01
    11.15776032	IN	0x01	0x0D	0x5B
    11.16042577	SETUP	0x00	0x1B	0x20 0x00 0x00 0x00 0x00 0x00 0x03 0x00
    11.16063132	OUT	0x00	0x1B	0x02 0x04 0x00
    11.16109736	IN	0x00	0x1B	0x0000
    11.16196029	SETUP	0x00	0x1B	0x20 0x00 0x00 0x00 0x00 0x00 0x0D 0x00
    11.16207336	OUT	0x00	0x1B	0x19 0x04 0x0A 0x16 0xAC 0xB3 0x26 0x3F 0xC8 0x01 0x00 0x00 0x00
    11.16671507	IN	0x00	0x1B	0x0000
    11.16703513	IN	0x01	0x0D	0x0E 0x04 0x01 0x02 0x04 0x00
    11.1678871	IN	0x01	0x0D	0x0F 0x04 0x00 0x01 0x19 0x04
    13.80780006	IN	0x01	0x0D	0x07 0xFF 0x00 0x16 0xAC 0xB3 0x26 0x3F 0xC8 0x58 0x62 0x6F 0x78 0x20 0x57 0x69
    13.80892744	IN	0x01	0x0D	0x72 0x65 0x6C 0x65 0x73 0x73 0x20 0x43 0x6F 0x6E 0x74 0x72 0x6F 0x6C 0x6C 0x65
    13.81005841	IN	0x01	0x0D	0x72 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    13.81118582	IN	0x01	0x0D	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    13.81212287	IN	0x01	0x0D	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    13.81341481	IN	0x01	0x0D	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    13.81455309	IN	0x01	0x0D	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    13.81568052	IN	0x01	0x0D	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    13.81609665	SETUP	0x00	0x1B	0x20 0x00 0x00 0x00 0x00 0x00 0x10 0x00
    13.81621385	OUT	0x00	0x1B	0x05 0x04 0x0D 0x16 0xAC 0xB3 0x26 0x3F 0xC8 0x18 0xCC 0x01 0x00 0x00 0x00 0x00
    13.81720945	IN	0x00	0x1B	0x0000
    13.81761694	IN	0x01	0x0D	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    13.81875164	IN	0x01	0x0D	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    13.81989178	IN	0x01	0x0D	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    13.82101919	IN	0x01	0x0D	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    13.82141415	IN	0x01	0x0D	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    13.82254389	IN	0x01	0x0D	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    13.82367128	IN	0x01	0x0D	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    13.82479906	IN	0x01	0x0D	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    13.82517653	IN	0x01	0x0D	0x00
    13.82613939	IN	0x01	0x0D	0x0F 0x04 0x00 0x01 0x05 0x04
    16.30925421	IN	0x01	0x0D	0x03 0x0B 0x00 0x48 0x00 0x16 0xAC 0xB3 0x26 0x3F 0xC8 0x01 0x00
    16.31021089	SETUP	0x00	0x1B	0x20 0x00 0x00 0x00 0x00 0x00 0x05 0x00
    16.31030682	OUT	0x00	0x1B	0x11 0x04 0x02 0x48 0x00
    16.3137988	IN	0x00	0x1B	0x0000
    16.31421062	IN	0x01	0x0D	0x0F 0x04 0x00 0x00 0x11 0x04
    16.32166053	IN	0x02	0x1E	0x48 0x20 0x0C 0x00 0x08 0x00 0x01 0x00 0x02 0x01 0x04 0x00 0x01 0x00 0x40 0x00
    16.33079048	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.34304283	IN	0x01	0x0D	0x17 0x06 0x16 0xAC 0xB3 0x26 0x3F 0xC8
    16.34380162	SETUP	0x00	0x1B	0x20 0x00 0x00 0x00 0x00 0x00 0x19 0x00
    16.34393957	OUT	0x00	0x1B	0x0B 0x04 0x16 0x16 0xAC 0xB3 0x26 0x3F 0xC8 0xEB 0xB6 0x70 0xB2 0xBF 0x74 0xBE 0x79 0x1C 0x71 0x4A 0xCF 0xB3 0x0A 0xEE 0xD8
    16.35174618	IN	0x00	0x1B	0x0000
    16.35241348	IN	0x01	0x0D	0x0F 0x04 0x00 0x01 0x00 0x00
    16.35333676	IN	0x01	0x0D	0x0E 0x0A 0x01 0x0B 0x04 0x00 0x16 0xAC 0xB3 0x26 0x3F 0xC8
    16.36454145	IN	0x01	0x0D	0x06 0x03 0x00 0x48 0x00
    16.36848752	SETUP	0x00	0x1B	0x20 0x00 0x00 0x00 0x00 0x00 0x06 0x00
    16.36859751	OUT	0x00	0x1B	0x13 0x04 0x03 0x48 0x00 0x01
    16.3787079	IN	0x00	0x1B	0x0000
    16.37926456	OUT	0x02	0x1E	0x48 0x20 0x0C 0x00 0x08 0x00 0x01 0x00 0x02 0x00 0x04 0x00 0x11 0x00 0x70 0x00
    16.37948698	IN	0x01	0x0D	0x0F 0x04 0x00 0x01 0x13 0x04
    16.39935344	IN	0x01	0x0D	0x08 0x04 0x00 0x48 0x00 0x01
    16.40248691	IN	0x01	0x0D	0x13 0x05 0x01 0x48 0x00 0x01 0x00
    16.40882717	IN	0x02	0x1E	0x48 0x20 0x10 0x00 0x0C 0x00 0x01 0x00 0x03 0x00 0x08 0x00 0x41 0x00 0x70 0x00 0x01 0x00 0x00 0x00
    16.41180286	IN	0x02	0x1E	0x48 0x20 0x10 0x00 0x0C 0x00 0x01 0x00 0x03 0x00 0x08 0x00 0x41 0x00 0x70 0x00 0x00 0x00 0x00 0x00
    16.41232011	OUT	0x02	0x1E	0x48 0x20 0x10 0x00 0x0C 0x00 0x01 0x00 0x04 0x01 0x08 0x00 0x41 0x00 0x00 0x00 0x01 0x02 0xFF 0xFF
    16.41281247	IN	0x02	0x1E	0x48 0x20 0x10 0x00 0x0C 0x00 0x01 0x00 0x04 0x02 0x08 0x00 0x70 0x00 0x00 0x00 0x01 0x02 0xC8 0x05
    16.41320252	OUT	0x02	0x1E	0x48 0x20 0x12 0x00 0x0E 0x00 0x01 0x00 0x05 0x02 0x0A 0x00 0x41 0x00 0x00 0x00 0x00 0x00 0x01 0x02 0xA0 0x02
    16.41678464	IN	0x01	0x0D	0x13 0x05 0x01 0x48 0x00 0x01 0x00
    16.41780175	IN	0x01	0x0D	0x13 0x05 0x01 0x48 0x00 0x01 0x00
    16.41797354	IN	0x02	0x1E	0x48 0x20 0x0E 0x00 0x0A 0x00 0x01 0x00 0x05 0x01 0x06 0x00 0x70 0x00 0x00 0x00 0x00 0x00
    16.4183893	OUT	0x02	0x1E	0x48 0x20 0x05 0x00 0x01 0x00 0x41 0x00 0x71
    16.41987095	OUT	0x02	0x1E	0x48 0x20 0x0C 0x00 0x08 0x00 0x01 0x00 0x02 0x02 0x04 0x00 0x13 0x00 0x71 0x00
    16.42293114	IN	0x01	0x0D	0x13 0x05 0x01 0x48 0x00 0x01 0x00
    16.42393806	IN	0x01	0x0D	0x13 0x05 0x01 0x48 0x00 0x01 0x00
    16.42520152	IN	0x02	0x1E	0x48 0x20 0x10 0x00 0x0C 0x00 0x01 0x00 0x03 0x02 0x08 0x00 0x42 0x00 0x71 0x00 0x01 0x00 0x00 0x00
    16.42831903	IN	0x02	0x1E	0x48 0x20 0x10 0x00 0x0C 0x00 0x01 0x00 0x03 0x02 0x08 0x00 0x42 0x00 0x71 0x00 0x00 0x00 0x00 0x00
    16.42884986	OUT	0x02	0x1E	0x48 0x20 0x10 0x00 0x0C 0x00 0x01 0x00 0x04 0x03 0x08 0x00 0x42 0x00 0x00 0x00 0x01 0x02 0xFF 0xFF
    16.42933245	IN	0x02	0x1E	0x48 0x20 0x10 0x00 0x0C 0x00 0x01 0x00 0x04 0x03 0x08 0x00 0x71 0x00 0x00 0x00 0x01 0x02 0xC8 0x05
    16.42962332	OUT	0x02	0x1E	0x48 0x20 0x12 0x00 0x0E 0x00 0x01 0x00 0x05 0x03 0x0A 0x00 0x42 0x00 0x00 0x00 0x00 0x00 0x01 0x02 0xA0 0x02
    16.43320084	IN	0x01	0x0D	0x13 0x05 0x01 0x48 0x00 0x01 0x00
    16.43422467	IN	0x01	0x0D	0x13 0x05 0x01 0x48 0x00 0x01 0x00
    16.43439652	IN	0x02	0x1E	0x48 0x20 0x0E 0x00 0x0A 0x00 0x01 0x00 0x05 0x03 0x06 0x00 0x71 0x00 0x00 0x00 0x00 0x00
    16.49049743	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.49564047	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.49580885	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0x58 0x7D 0x24 0x84 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    16.5020243	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.50220908	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0x58 0x7D 0x24 0x84 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    16.50799046	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.51319431	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.51819394	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.52327351	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.52841655	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.5334993	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.53864234	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.5437846	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.54886627	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.55397554	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.55819063	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.56322814	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.56831087	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.57345366	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.57859661	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.58367887	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.5888219	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.59396463	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.59818739	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.603187	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.60837981	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.61340221	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.61848492	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.62362798	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.62577034	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xA8 0x7D 0x24 0x84 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    16.63198573	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.6339113	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.63518441	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0x0D 0x7E 0x24 0x84 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    16.64337553	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.64418365	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.64530633	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0x7E 0x7F 0x24 0x84 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    16.65476527	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.65495	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xD4 0x80 0x24 0x84 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    16.66618186	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.66636565	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xE5 0x81 0x24 0x84 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    16.67754476	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.67772956	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xBF 0x82 0x24 0x84 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    16.68893454	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.68917998	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0x69 0x83 0x24 0x84 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    16.70033036	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.70051509	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF1 0x83 0x24 0x84 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    16.71183338	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.71201811	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0x53 0x84 0x24 0x84 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    16.72317722	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.72336593	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0x9B 0x84 0x24 0x84 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    16.73449382	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.73467859	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x24 0x84 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    16.74588362	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.74651561	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.74757454	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.74855806	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.74961723	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.75060017	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.75160284	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.75267723	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.75369123	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.75470531	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.75571938	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.75673338	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.75774744	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.75882175	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.75983579	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.76390137	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.76917344	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.7731731	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.77825281	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.78339576	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.78847776	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.7936208	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.79876378	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.80384653	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.80895565	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.81416973	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.81922733	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.82640469	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.83047023	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.83663048	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.84171317	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.84889054	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.85316654	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.85916611	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.86425151	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.87142893	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.87555478	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.88165461	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.88679765	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.89394944	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.89816287	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.90320221	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.90828487	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.9134126	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.91855564	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.92363837	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.92878135	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.9339244	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.93815964	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.94415911	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.94822482	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.95336782	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.95844951	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.96359184	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.96873458	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.97381729	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.97894281	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.98315597	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.98527192	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0xA3 0x83 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    16.99148731	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    16.99332776	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    16.99549961	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0xA5 0x82 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.00287719	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.00315433	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0xC9 0x80 0x85 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.01437994	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.01456471	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0xC1 0x7C 0x41 0x87 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.0256567	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.02584148	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0xD1 0x5A 0x0C 0x89 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.03715158	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.03734029	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x8C 0x56 0x20 0x8B 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.04843626	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.04862685	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x2D 0x32 0x04 0x8D 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.05983216	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.06014966	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0xA6 0x2F 0x81 0x8E 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.07121569	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.07140045	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0xC5 0x2A 0xB3 0x8F 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.08260551	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.08279027	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x4F 0x09 0xA2 0x90 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.09414686	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.09433436	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x60 0x91 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.10538507	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.10556982	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xED 0x91 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.11688788	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.11714498	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x4C 0x92 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.12816458	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.12835544	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x87 0x92 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.13955442	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.1397452	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x14 0x92 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.15095022	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.15114222	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xB8 0x91 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.16233491	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.16331769	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.16430711	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.16529855	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.16635025	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.1674015	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.16837215	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.16938615	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.17046056	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.17147458	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.17248865	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.17350269	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.17451667	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.17553073	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.17569909	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x3C 0x91 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.1819145	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.18275175	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.18373371	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.18479389	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.18577733	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.18683752	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.18713928	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xBB 0x90 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.19334978	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.19413871	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.19513867	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.19531959	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x4F 0x90 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.2047397	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.20492446	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x52 0x8F 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.21613696	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.21632271	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x25 0x8E 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.22763235	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.22782321	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xF5 0x8C 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.23890893	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.23913504	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xDB 0x8B 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.25030477	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.25048946	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xC4 0x8A 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.26168849	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.26187324	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xB8 0x89 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.27313226	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.2733231	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xD1 0x88 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.28446817	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.28465284	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xDE 0x87 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.29585795	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.29613043	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xCB 0x86 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.30724754	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.30743233	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xC6 0x85 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.31863744	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.31882824	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xA5 0x84 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.33025845	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.33044277	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xEE 0x82 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.34142295	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.34160771	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xFF 0x80 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.35280671	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.35312573	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x01 0x7F 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.36419649	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.36438127	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x1D 0x7D 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.37558635	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.37577109	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x2D 0x7B 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.38712299	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.38730667	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x66 0x79 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.39836578	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.3985505	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xD8 0x77 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.40975577	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.40994053	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x78 0x76 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.42114538	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.42133618	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x58 0x75 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.43265423	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.43283901	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x55 0x74 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.44393021	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.4441183	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x6A 0x73 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.45531472	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.45549941	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x8B 0x72 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.46670462	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.46688931	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x88 0x71 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.47811552	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.47830496	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0x90 0x70 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.48948414	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.48966887	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xA6 0x6F 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.50087398	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.50111369	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x00 0x00 0xB2 0x6E 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.5122638	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.51245405	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0x74 0x00 0x8D 0x6D 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.52365957	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    17.52384406	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0xEE 0x01 0x74 0x6C 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.53524044	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x05
    17.53542522	IN	0x02	0x1E	0x48 0x20 0x15 0x00 0x11 0x00 0x71 0x00 0xA1 0x01 0x29 0x7F 0xF2 0x84 0xBD 0x04 0x8E 0x6B 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    17.546433	IN	0x01	0x0D	0x1B 0x03 0x48 0x00 0x01
    Now slowly figure out what they are doing different...

  22. #797
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    5,585
    @KurtE ...
    I have a version of the USB Host shield 2 library that works with the T4 - had to modify several files including the avrpins.h file. I can post if you are interested - tested with PS4.

    Unfortunately, couldn't get the xbox lib working with the T4 today. Have to do several file compares to see which files i have to change.

    This page will probably help with seeing what he did with the library: http://kato-h.cocolog-nifty.com/khwe...st-c93f3c.html. Its in Japanese so you will have to get your browser to translate.

  23. #798
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    7,621
    Thanks @mjs513...

    Might be interesting to see. what changed. Right now I have one of the full size adapters plugged into mega, which I did the captures from. I have a T3.5 jumpered to a cheap clone of the micro adapter, which I looked at several of the suggestions on which wire goes where, and did several iterations. until the check for firmware version succeeded. It then failed in the memory transfer test... So I punted and ordered the Sparkfun one, where at least I can see Schematic on which pin goes where... Plus they already bring out 5v to the USB power pin. Should get here next week (ordered from Amazon)

    The translation to English is interesting. But what I get out of it, was he started from the main library, and ripped out all of the PS3, PS4... Binding code left with BT HID and kept experimenting until he got something that worked... Sounds like he needed SSP...

    Will reread it several more times.
    The Readme file in the library also mentions:

    Using a USB Host Shield 2.0 with a Bluettoth USB adapter and a USB Host Library Rev.2.0, I tried to connect a Microsoft game controller (MODEL 1708, which was first used on the Xbox One S) to the Arduino via Bluetooth. However, I couldn't because the game controller does not support old pairing that uses a 4-digit PIN code. So I modified BTD.cpp of USB Host Library Rev.2.0 so that it could be paired with Bluetooth Classic SSP. The function of Bluetooth connection with the conventional PS3 controller, PS4 controller, Wii remote controller, etc. has been removed.
    And:
    The basic usage is almost the same as BTHID of the original USB Host Library Rev.2.0. However, use BTDSSP from this library instead of BTD. And because you don't use a PIN code for pairing,

    Pairing mode is BTXBOX btxbox(&Btdssp, PAIR);

    After pairing, BTXBOX btxbox(&Btdssp);

    Will be. See sketch example.

    This library uses an EEPROM library that writes and reads data in the flash area inside the Arduino. be careful. Specifically, 6 bytes of BD address (Bluetooth Device Address) of the device that has been successfully paired, followed by 16 bytes of the link key generated at the time of pairing are written from address 0 and read when reconnecting. .. (Data in this flash area is not affected by sketch writing)

  24. #799
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    5,585
    @KurtE
    Missed the following:
    This library uses an EEPROM library that writes and reads data in the flash area inside the Arduino. be careful. Specifically, 6 bytes of BD address (Bluetooth Device Address) of the device that has been successfully paired, followed by 16 bytes of the link key generated at the time of pairing are written from address 0 and read when reconnecting. .. (Data in this flash area is not affected by sketch writing)
    might be why my xbox controller is dying - but don't see where he is flashing the data? Have to look again.

    Here are 2 versions for the T4x - one is the xbox library.

    USB_Host_Shield_Library_2.0_BTXBOX-master.zip

    USB_Host_Shield_Library_2.0_T4.zip

    The translation to English is interesting. But what I get out of it, was he started from the main library, and ripped out all of the PS3, PS4... Binding code left with BT HID and kept experimenting until he got something that worked... Sounds like he needed SSP...
    Thats my interpretation as well. And yes he added in the SSP support.

    EDIT: I am using a micro as well that i did a wire wrap shield for my breakout board a long time ago. It works great with the PS4. But i made the T4 changes a long time ago so not sure how current they are

  25. #800
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    5,585
    Found my full size shield and put it on the Mega but my controller still does not connect with the library. But it does recognize the PS4. Tried a couple of different dongles with the same result.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •