]> git.donarmstrong.com Git - tmk_firmware.git/blobdiff - keyboard/hhkb_rn42/MEMO.txt
Add flow control by firmware to serial_uart
[tmk_firmware.git] / keyboard / hhkb_rn42 / MEMO.txt
index 5b6439840259b4a21f682e1e220b9f5b0b2833ae..86f5faef2d60f25e970cf83125ab95b7d3f913c4 100644 (file)
@@ -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)