X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=keyboard%2Fhhkb_rn42%2FMEMO.txt;h=86f5faef2d60f25e970cf83125ab95b7d3f913c4;hb=3e7875455ed392ce5238efa0734e82995e1f8040;hp=5b6439840259b4a21f682e1e220b9f5b0b2833ae;hpb=1619d68cb289529d7e200747e9c9f5c7dd6a6506;p=tmk_firmware.git diff --git a/keyboard/hhkb_rn42/MEMO.txt b/keyboard/hhkb_rn42/MEMO.txt index 5b64398..86f5fae 100644 --- a/keyboard/hhkb_rn42/MEMO.txt +++ b/keyboard/hhkb_rn42/MEMO.txt @@ -1,9 +1,15 @@ Roving RN-42 ============ +07/16 After fix of voltage dividor on GPIO6, had a trouble that it could not send a char to BT module, though could receive. + Found R8 had wrong 1K resistor and changed to 10K, after that it can send to the module again. Not sure how it had sent with the wrong 1K before. +07/18 On Linux, had an USB related trouble; keyobard or console didn't work for some reason. Changing PID cured this problem. Very annoying, took very long time before resolved it. + TODO ---- +- LUFA sendchar should be buffered and serial_uart.c buffur size is too large(256). +- Factroy reset doesn't work; need to test again. 10K pull-up is too high? - Lipo voltage ADC sensing - Lipo charger configuration: fast charge time: USB charger spec? - Low voltage alarm: LED indcates voltage of Lipo @@ -24,43 +30,32 @@ DONE: - Power selector doesn't work; Q4 MOSFET leaks from Lipo to USB power line. -- use Schottky instead 07/04 +Lipo +---- +Sparkfun Polymer Lithium Ion Battery 850mAh: +https://www.sparkfun.com/products/341 +Lipo Cell spec: +https://www.sparkfun.com/datasheets/Batteries/063048%20Li-polymer.pdf +Protection spec: +http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Prototyping/BatteryProtection.pdf + min typical max +over-charge 4.255 4.280 4.305 +over-charge discover? 4.030 4.080 4.130 +over-discharge 2.827 2.900 2.973 +over-discharge discover 3.022 3.100 3.178 + +ADC voltage monitor: voltage divider 10K+10K(0.5) + ADC=V*0.5/2.56*1024 + V ADC + ------------------ + 4.20 0x347(839) + 3.10 0x26b(619) + + Configuration ------------- -Ver 6.15 04/26/2013 -(c) Roving Networks -***Settings*** -BTA=0006664B3AE3 -BTName=tmkBT-3AE3 -Baudrt(SW4)=115K -Mode =Pair -Authen=2 -Bonded=1 -Rem=001BDC06415B -***ADVANCED Settings*** -SrvName= keyboard/mouse -SrvClass=0000 -DevClass=05C0 -InqWindw=0100 -PagWindw=0100 -CfgTimer=255 -StatuStr=NULL -HidFlags=3f -DTRtimer=8 -KeySwapr=0 -***OTHER Settings*** -Profile= HID -CfgChar= $ -SniffEna=0 -LowPower=0 -TX Power=4 -IOPorts= 0 -IOValues=0 -Sleeptmr=0 -DebugMod=0 -RoleSwch=0 - Ver 6.15 04/26/2013 (c) Roving Networks ***Settings*** @@ -70,7 +65,7 @@ Baudrt(SW4)=115K Mode =DTR Authen=2 Bonded=0 -Rem=BCF5AC9BCB7E +Rem=000000000000 ***ADVANCED Settings*** SrvName= keyboard/mouse SrvClass=0000 @@ -79,15 +74,15 @@ InqWindw=0100 PagWindw=0100 CfgTimer=255 StatuStr=NULL -HidFlags=3f +HidFlags=3c DTRtimer=8 KeySwapr=0 ***OTHER Settings*** Profile= HID CfgChar= $ -SniffEna=0 +SniffEna=8010 LowPower=0 -TX Power=ffe8 +TX Power=0 IOPorts= 0 IOValues=0 Sleeptmr=0 @@ -95,27 +90,38 @@ DebugMod=0 RoleSwch=0 -command mode ------------- -To enter command mode disconnect the module from host and type '$$$'.(you will see 'CMD') -To exit type '---'.(you will see 'END') +Serial connection +----------------- Serial line: 115200bps, 8bit, 1-stopbit, non-parity, no flow control SSP: 115200bps, 8bit, 1-stopbit, non-parity, no flow control(via Bluetooth) +To enter command mode disconnect the module from host and type '$$$'.(you will see 'CMD') +To exit type '---'(you will see 'END') and '+' to get local echo. + + + +Setting command mode +-------------------- +S-,tmkBT // Device name +SS,keyboard/mouse // service name +SM,4 // Auto Connect DTR mode +SW,8010 // Sniff enable 0x10*0.625ms=10ms; 50ms is laggish and not much power save +S~,6 // HID profile +SH,003C // HID register +SY,0004 // Transmit power + + -S-,tmkBT // Device name -SH,0038 // HID register + +Other options: SC,0000 // COD: 000005C0 (see HID spec/Bluegiga doc) SD,05C0 // bit 12-8 7 6 5-0 // 00101 1 1 0 // peripheral pointing keybaord joystick, gamepad, ... -S~,6 // HID profile -SS,keyboard/mouse // service name SM,6 // Pairing mode: auto connect SM,4 // Master mode: Connection can be controled with GPIO6 -SY,FEE8 // lower power -20dbM @@ -197,7 +203,7 @@ Sniff mode Transmit Deep sleep Idle (3.1.2) In this mode the module shuts down completly and only draws about 300uA. To enable this set the most signifant bit(0x8000) of Sniff interaval timer. - SW,8320 // deep sleep enable(interval=0x320*0.625ms) + SW,8320 // deep sleep enable(interval=0x320*0.625=500ms) In normal sleep the firmware is still running in idle mode, and wakes up about 20 times per second to check ports, update LEDs, etc. During deep sleep, the firmware actually stops runnig some tasks and the LEDs only update about once per second. To wake from deep sleep there are three ways: (in worst case wake up takes 5ms) *send a charactor to the UART(first charactor will be lost)