]> git.donarmstrong.com Git - tmk_firmware.git/blobdiff - protocol/iwrap/iWRAP.txt
Moved files to common, protocol and doc directory
[tmk_firmware.git] / protocol / iwrap / iWRAP.txt
diff --git a/protocol/iwrap/iWRAP.txt b/protocol/iwrap/iWRAP.txt
new file mode 100644 (file)
index 0000000..2a062d9
--- /dev/null
@@ -0,0 +1,376 @@
+Bulegiga WT12
+=============
+WT12 is a bluetooth module from Bluegiga. http://www.bluegiga.com/
+
+iWRAP
+    higher layer interface for bluetooth firmware
+    communicate with UART
+
+iWRAP HID
+default setting
+    115200  8bit/n/1/n
+
+
+TODO
+----
+KiCAD circuit/PCB design
+power saving
+    AVR sleep(15ms by watch dog timer)
+    WT12 sleep
+    measuring current consumption
+    measuring battery life of normal usage/idle/intensive usage
+software reset/bootloarder
+LED indicator(chaging/paring/connecting)
+license confirmation of suart.c
+consumer page is not working
+authenticate method/SSP
+SPP keyboard support
+SPP debug console support
+mouse wheel feature request to Bluegiga
+
+
+Problems
+--------
+power consumption
+no consumer page support(bug?)
+no mouse wheel support
+no paring management
+no interactive auth method
+
+
+UART hardware flow control
+--------------------------
+(iWRAP4 User Guide 9.5)
+Hardware flow control is enabled by default and it should not be disabled unless mandatory, because without the hardware flow control the data transmission may not be reliable.
+If the hardware flow control is enabled from PS-keys, but no flow control is used, the following steps should be implemented in the hardware design:
+- CTS pin must be grounded
+- RTS pin must be left floating
+
+
+Power Saving
+------------
+power consume
+    without opimization: 4hr to shutdown(310mAh)
+    2011/08/25: 9hr(310mAh) SNIFF MASTER sleep/WDTO_120MS
+
+measure current consumption
+    HHKB keyswitch matrix board
+        idle
+        scanning
+    Bluegiga WT12 module
+        SLEEP command
+        deep sleep on/off in config bits
+
+HHKB keyswich
+    how to power off
+        I/O pin configuration when sleeping
+        FET switch for 5V regulator
+
+Bluetooth module
+    power off when in USB mode
+    power off by FET switch
+
+AVR configuration
+    unused pins
+    ADC
+    
+
+
+SET CONTROL CONFIG
+------------------
+    SET CONTROL CONFIG 4810
+    SET CONTROL CONFIG LIST
+    SET CONTROL CONFIG 0000 0000 4910 DEEP_SLEEP KLUDGE INTERACTIVE_PIN UART_LATENCY
+
+    Bit14   UART low latency
+    Bit11   Interactive pairing mode
+    Bit04   Deep sleep
+
+
+Reconnection
+------------
+SET CONTROL AUTOCALL 1124 5000 HID
+    1124    HID service class
+    5000    interval ms
+
+HID profile
+-----------
+This is needed to configure only once.
+    SET PROFILE HID ON
+    RESET
+
+HID class
+---------
+    SET BT CLASS 005C0  // keyboard/mouse combined devie
+
+Pairing Security
+----------------
+Secure Simple Pairing(SSP)
+    SET BT SSP 2 0  // Enables SSP for keyboard and Man-in-the-middle protection
+    SET BT SSP 3 0  // Enables SSP just works mode
+
+for keyboard with SSP
+    SET BT AUTH * 0000
+    SET BT SSP 2 0
+    SET CONTROL CONFIG 800
+    RESET
+
+for keyboard without SSP
+    SET BT AUTH * 0000
+    SET CONTROL CONFIG 800
+    RESET
+
+AUTH
+    AUTH xx:xx:xx:xx:xx:xx?         // Pairing request event
+    AUTH xx:xx:xx:xx:xx:xx  0000
+
+    SSP PASSKEY 78:dd:08:b7:e4:a2 ?
+    SSP PASSKEY 78:dd:08:b7:e4:a2 xxxxx
+    (SSP COMPLETE 78:dd:08:b7:e4:a2 HCI_ERROR_AUTH_FAIL     // failed)
+    RING 0 78:dd:08:b7:e4:a2 11 HID
+
+Connecton
+    RING xx:xx:xx:xx:xx:xx xx HID   // connection event
+
+    KILL xx:xx:xx:xx:xx:xx
+
+Mode
+----
+Command mode
+Data mode
+    Raw mode
+    (Simple mode         not for a real keyboard)
+
+Raw mode
+    Keyboard:
+    0x9f, length(10), 0xa1, 0x01, mods, 0x00, key1, key2, key3, key4, key5, key6
+
+    Mouse:
+    0x9f, length(5), 0xa1, 0x02, buttons, X, Y
+
+    Consumer page:
+    0x9f, length(5), 0xa1, 0x03, bitfield1, bitfield2, bitfield3
+
+    consumer page suage
+    Bitfield 1:
+        0x01 Volume Increment
+        0x02 Volume Decrement
+        0x04 Mute
+        0x08 Play/Pause
+        0x10 Scan Next Track
+        0x20 Scan Previous Track
+        0x40 Stop
+        0x80 Eject
+    Bitfield 2:
+        0x01 Email Reader
+        0x02 Application Control Search
+        0x04 AC Bookmarks
+        0x08 AC Home
+        0x10 AC Back
+        0x20 AC Forward
+        0x40 AC Stop
+        0x80 AC Refresh
+    Bitfield 3:
+        0x01 Application Launch Generic Consumer Control
+        0x02 AL Internet Browser
+        0x04 AL Calculator
+        0x08 AL Terminal Lock / Screensaver
+        0x10 AL Local Machine Browser
+        0x20 AC Minimize
+        0x40 Record
+        0x80 Rewind
+
+
+
+
+
+2011/07/13
+set
+SET BT BDADDR 00:07:80:47:22:14
+SET BT NAME HHKB pro BT
+SET BT CLASS 0005c0
+SET BT AUTH * 0000
+SET BT IDENT BT:47 f000 4.1.0 Bluegiga iWRAP
+SET BT LAP 9e8b33
+SET BT PAGEMODE 4 2000 1
+SET BT PAIR 78:dd:08:b7:e4:a2 a191189cd7e51030ad6a07848ce879bb
+SET BT POWER 3 3 3
+SET BT ROLE 0 f 7d00
+SET BT SNIFF 0 20 1 8
+SET BT SSP 2 1
+SET BT MTU 667
+SET CONTROL AUTOCALL 1124 3000 HID
+SET CONTROL BAUD 38400,8n1
+SET CONTROL CD 00 0
+SET CONTROL ECHO 7
+SET CONTROL ESCAPE 43 00 1
+SET CONTROL GAIN 0 5
+SET CONTROL INIT SET CONTROL MUX 0
+SET CONTROL MSC DTE 00 00 00 00 00 00
+SET CONTROL MUX 1
+SET CONTROL PIO 00 00
+SET CONTROL READY 00
+SET PROFILE HID f HID
+SET
+
+info config
+
+!!! THIS IS BETA RELEASE AND MAY BE USED FOR EVALUATION PURPOSES ONLY !!!
+
+WRAP THOR AI (4.1.0 build 435)
+Copyright (c) 2003-2011 Bluegiga Technologies Inc.
+Compiled on Jun 28 2011 17:19:51, running on WT12-A module, psr v31
+        AVRCP BGIO FTP HFP HFP_AG HID HID_CONSUMER_PAGE HSP LEDS MAP OTA PBAP PIO=0x00fc SSP SUBRATE TEST VOLUME
+        - BOCK3 version 435 (Jun 28 2011 17:19:37) (max acl/sco 7/1)
+        - Bluetooth version 2.1, Power class 2
+        - Loader 4279, firmware 6297 (56-bit encryption), native execution mode
+        - up 0 days, 06:23, 2 connections (pool 2)
+        - User configuration:
+&028a = 0001 0000 0000 0011 0024 0000 0000 0010 0000 0080 0000 0000 0080 005f 009b 0034 00fb 0006
+&028b = 0000 0bb8
+&028d = 0001
+&0295 = 0000 0005 000b 0000 0003 0000 0000 0000 0000 0000 0000
+&0298 = a006
+&0299 = 0000 0000
+&02a3 = 0030 0030 0030 0030
+&02a4 = 009d 0000
+&02a5 = 0053 0045 0054 0020 0043 004f 004e 0054 0052 004f 004c 0020 004d 0055 0058 0020 0030
+&02a7 = 0000 05c0
+&02a8 = 4910 0000 0000
+&02aa = 0004 2000 0001 0033 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
+&02ac = 0000 0000 002b 0000 0000 0000 0000 0000 0000 0000 0002 0000 0000 0000 0010 0000 0000 0000 0000 029b 0000 0000 0000 0000
+&02ad = 4848 424b 7020 6f72 4220 0054
+&02b3 = 0005 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003
+&02b7 = 000f 4948 0044
+&02bb = 8000
+READY.
+
+
+
+
+2011/07/07 settings:
+set
+SET BT BDADDR 00:07:80:47:22:14
+SET BT NAME HHKB Pro BT
+SET BT CLASS 0005c0
+SET BT AUTH * 000
+SET BT IDENT BT:47 f000 4.0.0 Bluegiga iWRAP
+SET BT LAP 9e8b33
+SET BT PAGEMODE 4 2000 1
+SET BT PAIR 78:dd:08:b7:e4:a2 9e54d0aabb1b4d73cfccddb1ea4ef2d6
+SET BT POWER 3 3 3
+SET BT ROLE 0 f 7d00
+SET BT SNIFF 0 20 1 8
+SET BT SSP 3 0
+SET BT MTU 667
+SET CONTROL BAUD 38400,8n1
+SET CONTROL CD 00 0
+SET CONTROL ECHO 7
+SET CONTROL ESCAPE 255 00 1
+SET CONTROL GAIN 0 5
+SET CONTROL INIT set control mux 0
+SET CONTROL MSC DTE 00 00 00 00 00 00
+SET CONTROL PREAMP 1 1
+SET CONTROL READY 00
+SET PROFILE HID HID
+SET PROFILE SPP Bluetooth Serial Port
+SET
+
+info config
+WRAP THOR AI (4.0.0 build 317)
+Copyright (c) 2003-2010 Bluegiga Technologies Inc.
+Compiled on Apr 20 2010 16:44:28, running on WT12-A module, psr v31
+        AVRCP FTP PBAP PIO=0x00fc SSP SUBRATE VOLUME
+        - BOCK3 version 317 (Apr 20 2010 16:44:21) (max acl/sco 7/1)
+        - Bluetooth version 2.1, Power class 2
+        - Loader 4279, firmware 6297 (56-bit encryption), native execution mode
+        - up 0 days, 00:00, 0 connections (pool 1)
+        - User configuration:
+&028c = 0001 0020 0000 0001 0008 0000
+&028d = 0000
+&0296 = 0047 0001 f000 0400 6c42 6575 6967 6167 6920 5257 5041
+&0298 = c006
+&02a3 = 0030 0030 0030
+&02a4 = 009d 0000
+&02a5 = 0073 0065 0074 0020 0063 006f 006e 0074 0072 006f 006c 0020 006d 0075 0078 0020 0030
+&02a7 = 0000 05c0
+&02a8 = 0800 0000 0000
+&02ac = 0000 0000 00ff 0000 0000 0000 0000 0000 0000 0000 0002 0000 0000 0000 0010 0000 0000 0000 0000 029b 0000 0000 0000 0000
+&02ad = 4848 424b 5020 6f72 4220 0054
+&02b3 = 0004 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003
+&02b7 = 0000
+&02bb = 6c42 6575 6f74 746f 2068 6553 6972 6c61 5020 726f 0074
+READY.
+
+
+
+2011/08/23:
+SET BT BDADDR 00:07:80:47:22:14
+SET BT NAME HHKB pro BT
+SET BT CLASS 0005c0
+SET BT AUTH * 0000
+SET BT IDENT BT:47 f000 4.1.0 Bluegiga iWRAP
+SET BT LAP 9e8b33
+SET BT PAGEMODE 4 2000 1
+SET BT PAIRCOUNT 4
+SET BT POWER 3 3 3
+SET BT ROLE 1 f 12c0
+SET BT SNIFF 10 2 1 8
+SET BT SSP 3 0
+SET BT MTU 667
+SET CONTROL BAUD 38400,8n1
+SET CONTROL CD 00 0
+SET CONTROL ECHO 7
+SET CONTROL ESCAPE 43 00 1
+SET CONTROL GAIN 0 5
+SET CONTROL INIT SET CONTROL MUX 0
+SET CONTROL MSC DTE 00 00 00 00 00 00
+SET CONTROL MUX 1
+SET CONTROL PIO 00 00
+SET CONTROL READY 00
+SET PROFILE HID 7 HIDKeyboardMouse
+SET
+
+SET CONTROL CONFIG 0000 0004 481e CLOCK_CACHE INTERLACED_INQ INTERLACED_PAGE DEEP_SLEEP INTERACTIVE_PIN UART_LATENCY 23D_NOKLUDGE
+
+
+
+2011/08/25:
+SET BT BDADDR 00:07:80:47:22:14
+SET BT NAME HHKB pro BT
+SET BT CLASS 0005c0
+
+SET BT IDENT BT:47 f000 4.1.0 Bluegiga iWRAP
+SET BT LAP 9e8b33
+SET BT PAGEMODE 4 2000 1
+SET BT PAIRCOUNT 4
+SET BT PAIR 78:dd:08:b7:e4:a2 0be83335a03fed8ededae42e99554e28
+SET BT POWER 3 3 3
+SET BT ROLE 1 f 12c0
+SET BT SNIFF 100 20 1 8
+SET BT SSP 3 0
+SET BT MTU 667
+SET CONTROL BAUD 38400,8n1
+SET CONTROL CD 00 0
+SET CONTROL ECHO 7
+SET CONTROL ESCAPE - 20 1
+SET CONTROL GAIN 0 5
+SET CONTROL INIT SET CONTROL MUX 0
+SET CONTROL MSC DTE 00 00 00 00 00 00
+SET CONTROL MUX 1
+SET CONTROL PIO 00 00
+SET CONTROL READY 00
+SET PROFILE HID f HIDKeyboardMouse
+SET
+
+
+SET CONTROL CONFIG 0000 0000 490e CLOCK_CACHE INTERLACED_INQ INTERLACED_PAGE KLUDGE INTERACTIVE_PIN UART_LATENCY
+
+
+2011/09/08:
+SET CONTROL CONFIG 0000 0000 410e CLOCK_CACHE INTERLACED_INQ INTERLACED_PAGE KLUDGE UART_LATENCY
+
+    Removed INTERACTIVE_PIN to avoid interactive auth and use SET BT AUTH pin(0000).
+
+
+EOF