mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-01 05:07:26 +06:00
377 lines
9.6 KiB
Plaintext
377 lines
9.6 KiB
Plaintext
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
|