]> git.donarmstrong.com Git - tmk_firmware.git/blobdiff - keyboard/hhkb_rn42/MEMO.txt
Mkdir rn42
[tmk_firmware.git] / keyboard / hhkb_rn42 / MEMO.txt
index 87907e95f571f4d93f2edd29a6632b8e938041cb..100b4442d66fccd222bd27b52207b4795ab003a8 100644 (file)
@@ -1,15 +1,24 @@
 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
 ----
-- Lipo charger configuration: fast charge time
+- 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
 - CTS/RTS lines are needed? just connect in loop back if no flow control is needed.
 - CTS is needed for waking up from deep sleep?
 - Serial API callback  when data are available/received(and when send buffer is available)
 - Serial API instance  several serial ports can be used
+- DCDC converter: squeaky inducter with onsemi NCP1402
+- Lipo charger MCP73831: needs capacitor 4.7uF *2
+- Keymap layer bug: during space is pressed(mousekey) press Fn(HHKB) then release space before Fn, in result HHKB layer is locked(toggled) unintentionally.
 
 DONE:
 - USB connection check - 07.01
@@ -17,45 +26,35 @@ DONE:
 - USB/BT switching  BT is on -> BT, BT is off -> USB - 07.01
 - Under voltage lock out UVLO for protection of Lipo - Lipo has discharge protection at 3.100V    07.01
 - Power saving: HHKB scan, BT radio control - 9h with 850mAh, this is enough   07.01
+- 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***
@@ -65,7 +64,7 @@ Baudrt(SW4)=115K
 Mode  =DTR
 Authen=2
 Bonded=0
-Rem=BCF5AC9BCB7E
+Rem=000000000000
 ***ADVANCED Settings***
 SrvName= keyboard/mouse
 SrvClass=0000
@@ -74,15 +73,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
@@ -90,27 +89,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
 
 
 
@@ -192,7 +202,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)