takeru / Wiimote

Wiimote Bluetooth Connection Library for Arduino core for ESP32
MIT License
69 stars 16 forks source link

Wii balance board #2

Closed gigawatts closed 1 year ago

gigawatts commented 4 years ago

Do you have any hints on what would be required to tweak to get this library to connect to a Wii Balance board and read weight data?

Also, I saw in the other open issue a bunch of debug output. How is that enabled? I am using PlatformIO to compile the example sketch in the readme.

EDIT: Never mind about the debug output, I figured out how to enable it in PIO here: https://community.platformio.org/t/how-to-set-up-log-level-to-be-able-to-debug-the-esp32/8278/2

I can provide Debug logs of the board trying to connect to the ESP32 (if you don't have a board to try yourself), it starts to connect, and even prints out its model name, but the LED on the board just blinks till it's pairing timeout, then turns off.

takeru commented 4 years ago

https://wiibrew.org/wiki/Wii_Balance_Board

Please share the code. I have the board. And I can use PIO.

I dusted off the board yesterday. Because COVID19...

gigawatts commented 4 years ago

Here is my debug log output from your example in README.md (from the master branch). The only thing I changed was moving the setup and loop functions to below the callback function, as it wouldn't compile in PIO with how you had them ordered.

I did look over that wiibrew doc previously, but I can't say I understand the pairing/reading process of Wii accessories enough to know what bits to twiddle to make the board pair and report stuff.

There is probably more output here than you need, I think at least 2 pairing attempts are listed. Let me know how else I can help get this figured out. Thanks!

[D][Wiimote.cpp:780] handle(): SEND => 01 03 0C 00 
[D][Wiimote.cpp:157] start_scan(): queued reset.
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 03 0C 00 
[D][Wiimote.cpp:164] process_command_complete_event(): reset OK.
[D][Wiimote.cpp:167] process_command_complete_event(): queued read_bd_addr.
[D][Wiimote.cpp:780] handle(): SEND => 01 09 10 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=10 data=05 09 10 00 3A 59 17 C4 0A 24
[D][Wiimote.cpp:175] process_command_complete_event(): read_bd_addr OK. BD_ADDR=3A 59 17 C4 0A 24 
[D][Wiimote.cpp:178] process_command_complete_event(): sizeof(name)=15
[D][Wiimote.cpp:181] process_command_complete_event(): queued write_local_name.
[D][Wiimote.cpp:780] handle(): SEND => 01 13 0C F8 45 53 50 33 32 2D 42 54 2D 4C 32 43 41 50 00 00 00 00 00 00 00 00 00 00 00 00 ...       
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 13 0C 00 
[D][Wiimote.cpp:189] process_command_complete_event(): write_local_name OK.
[D][Wiimote.cpp:193] process_command_complete_event(): queued write_class_of_device.
[D][Wiimote.cpp:780] handle(): SEND => 01 24 0C 03 04 05 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 24 0C 00 
[D][Wiimote.cpp:201] process_command_complete_event(): write_class_of_device OK.
[D][Wiimote.cpp:204] process_command_complete_event(): queued write_scan_enable.
[D][Wiimote.cpp:780] handle(): SEND => 01 1A 0C 01 03
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 1A 0C 00
[D][Wiimote.cpp:212] process_command_complete_event(): write_scan_enable OK.
[D][Wiimote.cpp:217] process_command_complete_event(): queued inquiry.
[D][Wiimote.cpp:780] handle(): SEND => 01 01 04 05 33 8B 9E 05 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 01 04
[D][Wiimote.cpp:238] process_command_status_event(): inquiry pending!
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=01 len=1 data=00 
[D][Wiimote.cpp:308] process_inquiry_complete_event(): inquiry_complete status=00
[D][Wiimote.cpp:157] start_scan(): queued reset.
[D][Wiimote.cpp:780] handle(): SEND => 01 03 0C 00 
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 03 0C 00
[D][Wiimote.cpp:164] process_command_complete_event(): reset OK.
[D][Wiimote.cpp:167] process_command_complete_event(): queued read_bd_addr.
[D][Wiimote.cpp:780] handle(): SEND => 01 09 10 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=10 data=05 09 10 00 3A 59 17 C4 0A 24
[D][Wiimote.cpp:175] process_command_complete_event(): read_bd_addr OK. BD_ADDR=3A 59 17 C4 0A 24
[D][Wiimote.cpp:178] process_command_complete_event(): sizeof(name)=15
[D][Wiimote.cpp:181] process_command_complete_event(): queued write_local_name.
[D][Wiimote.cpp:780] handle(): SEND => 01 13 0C F8 45 53 50 33 32 2D 42 54 2D 4C 32 43 41 50 00 00 00 00 00 00 00 00 00 00 00 00 ...
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 13 0C 00
[D][Wiimote.cpp:189] process_command_complete_event(): write_local_name OK.
[D][Wiimote.cpp:193] process_command_complete_event(): queued write_class_of_device.
[D][Wiimote.cpp:780] handle(): SEND => 01 24 0C 03 04 05 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 24 0C 00
[D][Wiimote.cpp:201] process_command_complete_event(): write_class_of_device OK.
[D][Wiimote.cpp:204] process_command_complete_event(): queued write_scan_enable.
[D][Wiimote.cpp:780] handle(): SEND => 01 1A 0C 01 03
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 1A 0C 00
[D][Wiimote.cpp:212] process_command_complete_event(): write_scan_enable OK.
[D][Wiimote.cpp:217] process_command_complete_event(): queued inquiry.
[D][Wiimote.cpp:780] handle(): SEND => 01 01 04 05 33 8B 9E 05 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 01 04
[D][Wiimote.cpp:238] process_command_status_event(): inquiry pending!
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:277] process_inquiry_result_event():     Page_Scan_Repetition_Mode = 01
[D][Wiimote.cpp:279] process_inquiry_result_event():     Class_of_Device = 04 25 00
[D][Wiimote.cpp:280] process_inquiry_result_event():     Clock_Offset = 6D 05
[D][Wiimote.cpp:293] process_inquiry_result_event(): queued remote_name_request.
[D][Wiimote.cpp:780] handle(): SEND => 01 19 04 0A E5 DF 58 4C 22 00 01 00 05 ED
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 19 04 
[D][Wiimote.cpp:246] process_command_status_event(): remote_name_request pending!
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=07 len=255 data=00 E5 DF 58 4C 22 00 4E 69 6E 74 65 6E 64 6F 20 52 56 4C 2D 57 42 43 2D 30 31 00 00 00 00 ...
[D][Wiimote.cpp:314] process_remote_name_request_complete_event(): remote_name_request_complete status=00
[D][Wiimote.cpp:317] process_remote_name_request_complete_event():   BD_ADDR = 00 22 4C 58 DF E5
[D][Wiimote.cpp:320] process_remote_name_request_complete_event():   REMOTE_NAME = Nintendo RVL-WBC-01
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=01 len=1 data=00 
[D][Wiimote.cpp:308] process_inquiry_complete_event(): inquiry_complete status=00
[D][Wiimote.cpp:157] start_scan(): queued reset.
[D][Wiimote.cpp:780] handle(): SEND => 01 03 0C 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 03 0C 00
[D][Wiimote.cpp:164] process_command_complete_event(): reset OK.
[D][Wiimote.cpp:167] process_command_complete_event(): queued read_bd_addr.
[D][Wiimote.cpp:780] handle(): SEND => 01 09 10 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=10 data=05 09 10 00 3A 59 17 C4 0A 24 
[D][Wiimote.cpp:175] process_command_complete_event(): read_bd_addr OK. BD_ADDR=3A 59 17 C4 0A 24
[D][Wiimote.cpp:178] process_command_complete_event(): sizeof(name)=15
[D][Wiimote.cpp:181] process_command_complete_event(): queued write_local_name.
[D][Wiimote.cpp:780] handle(): SEND => 01 13 0C F8 45 53 50 33 32 2D 42 54 2D 4C 32 43 41 50 00 00 00 00 00 00 00 00 00 00 00 00 ...       
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 13 0C 00
[D][Wiimote.cpp:189] process_command_complete_event(): write_local_name OK.
[D][Wiimote.cpp:193] process_command_complete_event(): queued write_class_of_device.
[D][Wiimote.cpp:780] handle(): SEND => 01 24 0C 03 04 05 00 
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 24 0C 00
[D][Wiimote.cpp:201] process_command_complete_event(): write_class_of_device OK.
[D][Wiimote.cpp:204] process_command_complete_event(): queued write_scan_enable.
[D][Wiimote.cpp:780] handle(): SEND => 01 1A 0C 01 03
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 1A 0C 00
[D][Wiimote.cpp:212] process_command_complete_event(): write_scan_enable OK.
[D][Wiimote.cpp:217] process_command_complete_event(): queued inquiry.
[D][Wiimote.cpp:780] handle(): SEND => 01 01 04 05 33 8B 9E 05 00 
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 01 04
[D][Wiimote.cpp:238] process_command_status_event(): inquiry pending!
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:277] process_inquiry_result_event():     Page_Scan_Repetition_Mode = 01
[D][Wiimote.cpp:279] process_inquiry_result_event():     Class_of_Device = 04 25 00
[D][Wiimote.cpp:280] process_inquiry_result_event():     Clock_Offset = EC 19
[D][Wiimote.cpp:293] process_inquiry_result_event(): queued remote_name_request.
[D][Wiimote.cpp:780] handle(): SEND => 01 19 04 0A E5 DF 58 4C 22 00 01 00 19 EC
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 19 04 
[D][Wiimote.cpp:246] process_command_status_event(): remote_name_request pending!
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=07 len=255 data=00 E5 DF 58 4C 22 00 4E 69 6E 74 65 6E 64 6F 20 52 56 4C 2D 57 42 43 2D 30 31 00 00 00 00 ...
[D][Wiimote.cpp:314] process_remote_name_request_complete_event(): remote_name_request_complete status=00
[D][Wiimote.cpp:317] process_remote_name_request_complete_event():   BD_ADDR = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:320] process_remote_name_request_complete_event():   REMOTE_NAME = Nintendo RVL-WBC-01
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=01 len=1 data=00 
[D][Wiimote.cpp:308] process_inquiry_complete_event(): inquiry_complete status=00
[D][Wiimote.cpp:157] start_scan(): queued reset.
[D][Wiimote.cpp:780] handle(): SEND => 01 03 0C 00 
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 03 0C 00
[D][Wiimote.cpp:164] process_command_complete_event(): reset OK.
[D][Wiimote.cpp:167] process_command_complete_event(): queued read_bd_addr.
[D][Wiimote.cpp:780] handle(): SEND => 01 09 10 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=10 data=05 09 10 00 3A 59 17 C4 0A 24
[D][Wiimote.cpp:175] process_command_complete_event(): read_bd_addr OK. BD_ADDR=3A 59 17 C4 0A 24 
[D][Wiimote.cpp:178] process_command_complete_event(): sizeof(name)=15
[D][Wiimote.cpp:181] process_command_complete_event(): queued write_local_name.
[D][Wiimote.cpp:780] handle(): SEND => 01 13 0C F8 45 53 50 33 32 2D 42 54 2D 4C 32 43 41 50 00 00 00 00 00 00 00 00 00 00 00 00 ...       
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 13 0C 00
[D][Wiimote.cpp:189] process_command_complete_event(): write_local_name OK.
[D][Wiimote.cpp:193] process_command_complete_event(): queued write_class_of_device.
[D][Wiimote.cpp:780] handle(): SEND => 01 24 0C 03 04 05 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 24 0C 00 
[D][Wiimote.cpp:201] process_command_complete_event(): write_class_of_device OK.
[D][Wiimote.cpp:204] process_command_complete_event(): queued write_scan_enable.
[D][Wiimote.cpp:780] handle(): SEND => 01 1A 0C 01 03
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 1A 0C 00
[D][Wiimote.cpp:212] process_command_complete_event(): write_scan_enable OK.
[D][Wiimote.cpp:217] process_command_complete_event(): queued inquiry.
[D][Wiimote.cpp:780] handle(): SEND => 01 01 04 05 33 8B 9E 05 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 01 04 
[D][Wiimote.cpp:238] process_command_status_event(): inquiry pending!
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:277] process_inquiry_result_event():     Page_Scan_Repetition_Mode = 01
[D][Wiimote.cpp:279] process_inquiry_result_event():     Class_of_Device = 04 25 00
[D][Wiimote.cpp:280] process_inquiry_result_event():     Clock_Offset = 6B 2E
[D][Wiimote.cpp:293] process_inquiry_result_event(): queued remote_name_request.
[D][Wiimote.cpp:780] handle(): SEND => 01 19 04 0A E5 DF 58 4C 22 00 01 00 2E EB
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 19 04
[D][Wiimote.cpp:246] process_command_status_event(): remote_name_request pending!
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=07 len=255 data=00 E5 DF 58 4C 22 00 4E 69 6E 74 65 6E 64 6F 20 52 56 4C 2D 57 42 43 2D 30 31 00 00 00 00 ...
[D][Wiimote.cpp:314] process_remote_name_request_complete_event(): remote_name_request_complete status=00
[D][Wiimote.cpp:317] process_remote_name_request_complete_event():   BD_ADDR = 00 22 4C 58 DF E5
[D][Wiimote.cpp:320] process_remote_name_request_complete_event():   REMOTE_NAME = Nintendo RVL-WBC-01
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=01 len=1 data=00 
[D][Wiimote.cpp:308] process_inquiry_complete_event(): inquiry_complete status=00
[D][Wiimote.cpp:157] start_scan(): queued reset.
[D][Wiimote.cpp:780] handle(): SEND => 01 03 0C 00 
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 03 0C 00
[D][Wiimote.cpp:164] process_command_complete_event(): reset OK.
[D][Wiimote.cpp:167] process_command_complete_event(): queued read_bd_addr.
[D][Wiimote.cpp:780] handle(): SEND => 01 09 10 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=10 data=05 09 10 00 3A 59 17 C4 0A 24
[D][Wiimote.cpp:175] process_command_complete_event(): read_bd_addr OK. BD_ADDR=3A 59 17 C4 0A 24 
[D][Wiimote.cpp:178] process_command_complete_event(): sizeof(name)=15
[D][Wiimote.cpp:181] process_command_complete_event(): queued write_local_name.
[D][Wiimote.cpp:780] handle(): SEND => 01 13 0C F8 45 53 50 33 32 2D 42 54 2D 4C 32 43 41 50 00 00 00 00 00 00 00 00 00 00 00 00 ...       
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 13 0C 00
[D][Wiimote.cpp:189] process_command_complete_event(): write_local_name OK.
[D][Wiimote.cpp:193] process_command_complete_event(): queued write_class_of_device.
[D][Wiimote.cpp:780] handle(): SEND => 01 24 0C 03 04 05 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 24 0C 00 
[D][Wiimote.cpp:201] process_command_complete_event(): write_class_of_device OK.
[D][Wiimote.cpp:204] process_command_complete_event(): queued write_scan_enable.
[D][Wiimote.cpp:780] handle(): SEND => 01 1A 0C 01 03
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 1A 0C 00
[D][Wiimote.cpp:212] process_command_complete_event(): write_scan_enable OK.
[D][Wiimote.cpp:217] process_command_complete_event(): queued inquiry.
[D][Wiimote.cpp:780] handle(): SEND => 01 01 04 05 33 8B 9E 05 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 01 04 
[D][Wiimote.cpp:238] process_command_status_event(): inquiry pending!
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:277] process_inquiry_result_event():     Page_Scan_Repetition_Mode = 01
[D][Wiimote.cpp:279] process_inquiry_result_event():     Class_of_Device = 04 25 00
[D][Wiimote.cpp:280] process_inquiry_result_event():     Clock_Offset = EA 42
[D][Wiimote.cpp:293] process_inquiry_result_event(): queued remote_name_request.
[D][Wiimote.cpp:780] handle(): SEND => 01 19 04 0A E5 DF 58 4C 22 00 01 00 42 EA
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 19 04
[D][Wiimote.cpp:246] process_command_status_event(): remote_name_request pending!
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=07 len=255 data=00 E5 DF 58 4C 22 00 4E 69 6E 74 65 6E 64 6F 20 52 56 4C 2D 57 42 43 2D 30 31 00 00 00 00 ...
[D][Wiimote.cpp:314] process_remote_name_request_complete_event(): remote_name_request_complete status=00
[D][Wiimote.cpp:317] process_remote_name_request_complete_event():   BD_ADDR = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:320] process_remote_name_request_complete_event():   REMOTE_NAME = Nintendo RVL-WBC-01
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:273] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 22 4C 58 DF E5 
[D][Wiimote.cpp:301] process_inquiry_result_event():  (dup idx=0)
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=01 len=1 data=00 
[D][Wiimote.cpp:308] process_inquiry_complete_event(): inquiry_complete status=00
[D][Wiimote.cpp:157] start_scan(): queued reset.
[D][Wiimote.cpp:780] handle(): SEND => 01 03 0C 00 
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 03 0C 00
[D][Wiimote.cpp:164] process_command_complete_event(): reset OK.
[D][Wiimote.cpp:167] process_command_complete_event(): queued read_bd_addr.
[D][Wiimote.cpp:780] handle(): SEND => 01 09 10 00
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=10 data=05 09 10 00 3A 59 17 C4 0A 24
[D][Wiimote.cpp:175] process_command_complete_event(): read_bd_addr OK. BD_ADDR=3A 59 17 C4 0A 24 
[D][Wiimote.cpp:178] process_command_complete_event(): sizeof(name)=15
[D][Wiimote.cpp:181] process_command_complete_event(): queued write_local_name.
[D][Wiimote.cpp:780] handle(): SEND => 01 13 0C F8 45 53 50 33 32 2D 42 54 2D 4C 32 43 41 50 00 00 00 00 00 00 00 00 00 00 00 00 ...       
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 13 0C 00
[D][Wiimote.cpp:189] process_command_complete_event(): write_local_name OK.
[D][Wiimote.cpp:193] process_command_complete_event(): queued write_class_of_device.
[D][Wiimote.cpp:780] handle(): SEND => 01 24 0C 03 04 05 00 
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 24 0C 00
[D][Wiimote.cpp:201] process_command_complete_event(): write_class_of_device OK.
[D][Wiimote.cpp:204] process_command_complete_event(): queued write_scan_enable.
[D][Wiimote.cpp:780] handle(): SEND => 01 1A 0C 01 03
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 1A 0C 00
[D][Wiimote.cpp:212] process_command_complete_event(): write_scan_enable OK.
[D][Wiimote.cpp:217] process_command_complete_event(): queued inquiry.
[D][Wiimote.cpp:780] handle(): SEND => 01 01 04 05 33 8B 9E 05 00 
[D][Wiimote.cpp:715] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 01 04 
[D][Wiimote.cpp:238] process_command_status_event(): inquiry pending
takeru commented 4 years ago

https://github.com/takeru/Wiimote/commit/ae591bc130670e94bc2ca0eed06a15d8648705fe

I can read raw data. But does not convert to weight. We need to add code that read calibration data. I think it is easy, _read_memory() can be used.

22:57:05.712 -> [D][Wiimote.cpp:169] _reset(): queued reset.
22:57:05.712 -> [D][Wiimote.cpp:825] handle(): SEND => 01 03 0C 00 
22:57:05.712 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 03 0C 00 
22:57:05.746 -> [D][Wiimote.cpp:190] process_command_complete_event(): reset OK.
22:57:05.746 -> [D][Wiimote.cpp:193] process_command_complete_event(): queued read_bd_addr.
22:57:05.884 -> [D][Wiimote.cpp:825] handle(): SEND => 01 09 10 00 
22:57:05.884 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=0E len=10 data=05 09 10 00 D2 C3 59 1D A0 D8 
22:57:05.884 -> [D][Wiimote.cpp:201] process_command_complete_event(): read_bd_addr OK. BD_ADDR=D2 C3 59 1D A0 D8 
22:57:05.884 -> [D][Wiimote.cpp:204] process_command_complete_event(): sizeof(name)=15
22:57:05.918 -> [D][Wiimote.cpp:207] process_command_complete_event(): queued write_local_name.
22:57:05.918 -> [D][Wiimote.cpp:825] handle(): SEND => 01 13 0C F8 45 53 50 33 32 2D 42 54 2D 4C 32 43 41 50 00 00 00 00 00 00 00 00 00 00 00 00 ...
22:57:05.918 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 13 0C 00 
22:57:05.918 -> [D][Wiimote.cpp:215] process_command_complete_event(): write_local_name OK.
22:57:05.953 -> [D][Wiimote.cpp:219] process_command_complete_event(): queued write_class_of_device.
22:57:05.953 -> [D][Wiimote.cpp:825] handle(): SEND => 01 24 0C 03 04 05 00 
22:57:05.953 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 24 0C 00 
22:57:05.953 -> [D][Wiimote.cpp:227] process_command_complete_event(): write_class_of_device OK.
22:57:05.953 -> [D][Wiimote.cpp:230] process_command_complete_event(): queued write_scan_enable.
22:57:05.989 -> [D][Wiimote.cpp:825] handle(): SEND => 01 1A 0C 01 03 
22:57:05.989 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=0E len=4 data=05 1A 0C 00 
22:57:05.989 -> [D][Wiimote.cpp:238] process_command_complete_event(): write_scan_enable OK.
22:57:05.989 -> wiimote handle=0000 len=0   event_type=WIIMOTE_EVENT_INITIALIZE
22:57:05.989 -> [D][Wiimote.cpp:177] _scan_start(): queued inquiry.
22:57:06.094 -> [D][Wiimote.cpp:825] handle(): SEND => 01 01 04 05 33 8B 9E 0A 00 
22:57:06.094 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 01 04 
22:57:06.094 -> [D][Wiimote.cpp:260] process_command_status_event(): inquiry pending!
22:57:06.129 -> wiimote handle=0000 len=0   event_type=WIIMOTE_EVENT_SCAN_START
22:57:07.856 -> [D][Wiimote.cpp:299] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 1D BC 1B 67 BF 
22:57:07.893 -> [D][Wiimote.cpp:303] process_inquiry_result_event():     Page_Scan_Repetition_Mode = 01
22:57:07.893 -> [D][Wiimote.cpp:305] process_inquiry_result_event():     Class_of_Device = 04 25 00
22:57:07.893 -> [D][Wiimote.cpp:306] process_inquiry_result_event():     Clock_Offset = B7 22
22:57:07.893 -> [D][Wiimote.cpp:318] process_inquiry_result_event(): queued remote_name_request.
22:57:07.931 -> [D][Wiimote.cpp:825] handle(): SEND => 01 19 04 0A BF 67 1B BC 1D 00 01 00 22 B7 
22:57:07.931 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 19 04 
22:57:07.931 -> [D][Wiimote.cpp:269] process_command_status_event(): remote_name_request pending!
22:57:07.931 -> [D][Wiimote.cpp:299] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 1D BC 1B 67 BF 
22:57:07.931 -> [D][Wiimote.cpp:326] process_inquiry_result_event():  (dup idx=0)
22:57:08.108 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=07 len=255 data=00 BF 67 1B BC 1D 00 4E 69 6E 74 65 6E 64 6F 20 52 56 4C 2D 57 42 43 2D 30 31 00 00 00 00 ...
22:57:08.108 -> [D][Wiimote.cpp:339] process_remote_name_request_complete_event(): remote_name_request_complete status=00
22:57:08.108 -> [D][Wiimote.cpp:342] process_remote_name_request_complete_event():   BD_ADDR = 00 1D BC 1B 67 BF 
22:57:08.108 -> [D][Wiimote.cpp:345] process_remote_name_request_complete_event():   REMOTE_NAME = Nintendo RVL-WBC-01
22:57:08.145 -> [D][Wiimote.cpp:354] process_remote_name_request_complete_event(): queued create_connection.
22:57:08.145 -> [D][Wiimote.cpp:825] handle(): SEND => 01 05 04 0D BF 67 1B BC 1D 00 08 00 01 00 22 B7 00 
22:57:08.145 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 05 04 
22:57:08.145 -> [D][Wiimote.cpp:277] process_command_status_event(): create_connection pending!
22:57:08.468 -> [D][Wiimote.cpp:299] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 1D BC 1B 67 BF 
22:57:08.468 -> [D][Wiimote.cpp:326] process_inquiry_result_event():  (dup idx=0)
22:57:08.507 -> [D][Wiimote.cpp:299] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 1D BC 1B 67 BF 
22:57:08.540 -> [D][Wiimote.cpp:326] process_inquiry_result_event():  (dup idx=0)
22:57:08.540 -> [D][Wiimote.cpp:299] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 1D BC 1B 67 BF 
22:57:08.574 -> [D][Wiimote.cpp:326] process_inquiry_result_event():  (dup idx=0)
22:57:08.783 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=03 len=11 data=00 81 00 BF 67 1B BC 1D 00 01 00 
22:57:08.818 -> [D][Wiimote.cpp:506] process_connection_complete_event(): connection_complete status=00
22:57:08.818 -> [D][Wiimote.cpp:514] process_connection_complete_event():   Connection_Handle  = 0x0081
22:57:08.818 -> [D][Wiimote.cpp:515] process_connection_complete_event():   BD_ADDR            = 00 1D BC 1B 67 BF 
22:57:08.818 -> [D][Wiimote.cpp:516] process_connection_complete_event():   Link_Type          = 01
22:57:08.818 -> [D][Wiimote.cpp:517] process_connection_complete_event():   Encryption_Enabled = 00
22:57:08.851 -> [D][Wiimote.cpp:372] _l2cap_connect(): queued acl_l2cap_single_packet(CONNECTION REQUEST)
22:57:08.851 -> [D][Wiimote.cpp:825] handle(): SEND => 02 81 20 0C 00 08 00 01 00 02 01 04 00 11 00 40 00 
22:57:08.851 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
22:57:08.851 -> [D][Wiimote.cpp:770] process_hci_event():   (Number Of Completed Packets Event)
22:57:08.885 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 03 01 08 00 52 00 40 00 01 00 00 00 
22:57:08.885 -> [D][Wiimote.cpp:543] process_l2cap_connection_response(): L2CAP CONNECTION RESPONSE
22:57:08.885 -> [D][Wiimote.cpp:544] process_l2cap_connection_response():   identifier      = 01
22:57:08.885 -> [D][Wiimote.cpp:545] process_l2cap_connection_response():   destination_cid = 0052
22:57:08.919 -> [D][Wiimote.cpp:546] process_l2cap_connection_response():   source_cid      = 0040
22:57:08.919 -> [D][Wiimote.cpp:547] process_l2cap_connection_response():   result          = 0001
22:57:08.919 -> [D][Wiimote.cpp:548] process_l2cap_connection_response():   status          = 0000
22:57:08.919 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 03 01 08 00 52 00 40 00 00 00 00 00 
22:57:08.953 -> [D][Wiimote.cpp:543] process_l2cap_connection_response(): L2CAP CONNECTION RESPONSE
22:57:08.953 -> [D][Wiimote.cpp:544] process_l2cap_connection_response():   identifier      = 01
22:57:08.953 -> [D][Wiimote.cpp:545] process_l2cap_connection_response():   destination_cid = 0052
22:57:08.953 -> [D][Wiimote.cpp:546] process_l2cap_connection_response():   source_cid      = 0040
22:57:08.953 -> [D][Wiimote.cpp:547] process_l2cap_connection_response():   result          = 0000
22:57:08.991 -> [D][Wiimote.cpp:548] process_l2cap_connection_response():   status          = 0000
22:57:08.991 -> [D][Wiimote.cpp:569] process_l2cap_connection_response(): queued acl_l2cap_single_packet(CONFIGURATION REQUEST)
22:57:08.991 -> [D][Wiimote.cpp:825] handle(): SEND => 02 81 20 10 00 0C 00 01 00 04 02 08 00 52 00 00 00 01 02 40 00 
22:57:08.991 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
22:57:08.991 -> [D][Wiimote.cpp:770] process_hci_event():   (Number Of Completed Packets Event)
22:57:09.024 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=22 data=81 20 12 00 0E 00 01 00 05 02 0A 00 40 00 00 00 00 00 01 02 40 00 
22:57:09.024 -> [D][Wiimote.cpp:581] process_l2cap_configuration_response(): L2CAP CONFIGURATION RESPONSE
22:57:09.024 -> [D][Wiimote.cpp:582] process_l2cap_configuration_response():   identifier      = 02
22:57:09.058 -> [D][Wiimote.cpp:583] process_l2cap_configuration_response():   len             = 000A
22:57:09.058 -> [D][Wiimote.cpp:584] process_l2cap_configuration_response():   source_cid      = 0040
22:57:09.058 -> [D][Wiimote.cpp:585] process_l2cap_configuration_response():   flags           = 0000
22:57:09.058 -> [D][Wiimote.cpp:586] process_l2cap_configuration_response():   result          = 0000
22:57:09.058 -> [D][Wiimote.cpp:587] process_l2cap_configuration_response():   config          = 01 02 40 00 
22:57:09.095 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 04 1E 08 00 40 00 00 00 01 02 B9 00 
22:57:09.095 -> [D][Wiimote.cpp:597] process_l2cap_configuration_request(): L2CAP CONFIGURATION REQUEST
22:57:09.095 -> [D][Wiimote.cpp:598] process_l2cap_configuration_request():   identifier      = 1E
22:57:09.095 -> [D][Wiimote.cpp:599] process_l2cap_configuration_request():   len             = 08
22:57:09.131 -> [D][Wiimote.cpp:600] process_l2cap_configuration_request():   destination_cid = 0040
22:57:09.131 -> [D][Wiimote.cpp:601] process_l2cap_configuration_request():   flags           = 0000
22:57:09.131 -> [D][Wiimote.cpp:602] process_l2cap_configuration_request():   config          = 01 02 B9 00 
22:57:09.131 -> [D][Wiimote.cpp:614] process_l2cap_configuration_request():   MTU=185
22:57:09.131 -> [D][Wiimote.cpp:635] process_l2cap_configuration_request(): queued acl_l2cap_single_packet(CONFIGURATION RESPONSE)
22:57:09.166 -> [D][Wiimote.cpp:372] _l2cap_connect(): queued acl_l2cap_single_packet(CONNECTION REQUEST)
22:57:09.166 -> [D][Wiimote.cpp:825] handle(): SEND => 02 81 20 12 00 0E 00 01 00 05 1E 0A 00 52 00 00 00 00 00 01 02 B9 00 
22:57:09.166 -> [D][Wiimote.cpp:825] handle(): SEND => 02 81 20 0C 00 08 00 01 00 02 03 04 00 13 00 41 00 
22:57:09.166 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
22:57:09.200 -> [D][Wiimote.cpp:770] process_hci_event():   (Number Of Completed Packets Event)
22:57:09.200 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
22:57:09.200 -> [D][Wiimote.cpp:770] process_hci_event():   (Number Of Completed Packets Event)
22:57:09.200 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 03 03 08 00 53 00 41 00 00 00 00 00 
22:57:09.234 -> [D][Wiimote.cpp:543] process_l2cap_connection_response(): L2CAP CONNECTION RESPONSE
22:57:09.234 -> [D][Wiimote.cpp:544] process_l2cap_connection_response():   identifier      = 03
22:57:09.234 -> [D][Wiimote.cpp:545] process_l2cap_connection_response():   destination_cid = 0053
22:57:09.234 -> [D][Wiimote.cpp:546] process_l2cap_connection_response():   source_cid      = 0041
22:57:09.267 -> [D][Wiimote.cpp:547] process_l2cap_connection_response():   result          = 0000
22:57:09.267 -> [D][Wiimote.cpp:548] process_l2cap_connection_response():   status          = 0000
22:57:09.267 -> [D][Wiimote.cpp:569] process_l2cap_connection_response(): queued acl_l2cap_single_packet(CONFIGURATION REQUEST)
22:57:09.267 -> [D][Wiimote.cpp:825] handle(): SEND => 02 81 20 10 00 0C 00 01 00 04 04 08 00 53 00 00 00 01 02 40 00 
22:57:09.267 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
22:57:09.302 -> [D][Wiimote.cpp:770] process_hci_event():   (Number Of Completed Packets Event)
22:57:09.302 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=22 data=81 20 12 00 0E 00 01 00 05 04 0A 00 41 00 00 00 00 00 01 02 40 00 
22:57:09.302 -> [D][Wiimote.cpp:581] process_l2cap_configuration_response(): L2CAP CONFIGURATION RESPONSE
22:57:09.338 -> [D][Wiimote.cpp:582] process_l2cap_configuration_response():   identifier      = 04
22:57:09.338 -> [D][Wiimote.cpp:583] process_l2cap_configuration_response():   len             = 000A
22:57:09.338 -> [D][Wiimote.cpp:584] process_l2cap_configuration_response():   source_cid      = 0041
22:57:09.338 -> [D][Wiimote.cpp:585] process_l2cap_configuration_response():   flags           = 0000
22:57:09.338 -> [D][Wiimote.cpp:586] process_l2cap_configuration_response():   result          = 0000
22:57:09.373 -> [D][Wiimote.cpp:587] process_l2cap_configuration_response():   config          = 01 02 40 00 
22:57:09.373 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 04 1F 08 00 41 00 00 00 01 02 B9 00 
22:57:09.373 -> [D][Wiimote.cpp:597] process_l2cap_configuration_request(): L2CAP CONFIGURATION REQUEST
22:57:09.373 -> [D][Wiimote.cpp:598] process_l2cap_configuration_request():   identifier      = 1F
22:57:09.407 -> [D][Wiimote.cpp:599] process_l2cap_configuration_request():   len             = 08
22:57:09.407 -> [D][Wiimote.cpp:600] process_l2cap_configuration_request():   destination_cid = 0041
22:57:09.407 -> [D][Wiimote.cpp:601] process_l2cap_configuration_request():   flags           = 0000
22:57:09.407 -> [D][Wiimote.cpp:602] process_l2cap_configuration_request():   config          = 01 02 B9 00 
22:57:09.407 -> [D][Wiimote.cpp:614] process_l2cap_configuration_request():   MTU=185
22:57:09.441 -> [D][Wiimote.cpp:635] process_l2cap_configuration_request(): queued acl_l2cap_single_packet(CONFIGURATION RESPONSE)
22:57:09.441 -> wiimote handle=0081 len=0   event_type=WIIMOTE_EVENT_CONNECT
22:57:09.441 -> [D][Wiimote.cpp:418] _set_led(): queued acl_l2cap_single_packet(Set LEDs)
22:57:09.543 -> [D][Wiimote.cpp:825] handle(): SEND => 02 81 20 12 00 0E 00 01 00 05 1F 0A 00 53 00 00 00 00 00 01 02 B9 00 
22:57:09.543 -> [D][Wiimote.cpp:825] handle(): SEND => 02 81 20 07 00 03 00 53 00 A2 11 10 
22:57:09.543 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
22:57:09.577 -> [D][Wiimote.cpp:770] process_hci_event():   (Number Of Completed Packets Event)
22:57:09.577 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
22:57:09.577 -> [D][Wiimote.cpp:770] process_hci_event():   (Number Of Completed Packets Event)
22:57:09.611 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=0D len=21 data=00 81 00 00 01 A4 06 00 00 00 00 00 00 10 27 00 00 FF FF FF FF 
22:57:09.611 -> [D][Wiimote.cpp:772] process_hci_event():   (QoS Setup Complete Event)
22:57:09.611 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=16 data=81 20 0C 00 08 00 41 00 A1 20 00 00 02 00 00 B6 
22:57:09.611 -> [D][Wiimote.cpp:477] _write_memory(): queued acl_l2cap_single_packet(write memory)
22:57:09.649 -> [D][Wiimote.cpp:647] process_report(): REPORT len=8 data=A1 20 00 00 02 00 00 B6 
22:57:09.649 -> wiimote handle=0081 len=8 A1 20 00 00 02 00 00 B6 
22:57:09.722 -> [D][Wiimote.cpp:825] handle(): SEND => 02 81 20 1B 00 17 00 53 00 A2 16 04 A4 00 F0 01 55 00 00 00 00 00 00 00 00 00 00 00 00 00 ...
22:57:09.756 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=12 data=81 20 08 00 04 00 41 00 A1 30 00 00 
22:57:09.756 -> [D][Wiimote.cpp:647] process_report(): REPORT len=4 data=A1 30 00 00 
22:57:09.756 -> wiimote handle=0081 len=4 A1 30 00 00 
22:57:09.860 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
22:57:09.860 -> [D][Wiimote.cpp:770] process_hci_event():   (Number Of Completed Packets Event)
22:57:09.860 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=14 data=81 20 0A 00 06 00 41 00 A1 22 00 00 16 00 
22:57:09.860 -> [D][Wiimote.cpp:477] _write_memory(): queued acl_l2cap_single_packet(write memory)
22:57:09.893 -> [D][Wiimote.cpp:647] process_report(): REPORT len=6 data=A1 22 00 00 16 00 
22:57:09.893 -> wiimote handle=0081 len=6 A1 22 00 00 16 00 
22:57:10.001 -> [D][Wiimote.cpp:825] handle(): SEND => 02 81 20 1B 00 17 00 53 00 A2 16 04 A4 00 FB 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...
22:57:10.001 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
22:57:10.001 -> [D][Wiimote.cpp:770] process_hci_event():   (Number Of Completed Packets Event)
22:57:10.001 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=14 data=81 20 0A 00 06 00 41 00 A1 22 00 00 16 00 
22:57:10.036 -> [D][Wiimote.cpp:501] _read_memory(): queued acl_l2cap_single_packet(read memory)
22:57:10.036 -> [D][Wiimote.cpp:647] process_report(): REPORT len=6 data=A1 22 00 00 16 00 
22:57:10.036 -> wiimote handle=0081 len=6 A1 22 00 00 16 00 
22:57:10.137 -> [D][Wiimote.cpp:825] handle(): SEND => 02 81 20 0C 00 08 00 53 00 A2 17 04 A4 00 FA 00 06 
22:57:10.137 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
22:57:10.137 -> [D][Wiimote.cpp:770] process_hci_event():   (Number Of Completed Packets Event)
22:57:10.170 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 21 00 00 50 00 FA 00 00 A4 20 04 02 00 00 00 00 00 00 00 00 00 ...
22:57:10.170 -> [D][Wiimote.cpp:437] _set_reporting_mode(): queued acl_l2cap_single_packet(Set reporting mode)
22:57:10.204 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 21 00 00 50 00 FA 00 00 A4 20 04 02 00 00 00 00 00 00 00 00 00 00 
22:57:10.204 -> wiimote handle=0081 len=23 A1 21 00 00 50 00 FA 00 00 A4 20 04 02 00 00 00 00 00 00 00 00 00 00 
22:57:10.312 -> [D][Wiimote.cpp:825] handle(): SEND => 02 81 20 08 00 04 00 53 00 A2 12 00 34 
22:57:10.312 -> [D][Wiimote.cpp:752] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
22:57:10.312 -> [D][Wiimote.cpp:770] process_hci_event():   (Number Of Completed Packets Event)
22:57:10.312 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B2 4B B5 1E 7E 3F 4C 17 00 99 00 00 00 00 00 00 00 ...
22:57:10.346 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B2 4B B5 1E 7E 3F 4C 17 00 99 00 00 00 00 00 00 00 00 
22:57:10.346 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=45577 BottomRight=46411 TopLeft=32286 BottomLeft=19519 Temperature=23 BatteryLevel=0x99
22:57:10.450 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B7 4B B6 1E 7F 3F 4A 17 00 99 00 00 00 00 00 00 00 ...
22:57:10.487 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B7 4B B6 1E 7F 3F 4A 17 00 99 00 00 00 00 00 00 00 00 
22:57:10.487 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46857 BottomRight=46667 TopLeft=32542 BottomLeft=19007 Temperature=23 BatteryLevel=0x99
22:57:10.594 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B6 4B B5 1E 80 3F 4F 17 00 98 00 00 00 00 00 00 00 ...
22:57:10.594 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B6 4B B5 1E 80 3F 4F 17 00 98 00 00 00 00 00 00 00 00 
22:57:10.629 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46601 BottomRight=46411 TopLeft=32798 BottomLeft=20287 Temperature=23 BatteryLevel=0x98
22:57:10.698 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B8 4B B3 1E 7C 3F 4E 17 00 98 00 00 00 00 00 00 00 ...
22:57:10.737 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B8 4B B3 1E 7C 3F 4E 17 00 98 00 00 00 00 00 00 00 00 
22:57:10.737 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=47113 BottomRight=45899 TopLeft=31774 BottomLeft=20031 Temperature=23 BatteryLevel=0x98
22:57:10.846 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B4 4B B7 1E 80 3F 4C 17 00 99 00 00 00 00 00 00 00 ...
22:57:10.846 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B4 4B B7 1E 80 3F 4C 17 00 99 00 00 00 00 00 00 00 00 
22:57:10.880 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46089 BottomRight=46923 TopLeft=32798 BottomLeft=19519 Temperature=23 BatteryLevel=0x99
22:57:10.987 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B4 4B B7 1E 80 3F 4C 17 00 98 00 00 00 00 00 00 00 ...
22:57:10.987 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B4 4B B7 1E 80 3F 4C 17 00 98 00 00 00 00 00 00 00 00 
22:57:10.987 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46089 BottomRight=46923 TopLeft=32798 BottomLeft=19519 Temperature=23 BatteryLevel=0x98
22:57:11.090 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B5 4B B1 1E 80 3F 4D 17 00 98 00 00 00 00 00 00 00 ...
22:57:11.125 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B5 4B B1 1E 80 3F 4D 17 00 98 00 00 00 00 00 00 00 00 
22:57:11.125 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46345 BottomRight=45387 TopLeft=32798 BottomLeft=19775 Temperature=23 BatteryLevel=0x98
22:57:11.233 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B7 4B B8 1E 7E 3F 4D 17 00 98 00 00 00 00 00 00 00 ...
22:57:11.233 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B7 4B B8 1E 7E 3F 4D 17 00 98 00 00 00 00 00 00 00 00 
22:57:11.267 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46857 BottomRight=47179 TopLeft=32286 BottomLeft=19775 Temperature=23 BatteryLevel=0x98
22:57:11.338 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B4 4B B9 1E 8A 3F 50 17 00 98 00 00 00 00 00 00 00 ...
22:57:11.372 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B4 4B B9 1E 8A 3F 50 17 00 98 00 00 00 00 00 00 00 00 
22:57:11.372 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46089 BottomRight=47435 TopLeft=35358 BottomLeft=20543 Temperature=23 BatteryLevel=0x98
22:57:11.474 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B0 4B BB 1E 83 3F 4F 17 00 98 00 00 00 00 00 00 00 ...
22:57:11.507 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B0 4B BB 1E 83 3F 4F 17 00 98 00 00 00 00 00 00 00 00 
22:57:11.507 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=45065 BottomRight=47947 TopLeft=33566 BottomLeft=20287 Temperature=23 BatteryLevel=0x98
22:57:11.609 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B6 4B BA 1E 84 3F 4A 17 00 98 00 00 00 00 00 00 00 ...
22:57:11.609 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B6 4B BA 1E 84 3F 4A 17 00 98 00 00 00 00 00 00 00 00 
22:57:11.644 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46601 BottomRight=47691 TopLeft=33822 BottomLeft=19007 Temperature=23 BatteryLevel=0x98
22:57:11.749 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 BA 4B BE 1E 83 3F 4F 17 00 98 00 00 00 00 00 00 00 ...
22:57:11.749 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 BA 4B BE 1E 83 3F 4F 17 00 98 00 00 00 00 00 00 00 00 
22:57:11.749 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=47625 BottomRight=48715 TopLeft=33566 BottomLeft=20287 Temperature=23 BatteryLevel=0x98
22:57:11.854 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 BA 4B BE 1E 83 3F 4F 17 00 99 00 00 00 00 00 00 00 ...
22:57:11.887 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 BA 4B BE 1E 83 3F 4F 17 00 99 00 00 00 00 00 00 00 00 
22:57:11.887 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=47625 BottomRight=48715 TopLeft=33566 BottomLeft=20287 Temperature=23 BatteryLevel=0x99
22:57:11.992 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B6 4B B9 1E 82 3F 4C 17 00 98 00 00 00 00 00 00 00 ...
22:57:11.992 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B6 4B B9 1E 82 3F 4C 17 00 98 00 00 00 00 00 00 00 00 
22:57:12.030 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46601 BottomRight=47435 TopLeft=33310 BottomLeft=19519 Temperature=23 BatteryLevel=0x98
22:57:12.104 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B9 4B BC 1E 82 3F 4F 17 00 98 00 00 00 00 00 00 00 ...
22:57:12.139 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B9 4B BC 1E 82 3F 4F 17 00 98 00 00 00 00 00 00 00 00 
22:57:12.139 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=47369 BottomRight=48203 TopLeft=33310 BottomLeft=20287 Temperature=23 BatteryLevel=0x98
22:57:12.242 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B7 4B BD 1E 84 3F 47 17 00 99 00 00 00 00 00 00 00 ...
22:57:12.277 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B7 4B BD 1E 84 3F 47 17 00 99 00 00 00 00 00 00 00 00 
22:57:12.277 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46857 BottomRight=48459 TopLeft=33822 BottomLeft=18239 Temperature=23 BatteryLevel=0x99
22:57:12.386 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B5 4B BB 1E 7D 3F 4E 17 00 99 00 00 00 00 00 00 00 ...
22:57:12.386 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B5 4B BB 1E 7D 3F 4E 17 00 99 00 00 00 00 00 00 00 00 
22:57:12.424 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46345 BottomRight=47947 TopLeft=32030 BottomLeft=20031 Temperature=23 BatteryLevel=0x99
22:57:12.491 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B5 4B B6 1E 85 3F 4C 17 00 99 00 00 00 00 00 00 00 ...
22:57:12.524 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B5 4B B6 1E 85 3F 4C 17 00 99 00 00 00 00 00 00 00 00 
22:57:12.524 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46345 BottomRight=46667 TopLeft=34078 BottomLeft=19519 Temperature=23 BatteryLevel=0x99
22:57:12.633 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B5 4B B3 1E 81 3F 53 17 00 99 00 00 00 00 00 00 00 ...
22:57:12.633 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B5 4B B3 1E 81 3F 53 17 00 99 00 00 00 00 00 00 00 00 
22:57:12.668 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46345 BottomRight=45899 TopLeft=33054 BottomLeft=21311 Temperature=23 BatteryLevel=0x99
22:57:12.770 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B0 4B B6 1E 85 3F 4B 17 00 99 00 00 00 00 00 00 00 ...
22:57:12.770 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B0 4B B6 1E 85 3F 4B 17 00 99 00 00 00 00 00 00 00 00 
22:57:12.807 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=45065 BottomRight=46667 TopLeft=34078 BottomLeft=19263 Temperature=23 BatteryLevel=0x99
22:57:12.878 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B1 4B BB 1E 80 3F 4F 17 00 99 00 00 00 00 00 00 00 ...
22:57:12.911 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B1 4B BB 1E 80 3F 4F 17 00 99 00 00 00 00 00 00 00 00 
22:57:12.911 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=45321 BottomRight=47947 TopLeft=32798 BottomLeft=20287 Temperature=23 BatteryLevel=0x99
22:57:13.018 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B7 4B B7 1E 7F 3F 4F 17 00 99 00 00 00 00 00 00 00 ...
22:57:13.018 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B7 4B B7 1E 7F 3F 4F 17 00 99 00 00 00 00 00 00 00 00 
22:57:13.052 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46857 BottomRight=46923 TopLeft=32542 BottomLeft=20287 Temperature=23 BatteryLevel=0x99
22:57:13.158 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B6 4B B9 1E 7F 3F 50 17 00 99 00 00 00 00 00 00 00 ...
22:57:13.158 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B6 4B B9 1E 7F 3F 50 17 00 99 00 00 00 00 00 00 00 00 
22:57:13.158 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46601 BottomRight=47435 TopLeft=32542 BottomLeft=20543 Temperature=23 BatteryLevel=0x99
22:57:13.262 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 BA 4B B9 1E 82 3F 51 17 00 98 00 00 00 00 00 00 00 ...
22:57:13.296 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 BA 4B B9 1E 82 3F 51 17 00 98 00 00 00 00 00 00 00 00 
22:57:13.296 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=47625 BottomRight=47435 TopLeft=33310 BottomLeft=20799 Temperature=23 BatteryLevel=0x98
22:57:13.401 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 BA 4B B9 1E 82 3F 51 17 00 99 00 00 00 00 00 00 00 ...
22:57:13.401 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 BA 4B B9 1E 82 3F 51 17 00 99 00 00 00 00 00 00 00 00 
22:57:13.435 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=47625 BottomRight=47435 TopLeft=33310 BottomLeft=20799 Temperature=23 BatteryLevel=0x99
22:57:13.539 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B6 4B B8 1E 80 3F 50 17 00 99 00 00 00 00 00 00 00 ...
22:57:13.539 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B6 4B B8 1E 80 3F 50 17 00 99 00 00 00 00 00 00 00 00 
22:57:13.539 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46601 BottomRight=47179 TopLeft=32798 BottomLeft=20543 Temperature=23 BatteryLevel=0x99
22:57:13.644 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B6 4B B8 1E 80 3F 50 17 00 98 00 00 00 00 00 00 00 ...
22:57:13.677 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B6 4B B8 1E 80 3F 50 17 00 98 00 00 00 00 00 00 00 00 
22:57:13.677 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46601 BottomRight=47179 TopLeft=32798 BottomLeft=20543 Temperature=23 BatteryLevel=0x98
22:57:13.783 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 BB 4B B9 1E 83 3F 50 17 00 99 00 00 00 00 00 00 00 ...
22:57:13.783 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 BB 4B B9 1E 83 3F 50 17 00 99 00 00 00 00 00 00 00 00 
22:57:13.817 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=47881 BottomRight=47435 TopLeft=33566 BottomLeft=20543 Temperature=23 BatteryLevel=0x99
22:57:13.926 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B4 4B AE 1E 83 3F 50 17 00 99 00 00 00 00 00 00 00 ...
22:57:13.926 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B4 4B AE 1E 83 3F 50 17 00 99 00 00 00 00 00 00 00 00 
22:57:13.926 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46089 BottomRight=44619 TopLeft=33566 BottomLeft=20543 Temperature=23 BatteryLevel=0x99
22:57:14.034 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 AE 4B B8 1E 80 3F 54 17 00 98 00 00 00 00 00 00 00 ...
22:57:14.071 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 AE 4B B8 1E 80 3F 54 17 00 98 00 00 00 00 00 00 00 00 
22:57:14.071 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=44553 BottomRight=47179 TopLeft=32798 BottomLeft=21567 Temperature=23 BatteryLevel=0x98
22:57:14.176 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B5 4B B8 1E 80 3F 4D 17 00 98 00 00 00 00 00 00 00 ...
22:57:14.176 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B5 4B B8 1E 80 3F 4D 17 00 98 00 00 00 00 00 00 00 00 
22:57:14.212 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46345 BottomRight=47179 TopLeft=32798 BottomLeft=19775 Temperature=23 BatteryLevel=0x98
22:57:14.283 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B3 4B B7 1E 7D 3F 4D 17 00 98 00 00 00 00 00 00 00 ...
22:57:14.321 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B3 4B B7 1E 7D 3F 4D 17 00 98 00 00 00 00 00 00 00 00 
22:57:14.321 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=45833 BottomRight=46923 TopLeft=32030 BottomLeft=19775 Temperature=23 BatteryLevel=0x98
22:57:14.426 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B3 4B B7 1E 7D 3F 4D 17 00 99 00 00 00 00 00 00 00 ...
22:57:14.426 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B3 4B B7 1E 7D 3F 4D 17 00 99 00 00 00 00 00 00 00 00 
22:57:14.463 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=45833 BottomRight=46923 TopLeft=32030 BottomLeft=19775 Temperature=23 BatteryLevel=0x99
22:57:14.568 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B3 4B B9 1E 85 3F 4B 17 00 99 00 00 00 00 00 00 00 ...
22:57:14.568 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B3 4B B9 1E 85 3F 4B 17 00 99 00 00 00 00 00 00 00 00 
22:57:14.568 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=45833 BottomRight=47435 TopLeft=34078 BottomLeft=19263 Temperature=23 BatteryLevel=0x99
22:57:14.673 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B3 4B BA 1E 7F 3F 4E 17 00 98 00 00 00 00 00 00 00 ...
22:57:14.708 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B3 4B BA 1E 7F 3F 4E 17 00 98 00 00 00 00 00 00 00 00 
22:57:14.708 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=45833 BottomRight=47691 TopLeft=32542 BottomLeft=20031 Temperature=23 BatteryLevel=0x98
22:57:14.818 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 BA 4B B2 1E 86 3F 4F 17 00 98 00 00 00 00 00 00 00 ...
22:57:14.818 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 BA 4B B2 1E 86 3F 4F 17 00 98 00 00 00 00 00 00 00 00 
22:57:14.818 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=47625 BottomRight=45643 TopLeft=34334 BottomLeft=20287 Temperature=23 BatteryLevel=0x98
22:57:14.922 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 BA 4B B2 1E 86 3F 4F 17 00 99 00 00 00 00 00 00 00 ...
22:57:14.955 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 BA 4B B2 1E 86 3F 4F 17 00 99 00 00 00 00 00 00 00 00 
22:57:14.955 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=47625 BottomRight=45643 TopLeft=34334 BottomLeft=20287 Temperature=23 BatteryLevel=0x99
22:57:15.058 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B7 4B BA 1E 84 3F 48 17 00 99 00 00 00 00 00 00 00 ...
22:57:15.091 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B7 4B BA 1E 84 3F 48 17 00 99 00 00 00 00 00 00 00 00 
22:57:15.091 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46857 BottomRight=47691 TopLeft=33822 BottomLeft=18495 Temperature=23 BatteryLevel=0x99
22:57:15.194 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B7 4B BA 1E 84 3F 48 17 00 98 00 00 00 00 00 00 00 ...
22:57:15.194 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B7 4B BA 1E 84 3F 48 17 00 98 00 00 00 00 00 00 00 00 
22:57:15.227 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46857 BottomRight=47691 TopLeft=33822 BottomLeft=18495 Temperature=23 BatteryLevel=0x98
22:57:15.333 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 BF 4B B5 1E 87 3F 4D 17 00 99 00 00 00 00 00 00 00 ...
22:57:15.333 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 BF 4B B5 1E 87 3F 4D 17 00 99 00 00 00 00 00 00 00 00 
22:57:15.333 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=48905 BottomRight=46411 TopLeft=34590 BottomLeft=19775 Temperature=23 BatteryLevel=0x99
22:57:15.444 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B5 4B BA 1E 87 3F 4C 17 00 9A 00 00 00 00 00 00 00 ...
22:57:15.479 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B5 4B BA 1E 87 3F 4C 17 00 9A 00 00 00 00 00 00 00 00 
22:57:15.479 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46345 BottomRight=47691 TopLeft=34590 BottomLeft=19519 Temperature=23 BatteryLevel=0x9a
22:57:15.583 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B7 4B BB 1E 81 3F 52 17 00 9A 00 00 00 00 00 00 00 ...
22:57:15.583 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B7 4B BB 1E 81 3F 52 17 00 9A 00 00 00 00 00 00 00 00 
22:57:15.618 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46857 BottomRight=47947 TopLeft=33054 BottomLeft=21055 Temperature=23 BatteryLevel=0x9a
22:57:15.689 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B7 4B BB 1E 81 3F 52 17 00 98 00 00 00 00 00 00 00 ...
22:57:15.727 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B7 4B BB 1E 81 3F 52 17 00 98 00 00 00 00 00 00 00 00 
22:57:15.727 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46857 BottomRight=47947 TopLeft=33054 BottomLeft=21055 Temperature=23 BatteryLevel=0x98
22:57:15.828 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 BD 4B B7 1E 84 3F 4F 17 00 98 00 00 00 00 00 00 00 ...
22:57:15.861 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 BD 4B B7 1E 84 3F 4F 17 00 98 00 00 00 00 00 00 00 00 
22:57:15.861 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=48393 BottomRight=46923 TopLeft=33822 BottomLeft=20287 Temperature=23 BatteryLevel=0x98
22:57:15.971 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B6 4B BC 1E 7F 3F 48 17 00 99 00 00 00 00 00 00 00 ...
22:57:15.971 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B6 4B BC 1E 7F 3F 48 17 00 99 00 00 00 00 00 00 00 00 
22:57:15.971 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46601 BottomRight=48203 TopLeft=32542 BottomLeft=18495 Temperature=23 BatteryLevel=0x99
22:57:16.073 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B2 4B B6 1E 84 3F 4D 17 00 99 00 00 00 00 00 00 00 ...
22:57:16.108 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B2 4B B6 1E 84 3F 4D 17 00 99 00 00 00 00 00 00 00 00 
22:57:16.108 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=45577 BottomRight=46667 TopLeft=33822 BottomLeft=19775 Temperature=23 BatteryLevel=0x99
22:57:16.218 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B2 4B BA 1E 7C 3F 55 17 00 98 00 00 00 00 00 00 00 ...
22:57:16.218 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B2 4B BA 1E 7C 3F 55 17 00 98 00 00 00 00 00 00 00 00 
22:57:16.254 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=45577 BottomRight=47691 TopLeft=31774 BottomLeft=21823 Temperature=23 BatteryLevel=0x98
22:57:16.358 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B9 4B BD 1E 7F 3F 4C 17 00 98 00 00 00 00 00 00 00 ...
22:57:16.358 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B9 4B BD 1E 7F 3F 4C 17 00 98 00 00 00 00 00 00 00 00 
22:57:16.358 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=47369 BottomRight=48459 TopLeft=32542 BottomLeft=19519 Temperature=23 BatteryLevel=0x98
22:57:16.461 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B6 4B BC 1E 87 3F 50 17 00 98 00 00 00 00 00 00 00 ...
22:57:16.498 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B6 4B BC 1E 87 3F 50 17 00 98 00 00 00 00 00 00 00 00 
22:57:16.498 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=46601 BottomRight=48203 TopLeft=34590 BottomLeft=20543 Temperature=23 BatteryLevel=0x98
22:57:16.602 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B3 4B B3 1E 86 3F 4F 17 00 98 00 00 00 00 00 00 00 ...
22:57:16.602 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B3 4B B3 1E 86 3F 4F 17 00 98 00 00 00 00 00 00 00 00 
22:57:16.636 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=45833 BottomRight=45899 TopLeft=34334 BottomLeft=20287 Temperature=23 BatteryLevel=0x98
22:57:16.742 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 B3 4B BC 1E 7F 3F 4B 17 00 98 00 00 00 00 00 00 00 ...
22:57:16.742 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 B3 4B BC 1E 7F 3F 4B 17 00 98 00 00 00 00 00 00 00 00 
22:57:16.742 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=45833 BottomRight=48203 TopLeft=32542 BottomLeft=19263 Temperature=23 BatteryLevel=0x98
22:57:16.847 -> [D][Wiimote.cpp:729] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 09 BB 4B BD 1E 80 3F 4D 17 00 98 00 00 00 00 00 00 00 ...
22:57:16.885 -> [D][Wiimote.cpp:647] process_report(): REPORT len=23 data=A1 34 00 00 09 BB 4B BD 1E 80 3F 4D 17 00 98 00 00 00 00 00 00 00 00 
22:57:16.885 -> wiimote handle=0081 len=23 A1 34 00 00  ... Wii Balance Board: TopRight=47881 BottomRight=48459 TopLeft=32798 BottomLeft=19775 Temperature=23 BatteryLevel=0x98
gigawatts commented 4 years ago

Sweet, nice progress!

EpicLPer commented 4 years ago

Nice coincidence lol, I was about to ask the same here and it seems a pull request to add this feature has been made! Just hope someone works on converting that thing into a Smart Scale then too :D

wraybowling commented 2 years ago

I think that #3 addressed establishing a connection and interpreting the weights splendidly. There is still work to be done to support pairing so that the front toe-pressable button reconnects the board with the ESP32. It is very clunky to flip the board over to press that little red button every time I make a change.

Acorn221 commented 1 year ago

I'm not sure if this is still a very active thread, but I'm having issues with the board when pairing, I'm pretty sure it's something to do with the messages in the tx_queue not being verified if they have been recieved or not by the board, sometimes the light blinks on the board, sometimes it doesn't, and that's the same with me recieving the strain gauge data from the board too. The button on the board always transmits to the ESP32 whenever I press it as well.

If anyone could help with this to confirm if I'm right or wrong, here's my logs: (0ms = avg time per loop over 10k loops of the main script, it can be ignored)

-- Sucess

[ 24715][D][Wiimote.cpp:235] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 24 44 E7 08 9F 
[ 24715][D][Wiimote.cpp:239] process_inquiry_result_event():     Page_Scan_Repetition_Mode = 01
[ 24722][D][Wiimote.cpp:241] process_inquiry_result_event():     Class_of_Device = 04 25 00
[ 24730][D][Wiimote.cpp:242] process_inquiry_result_event():     Clock_Offset = 09 4E
[ 24738][D][Wiimote.cpp:254] process_inquiry_result_event(): queued remote_name_request.
[ 24746][D][Wiimote.cpp:834] handle(): SEND => 01 19 04 0A 9F 08 E7 44 24 00 01 00 4E 89 
[ 24754][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 19 04
[ 24762][D][Wiimote.cpp:201] process_command_status_event(): remote_name_request pending!
[ 24770][D][Wiimote.cpp:235] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 24 44 E7 08 9F
[ 24780][D][Wiimote.cpp:265] process_inquiry_result_event():  (dup idx=0)
[ 24837][D][Wiimote.cpp:235] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 24 44 E7 08 9F 
[ 24837][D][Wiimote.cpp:265] process_inquiry_result_event():  (dup idx=0)
L: 0 ms
[ 24897][D][Wiimote.cpp:235] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 24 44 E7 08 9F 
[ 24897][D][Wiimote.cpp:265] process_inquiry_result_event():  (dup idx=0)
[ 24928][D][Wiimote.cpp:235] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 24 44 E7 08 9F 
[ 24928][D][Wiimote.cpp:265] process_inquiry_result_event():  (dup idx=0)
L: 0 ms
L: 0 ms
[ 25129][D][Wiimote.cpp:235] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 24 44 E7 08 9F 
[ 25130][D][Wiimote.cpp:265] process_inquiry_result_event():  (dup idx=0)
L: 0 ms
L: 0 ms
L: 0 ms
[ 25445][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=07 len=255 data=00 9F 08 E7 44 24 00 4E 69 6E 74 65 6E 64 6F 20 52 56 4C 2D 57 42 43 2D 30 31 00 00 00 00 ...
[ 25450][D][Wiimote.cpp:278] process_remote_name_request_complete_event(): remote_name_request_complete status=00
[ 25460][D][Wiimote.cpp:281] process_remote_name_request_complete_event():   BD_ADDR = 00 24 44 E7 08 9F
[ 25469][D][Wiimote.cpp:284] process_remote_name_request_complete_event():   REMOTE_NAME = Nintendo RVL-WBC-01
[ 25479][D][Wiimote.cpp:293] process_remote_name_request_complete_event(): queued create_connection.
[ 25487][D][Wiimote.cpp:834] handle(): SEND => 01 05 04 0D 9F 08 E7 44 24 00 08 00 01 00 4E 89 00
[ 25496][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 05 04
[ 25505][D][Wiimote.cpp:211] process_command_status_event(): create_connection pending!
L: 0 ms
L: 0 ms
L: 0 ms
[ 25781][D][Wiimote.cpp:235] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 24 44 E7 08 9F 
[ 25781][D][Wiimote.cpp:265] process_inquiry_result_event():  (dup idx=0)
L: 0 ms
[ 25937][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=03 len=11 data=00 81 00 9F 08 E7 44 24 00 01 00 
[ 25937][D][Wiimote.cpp:445] process_connection_complete_event(): connection_complete status=00
[ 25945][D][Wiimote.cpp:453] process_connection_complete_event():   Connection_Handle  = 0x0081
[ 25953][D][Wiimote.cpp:454] process_connection_complete_event():   BD_ADDR            = 00 24 44 E7 08 9F
[ 25962][D][Wiimote.cpp:455] process_connection_complete_event():   Link_Type          = 01
[ 25971][D][Wiimote.cpp:456] process_connection_complete_event():   Encryption_Enabled = 00
[ 25979][D][Wiimote.cpp:311] _l2cap_connect(): queued acl_l2cap_single_packet(CONNECTION REQUEST)
[ 25987][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 0C 00 08 00 01 00 02 01 04 00 11 00 40 00
[ 25996][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 26005][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 26012][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 03 01 08 00 42 00 40 00 01 00 00 00 
[ 26024][D][Wiimote.cpp:482] process_l2cap_connection_response(): L2CAP CONNECTION RESPONSE
[ 26032][D][Wiimote.cpp:483] process_l2cap_connection_response():   identifier      = 01
[ 26040][D][Wiimote.cpp:484] process_l2cap_connection_response():   destination_cid = 0042
[ 26048][D][Wiimote.cpp:485] process_l2cap_connection_response():   source_cid      = 0040
[ 26056][D][Wiimote.cpp:486] process_l2cap_connection_response():   result          = 0001
[ 26064][D][Wiimote.cpp:487] process_l2cap_connection_response():   status          = 0000
[ 26072][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 03 01 08 00 42 00 40 00 00 00 00 00
[ 26084][D][Wiimote.cpp:482] process_l2cap_connection_response(): L2CAP CONNECTION RESPONSE
[ 26092][D][Wiimote.cpp:483] process_l2cap_connection_response():   identifier      = 01
[ 26100][D][Wiimote.cpp:484] process_l2cap_connection_response():   destination_cid = 0042
[ 26108][D][Wiimote.cpp:485] process_l2cap_connection_response():   source_cid      = 0040
[ 26116][D][Wiimote.cpp:486] process_l2cap_connection_response():   result          = 0000
[ 26124][D][Wiimote.cpp:487] process_l2cap_connection_response():   status          = 0000
[ 26132][D][Wiimote.cpp:508] process_l2cap_connection_response(): queued acl_l2cap_single_packet(CONFIGURATION REQUEST)
[ 26142][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 10 00 0C 00 01 00 04 02 08 00 42 00 00 00 01 02 40 00 
[ 26152][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 26161][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 26169][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=22 data=81 20 12 00 0E 00 01 00 05 02 0A 00 40 00 00 00 00 00 01 02 40 00
[ 26181][D][Wiimote.cpp:520] process_l2cap_configuration_response(): L2CAP CONFIGURATION RESPONSE
[ 26190][D][Wiimote.cpp:521] process_l2cap_configuration_response():   identifier      = 02
[ 26198][D][Wiimote.cpp:522] process_l2cap_configuration_response():   len             = 000A
[ 26206][D][Wiimote.cpp:523] process_l2cap_configuration_response():   source_cid      = 0040
[ 26214][D][Wiimote.cpp:524] process_l2cap_configuration_response():   flags           = 0000
[ 26222][D][Wiimote.cpp:525] process_l2cap_configuration_response():   result          = 0000
[ 26231][D][Wiimote.cpp:526] process_l2cap_configuration_response():   config          = 01 02 40 00 
[ 26240][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 04 04 08 00 40 00 00 00 01 02 B9 00
[ 26251][D][Wiimote.cpp:536] process_l2cap_configuration_request(): L2CAP CONFIGURATION REQUEST
[ 26260][D][Wiimote.cpp:537] process_l2cap_configuration_request():   identifier      = 04
[ 26268][D][Wiimote.cpp:538] process_l2cap_configuration_request():   len             = 08
[ 26276][D][Wiimote.cpp:539] process_l2cap_configuration_request():   destination_cid = 0040
[ 26284][D][Wiimote.cpp:540] process_l2cap_configuration_request():   flags           = 0000
[ 26292][D][Wiimote.cpp:541] process_l2cap_configuration_request():   config          = 01 02 B9 00
[ 26301][D][Wiimote.cpp:553] process_l2cap_configuration_request():   MTU=185
[ 26308][D][Wiimote.cpp:575] process_l2cap_configuration_request(): queued acl_l2cap_single_packet(CONFIGURATION RESPONSE)
[ 26319][D][Wiimote.cpp:311] _l2cap_connect(): queued acl_l2cap_single_packet(CONNECTION REQUEST)
[ 26327][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 12 00 0E 00 01 00 05 04 0A 00 42 00 00 00 00 00 01 02 B9 00
[ 26338][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=01 len=1 data=00
[ 26345][D][Wiimote.cpp:272] process_inquiry_complete_event(): inquiry_complete status=00
  event_type=WIIMOTE_EVENT_SCAN_STOP
[ 26357][D][Wiimote.cpp:95] _scan_start(): queued inquiry.
[ 26362][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 0C 00 08 00 01 00 02 03 04 00 13 00 41 00
[ 26370][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
[ 26379][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 26387][D][Wiimote.cpp:834] handle(): SEND => 01 01 04 05 33 8B 9E 0A 00
[ 26393][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 26402][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 26410][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 03 03 08 00 43 00 41 00 00 00 00 00 
[ 26422][D][Wiimote.cpp:482] process_l2cap_connection_response(): L2CAP CONNECTION RESPONSE
[ 26430][D][Wiimote.cpp:483] process_l2cap_connection_response():   identifier      = 03
[ 26438][D][Wiimote.cpp:484] process_l2cap_connection_response():   destination_cid = 0043
[ 26446][D][Wiimote.cpp:485] process_l2cap_connection_response():   source_cid      = 0041
[ 26454][D][Wiimote.cpp:486] process_l2cap_connection_response():   result          = 0000
[ 26462][D][Wiimote.cpp:487] process_l2cap_connection_response():   status          = 0000
[ 26470][D][Wiimote.cpp:508] process_l2cap_connection_response(): queued acl_l2cap_single_packet(CONFIGURATION REQUEST)
[ 26480][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 10 00 0C 00 01 00 04 04 08 00 43 00 00 00 01 02 40 00
[ 26490][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 01 04
[ 26498][D][Wiimote.cpp:190] process_command_status_event(): inquiry pending!
  event_type=WIIMOTE_EVENT_SCAN_START
[ 26509][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 26517][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 26525][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=22 data=81 20 12 00 0E 00 01 00 05 04 0A 00 41 00 00 00 00 00 01 02 40 00
[ 26537][D][Wiimote.cpp:520] process_l2cap_configuration_response(): L2CAP CONFIGURATION RESPONSE
[ 26546][D][Wiimote.cpp:521] process_l2cap_configuration_response():   identifier      = 04
[ 26554][D][Wiimote.cpp:522] process_l2cap_configuration_response():   len             = 000A
[ 26562][D][Wiimote.cpp:523] process_l2cap_configuration_response():   source_cid      = 0041
[ 26571][D][Wiimote.cpp:524] process_l2cap_configuration_response():   flags           = 0000
[ 26579][D][Wiimote.cpp:525] process_l2cap_configuration_response():   result          = 0000
[ 26587][D][Wiimote.cpp:526] process_l2cap_configuration_response():   config          = 01 02 40 00 
[ 26596][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 04 05 08 00 41 00 00 00 01 02 B9 00
[ 26608][D][Wiimote.cpp:536] process_l2cap_configuration_request(): L2CAP CONFIGURATION REQUEST
[ 26616][D][Wiimote.cpp:537] process_l2cap_configuration_request():   identifier      = 05
[ 26624][D][Wiimote.cpp:538] process_l2cap_configuration_request():   len             = 08
[ 26632][D][Wiimote.cpp:539] process_l2cap_configuration_request():   destination_cid = 0041
[ 26641][D][Wiimote.cpp:540] process_l2cap_configuration_request():   flags           = 0000
[ 26649][D][Wiimote.cpp:541] process_l2cap_configuration_request():   config          = 01 02 B9 00
[ 26658][D][Wiimote.cpp:553] process_l2cap_configuration_request():   MTU=185
[ 26664][D][Wiimote.cpp:575] process_l2cap_configuration_request(): queued acl_l2cap_single_packet(CONFIGURATION RESPONSE)
  event_type=WIIMOTE_EVENT_CONNECT
[ 26678][D][Wiimote.cpp:357] _set_led(): queued acl_l2cap_single_packet(Set LEDs)
[ 26686][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 12 00 0E 00 01 00 05 05 0A 00 43 00 00 00 00 00 01 02 B9 00
[ 26696][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 26705][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 26712][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 07 00 03 00 43 00 A2 11 10
[ 26720][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
[ 26728][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 26736][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=0D len=21 data=00 81 00 00 01 A4 06 00 00 00 00 00 00 10 27 00 00 FF FF FF FF
[ 26749][D][Wiimote.cpp:764] process_hci_event():   (QoS Setup Complete Event)
[ 26756][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=16 data=81 20 0C 00 08 00 41 00 A1 20 00 00 02 00 00 D5
[ 26767][D][Wiimote.cpp:416] _write_memory(): queued acl_l2cap_single_packet(write memory)
[ 26775][D][Wiimote.cpp:587] process_report(): REPORT len=8 data=A1 20 00 00 02 00 00 D5
A1 20 00 00 02 00 00 D5
[ 26785][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 1B 00 17 00 43 00 A2 16 04 A4 00 F0 01 55 00 00 00 00 00 00 00 00 00 00 00 00 00 ...
[ 26797][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=12 data=81 20 08 00 04 00 41 00 A1 30 00 00
[ 26807][D][Wiimote.cpp:587] process_report(): REPORT len=4 data=A1 30 00 00
A1 30 00 00 
[ 26815][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 26824][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 26832][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=14 data=81 20 0A 00 06 00 41 00 A1 22 00 00 16 00
[ 26842][D][Wiimote.cpp:416] _write_memory(): queued acl_l2cap_single_packet(write memory)
[ 26850][D][Wiimote.cpp:587] process_report(): REPORT len=6 data=A1 22 00 00 16 00
A1 22 00 00 16 00
[ 26859][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 1B 00 17 00 43 00 A2 16 04 A4 00 FB 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...
L: 0 ms
[ 26879][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 26881][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 26908][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=14 data=81 20 0A 00 06 00 41 00 A1 22 00 00 16 00 
[ 26908][D][Wiimote.cpp:440] _read_memory(): queued acl_l2cap_single_packet(read memory)
[ 26915][D][Wiimote.cpp:587] process_report(): REPORT len=6 data=A1 22 00 00 16 00
A1 22 00 00 16 00
[ 26924][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 0C 00 08 00 43 00 A2 17 04 A4 00 FA 00 06
[ 26937][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
[ 26942][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 26953][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 21 00 00 50 00 FA 00 00 A4 20 04 02 00 00 00 00 00 00 00 00 00 ...
[ 26964][D][Wiimote.cpp:440] _read_memory(): queued acl_l2cap_single_packet(read memory)
[ 26972][D][Wiimote.cpp:587] process_report(): REPORT len=23 data=A1 21 00 00 50 00 FA 00 00 A4 20 04 02 00 00 00 00 00 00 00 00 00 00
A1 21 00 00 50 00 FA 00 00 A4 20 04 02 00 00 00 00 00 00 00 00 00 00 
[ 26990][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 0C 00 08 00 43 00 A2 17 04 A4 00 24 00 10
[ 26999][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 27008][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 27015][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 21 00 00 F0 00 24 4C C5 08 30 06 9B 16 4D 53 55 0F 16 0D 55 1C ...
[ 27030][D][Wiimote.cpp:654] process_extension_controller_reports(): BALANCE CALIBRATION DATA 1 len=23 data=A1 21 00 00 F0 00 24 4C C5 08 30 06 9B 16 4D 53 55 0F 16 0D 55 1C DA 
[ 27046][D][Wiimote.cpp:440] _read_memory(): queued acl_l2cap_single_packet(read memory)
[ 27053][D][Wiimote.cpp:587] process_report(): REPORT len=23 data=A1 21 00 00 F0 00 24 4C C5 08 30 06 9B 16 4D 53 55 0F 16 0D 55 1C DA
A1 21 00 00 F0 00 24 4C C5 08 30 06 9B 16 4D 53 55 0F 16 0D 55 1C DA
[ 27072][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 0C 00 08 00 43 00 A2 17 04 A4 00 34 00 08 
[ 27080][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 27089][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 27097][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 21 00 00 70 00 34 59 F0 16 03 14 1D 23 71 00 00 00 00 00 00 00 ...
[ 27111][D][Wiimote.cpp:673] process_extension_controller_reports(): BALANCE CALIBRATION DATA 2 len=23 data=A1 21 00 00 70 00 34 59 F0 16 03 14 1D 23 71 00 00 00 00 00 00 00 00 
[ 27127][D][Wiimote.cpp:376] _set_reporting_mode(): queued acl_l2cap_single_packet(Set reporting mode)
[ 27136][D][Wiimote.cpp:587] process_report(): REPORT len=23 data=A1 21 00 00 70 00 34 59 F0 16 03 14 1D 23 71 00 00 00 00 00 00 00 00
A1 21 00 00 70 00 34 59 F0 16 03 14 1D 23 71 00 00 00 00 00 00 00 00
[ 27154][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 08 00 04 00 43 00 A2 12 00 34
[ 27164][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
[ 27170][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 27181][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=31 data=81 20 1B 00 17 00 41 00 A1 34 00 00 4B 8F 08 3D 04 F3 14 DD 18 00 86 00 00 00 00 00 00 00 ...
[ 27193][D][Wiimote.cpp:587] process_report(): REPORT len=23 data=A1 34 00 00 4B 8F 08 3D 04 F3 14 DD 18 00 86 00 00 00 00 00 00 00 00
-- Failure

[ 37988][D][Wiimote.cpp:235] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 24 44 E7 08 9F 
[ 37988][D][Wiimote.cpp:239] process_inquiry_result_event():     Page_Scan_Repetition_Mode = 01
[ 37995][D][Wiimote.cpp:241] process_inquiry_result_event():     Class_of_Device = 04 25 00
[ 38004][D][Wiimote.cpp:242] process_inquiry_result_event():     Clock_Offset = 17 4E
[ 38011][D][Wiimote.cpp:254] process_inquiry_result_event(): queued remote_name_request.
[ 38019][D][Wiimote.cpp:834] handle(): SEND => 01 19 04 0A 9F 08 E7 44 24 00 01 00 4E 97 
[ 38027][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 19 04
[ 38035][D][Wiimote.cpp:201] process_command_status_event(): remote_name_request pending!
[ 38043][D][Wiimote.cpp:235] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 24 44 E7 08 9F
[ 38053][D][Wiimote.cpp:265] process_inquiry_result_event():  (dup idx=0)
[ 38089][D][Wiimote.cpp:235] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 24 44 E7 08 9F 
[ 38089][D][Wiimote.cpp:265] process_inquiry_result_event():  (dup idx=0)
L: 0 ms
[ 38110][D][Wiimote.cpp:235] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 24 44 E7 08 9F 
[ 38110][D][Wiimote.cpp:265] process_inquiry_result_event():  (dup idx=0)
[ 38131][D][Wiimote.cpp:235] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 24 44 E7 08 9F 
[ 38131][D][Wiimote.cpp:265] process_inquiry_result_event():  (dup idx=0)
L: 0 ms
L: 0 ms
L: 0 ms
[ 38502][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=07 len=255 data=00 9F 08 E7 44 24 00 4E 69 6E 74 65 6E 64 6F 20 52 56 4C 2D 57 42 43 2D 30 31 00 00 00 00 ...
[ 38507][D][Wiimote.cpp:278] process_remote_name_request_complete_event(): remote_name_request_complete status=00
[ 38517][D][Wiimote.cpp:281] process_remote_name_request_complete_event():   BD_ADDR = 00 24 44 E7 08 9F
[ 38526][D][Wiimote.cpp:284] process_remote_name_request_complete_event():   REMOTE_NAME = Nintendo RVL-WBC-01
[ 38536][D][Wiimote.cpp:293] process_remote_name_request_complete_event(): queued create_connection.
[ 38545][D][Wiimote.cpp:834] handle(): SEND => 01 05 04 0D 9F 08 E7 44 24 00 08 00 01 00 4E 97 00
[ 38553][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 05 04
[ 38562][D][Wiimote.cpp:211] process_command_status_event(): create_connection pending!
L: 0 ms
L: 0 ms
L: 0 ms
[ 38792][D][Wiimote.cpp:235] process_inquiry_result_event(): **** inquiry_result BD_ADDR(0/1) = 00 24 44 E7 08 9F 
[ 38792][D][Wiimote.cpp:265] process_inquiry_result_event():  (dup idx=0)
L: 0 ms
[ 38958][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=03 len=11 data=00 81 00 9F 08 E7 44 24 00 01 00 
[ 38958][D][Wiimote.cpp:445] process_connection_complete_event(): connection_complete status=00
[ 38966][D][Wiimote.cpp:453] process_connection_complete_event():   Connection_Handle  = 0x0081
[ 38974][D][Wiimote.cpp:454] process_connection_complete_event():   BD_ADDR            = 00 24 44 E7 08 9F
[ 38984][D][Wiimote.cpp:455] process_connection_complete_event():   Link_Type          = 01
[ 38992][D][Wiimote.cpp:456] process_connection_complete_event():   Encryption_Enabled = 00
[ 39000][D][Wiimote.cpp:311] _l2cap_connect(): queued acl_l2cap_single_packet(CONNECTION REQUEST)
[ 39008][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 0C 00 08 00 01 00 02 01 04 00 11 00 40 00
[ 39020][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 39026][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 39034][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 03 01 08 00 46 00 40 00 01 00 00 00 
[ 39045][D][Wiimote.cpp:482] process_l2cap_connection_response(): L2CAP CONNECTION RESPONSE
[ 39053][D][Wiimote.cpp:483] process_l2cap_connection_response():   identifier      = 01
[ 39061][D][Wiimote.cpp:484] process_l2cap_connection_response():   destination_cid = 0046
[ 39069][D][Wiimote.cpp:485] process_l2cap_connection_response():   source_cid      = 0040
[ 39077][D][Wiimote.cpp:486] process_l2cap_connection_response():   result          = 0001
[ 39085][D][Wiimote.cpp:487] process_l2cap_connection_response():   status          = 0000
[ 39093][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=01 len=1 data=00
[ 39101][D][Wiimote.cpp:272] process_inquiry_complete_event(): inquiry_complete status=00
  event_type=WIIMOTE_EVENT_SCAN_STOP
[ 39112][D][Wiimote.cpp:95] _scan_start(): queued inquiry.
[ 39117][D][Wiimote.cpp:834] handle(): SEND => 01 01 04 05 33 8B 9E 0A 00
[ 39124][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 03 01 08 00 46 00 40 00 00 00 00 00 
[ 39136][D][Wiimote.cpp:482] process_l2cap_connection_response(): L2CAP CONNECTION RESPONSE
[ 39144][D][Wiimote.cpp:483] process_l2cap_connection_response():   identifier      = 01
[ 39152][D][Wiimote.cpp:484] process_l2cap_connection_response():   destination_cid = 0046
[ 39160][D][Wiimote.cpp:485] process_l2cap_connection_response():   source_cid      = 0040
[ 39168][D][Wiimote.cpp:486] process_l2cap_connection_response():   result          = 0000
[ 39176][D][Wiimote.cpp:487] process_l2cap_connection_response():   status          = 0000
[ 39184][D][Wiimote.cpp:508] process_l2cap_connection_response(): queued acl_l2cap_single_packet(CONFIGURATION REQUEST)
[ 39194][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 10 00 0C 00 01 00 04 02 08 00 46 00 00 00 01 02 40 00
[ 39204][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=0F len=4 data=00 05 01 04
[ 39212][D][Wiimote.cpp:190] process_command_status_event(): inquiry pending!
  event_type=WIIMOTE_EVENT_SCAN_START
[ 39223][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 39231][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
L: 0 ms
[ 39285][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=22 data=81 20 12 00 0E 00 01 00 05 02 0A 00 40 00 00 00 00 00 01 02 40 00 
[ 39287][D][Wiimote.cpp:520] process_l2cap_configuration_response(): L2CAP CONFIGURATION RESPONSE
[ 39295][D][Wiimote.cpp:521] process_l2cap_configuration_response():   identifier      = 02
[ 39304][D][Wiimote.cpp:522] process_l2cap_configuration_response():   len             = 000A
[ 39312][D][Wiimote.cpp:523] process_l2cap_configuration_response():   source_cid      = 0040
[ 39320][D][Wiimote.cpp:524] process_l2cap_configuration_response():   flags           = 0000
[ 39328][D][Wiimote.cpp:525] process_l2cap_configuration_response():   result          = 0000
[ 39337][D][Wiimote.cpp:526] process_l2cap_configuration_response():   config          = 01 02 40 00
[ 39345][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 04 0C 08 00 40 00 00 00 01 02 B9 00
[ 39357][D][Wiimote.cpp:536] process_l2cap_configuration_request(): L2CAP CONFIGURATION REQUEST
[ 39366][D][Wiimote.cpp:537] process_l2cap_configuration_request():   identifier      = 0C
[ 39374][D][Wiimote.cpp:538] process_l2cap_configuration_request():   len             = 08
[ 39382][D][Wiimote.cpp:539] process_l2cap_configuration_request():   destination_cid = 0040
[ 39390][D][Wiimote.cpp:540] process_l2cap_configuration_request():   flags           = 0000
[ 39398][D][Wiimote.cpp:541] process_l2cap_configuration_request():   config          = 01 02 B9 00
[ 39407][D][Wiimote.cpp:553] process_l2cap_configuration_request():   MTU=185
[ 39414][D][Wiimote.cpp:575] process_l2cap_configuration_request(): queued acl_l2cap_single_packet(CONFIGURATION RESPONSE)
[ 39425][D][Wiimote.cpp:311] _l2cap_connect(): queued acl_l2cap_single_packet(CONNECTION REQUEST)
[ 39433][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 12 00 0E 00 01 00 05 0C 0A 00 46 00 00 00 00 00 01 02 B9 00
[ 39443][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 39452][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 39460][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 0C 00 08 00 01 00 02 03 04 00 13 00 41 00
[ 39470][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 39477][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 39485][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 03 03 08 00 47 00 41 00 00 00 00 00 
[ 39497][D][Wiimote.cpp:482] process_l2cap_connection_response(): L2CAP CONNECTION RESPONSE
[ 39505][D][Wiimote.cpp:483] process_l2cap_connection_response():   identifier      = 03
[ 39513][D][Wiimote.cpp:484] process_l2cap_connection_response():   destination_cid = 0047
[ 39521][D][Wiimote.cpp:485] process_l2cap_connection_response():   source_cid      = 0041
[ 39529][D][Wiimote.cpp:486] process_l2cap_connection_response():   result          = 0000
[ 39537][D][Wiimote.cpp:487] process_l2cap_connection_response():   status          = 0000
[ 39545][D][Wiimote.cpp:508] process_l2cap_connection_response(): queued acl_l2cap_single_packet(CONFIGURATION REQUEST)
[ 39555][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 10 00 0C 00 01 00 04 04 08 00 47 00 00 00 01 02 40 00
[ 39565][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 39574][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 39593][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=22 data=81 20 12 00 0E 00 01 00 05 04 0A 00 41 00 00 00 00 00 01 02 40 00 
[ 39594][D][Wiimote.cpp:520] process_l2cap_configuration_response(): L2CAP CONFIGURATION RESPONSE
[ 39603][D][Wiimote.cpp:521] process_l2cap_configuration_response():   identifier      = 04
[ 39611][D][Wiimote.cpp:522] process_l2cap_configuration_response():   len             = 000A
[ 39619][D][Wiimote.cpp:523] process_l2cap_configuration_response():   source_cid      = 0041
[ 39627][D][Wiimote.cpp:524] process_l2cap_configuration_response():   flags           = 0000
[ 39636][D][Wiimote.cpp:525] process_l2cap_configuration_response():   result          = 0000
[ 39644][D][Wiimote.cpp:526] process_l2cap_configuration_response():   config          = 01 02 40 00
[ 39653][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=20 data=81 20 10 00 0C 00 01 00 04 0D 08 00 41 00 00 00 01 02 B9 00
[ 39665][D][Wiimote.cpp:536] process_l2cap_configuration_request(): L2CAP CONFIGURATION REQUEST
[ 39673][D][Wiimote.cpp:537] process_l2cap_configuration_request():   identifier      = 0D
[ 39681][D][Wiimote.cpp:538] process_l2cap_configuration_request():   len             = 08
[ 39689][D][Wiimote.cpp:539] process_l2cap_configuration_request():   destination_cid = 0041
[ 39697][D][Wiimote.cpp:540] process_l2cap_configuration_request():   flags           = 0000
[ 39706][D][Wiimote.cpp:541] process_l2cap_configuration_request():   config          = 01 02 B9 00
[ 39714][D][Wiimote.cpp:553] process_l2cap_configuration_request():   MTU=185
[ 39721][D][Wiimote.cpp:575] process_l2cap_configuration_request(): queued acl_l2cap_single_packet(CONFIGURATION RESPONSE)
  event_type=WIIMOTE_EVENT_CONNECT
[ 39735][D][Wiimote.cpp:357] _set_led(): queued acl_l2cap_single_packet(Set LEDs)
[ 39742][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 12 00 0E 00 01 00 05 0D 0A 00 47 00 00 00 00 00 01 02 B9 00
[ 39753][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00 
[ 39761][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 39769][D][Wiimote.cpp:834] handle(): SEND => 02 81 20 07 00 03 00 47 00 A2 11 10
[ 39776][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=13 len=5 data=01 81 00 01 00
[ 39785][D][Wiimote.cpp:761] process_hci_event():   (Number Of Completed Packets Event)
[ 39793][D][Wiimote.cpp:736] process_hci_event(): **** HCI_EVENT code=0D len=21 data=00 81 00 00 01 A4 06 00 00 00 00 00 00 10 27 00 00 FF FF FF FF 
[ 39806][D][Wiimote.cpp:764] process_hci_event():   (QoS Setup Complete Event)
[ 39813][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=12 data=81 20 08 00 04 00 41 00 A1 30 00 00
[ 39823][D][Wiimote.cpp:587] process_report(): REPORT len=4 data=A1 30 00 00
A1 30 00 00
L: 0 ms
[ 39965][D][Wiimote.cpp:713] process_acl_data(): **** ACL_DATA len=12 data=81 20 08 00 04 00 41 00 A1 30 00 08 
[ 39966][D][Wiimote.cpp:587] process_report(): REPORT len=4 data=A1 30 00 08
A1 30 00 08
Balance Board Button Pressed
L: 0 ms
JabberwockPL commented 1 year ago

I think that #3 addressed establishing a connection and interpreting the weights splendidly. There is still work to be done to support pairing so that the front toe-pressable button reconnects the board with the ESP32. It is very clunky to flip the board over to press that little red button every time I make a change.

Permanent pairing requires PIN, WiiBalanceWalker does that: https://github.com/lshachar/WiiBalanceWalker

wraybowling commented 1 year ago

Permanent pairing requires PIN

Correct. Though it's out of scope for this issue. It took quite some time for me to learn how it works, but it's very simple: The last 4 digits of the address a wii controller/board paired with (the ESP32) are stored. When you kick the A/front button (as opposed to the red button in the battery door), it tries to use that as the PIN. The library would need an additional way to pair-with-PIN and it would be an enhancement for balance boards and wiimotes. I started on this on my own fork, but welcome anyone else knowledgeable to chip in.