Update doc
This commit is contained in:
		
							parent
							
								
									1f96edaed6
								
							
						
					
					
						commit
						60096e11c7
					
				
					 2 changed files with 136 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -1,12 +1,37 @@
 | 
			
		|||
Roving RN-42
 | 
			
		||||
============
 | 
			
		||||
 | 
			
		||||
TODO
 | 
			
		||||
----
 | 
			
		||||
Bug:
 | 
			
		||||
- with Nexus5 keyboard and mouse are very laggy.
 | 
			
		||||
 | 
			
		||||
- lose USB connection during power-down mode
 | 
			
		||||
    - USB initialize code in main() causes this - WRONG
 | 
			
		||||
    - Do not power-down during USB connection is active - DONE 11/11
 | 
			
		||||
        (USB_DeviceState == USB_DEVICE_Configured) is used to check USB connection
 | 
			
		||||
        matrix_power_down() matrix.c - 11/23
 | 
			
		||||
 | 
			
		||||
Todo:
 | 
			
		||||
 | 
			
		||||
Design:
 | 
			
		||||
- remove MCU dependent power saving code from core/keyboard
 | 
			
		||||
    - it should be located in project matrix.c - DONE 11/23
 | 
			
		||||
- HHKB matrix.c needs matrix_prev?
 | 
			
		||||
    - is_modified() is obsolete now. really needs?
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
LUFA:
 | 
			
		||||
USB connection check: state of USB deivce
 | 
			
		||||
- USB_DeviceState:
 | 
			
		||||
    USB_Deivce_State_t { Unattached, Powered, Default, Addressed, Configured*, Suspended* }
 | 
			
		||||
- USB_IsInitialized: state of LUFA core setup
 | 
			
		||||
    becomes true in USB_Init()  USBController_AVR8.c
 | 
			
		||||
    becomes false in USB_Disable()  USBController_AVR8.c
 | 
			
		||||
- USB_VBUS_GetStatus(): state of VBUS(power/connection)
 | 
			
		||||
- USB_Disable() detaches, disables all interrupts, controller, PLL, regulater.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Power saving:
 | 
			
		||||
- confirm suspend mode lufa.c: matrix_power_*, suspend_wakeup_condition
 | 
			
		||||
- 8MHz clock
 | 
			
		||||
- When not connected in a few minutes get into deep sleep to save battery life
 | 
			
		||||
- CTS is needed for waking up from deep sleep? How deep sleep is activated?
 | 
			
		||||
| 
						 | 
				
			
			@ -19,6 +44,9 @@ Power saving:
 | 
			
		|||
    - high resistor 100K/1M?
 | 
			
		||||
        capacitor   10nF
 | 
			
		||||
        http://www.eevblog.com/forum/beginners/measuring-battery-voltage-without-consuming-current/
 | 
			
		||||
- During USB suspend change clock source to internal RC from external Xtal(6.8)
 | 
			
		||||
- FRZCLK: you can freeze clock for power saving. still WAKEUPI and VBUSTI interrupts are available while freezing.(21.7.3)
 | 
			
		||||
- Suspend: Clear Suspend Bit, Freeze clock, disable PLL, MCU sleep(21.13)
 | 
			
		||||
 | 
			
		||||
Improving:
 | 
			
		||||
- BT LED; connecting, linked, sleeping, deep sleeping
 | 
			
		||||
| 
						 | 
				
			
			@ -306,6 +334,10 @@ SM,5        Auto Connect ANY Mode (Mode =ANY)
 | 
			
		|||
SM,6        automatically reconnect(Mode =Pair)
 | 
			
		||||
                confirm: auto connect works well but difficult to enter command mode.
 | 
			
		||||
 | 
			
		||||
SR,Z        removes all remote addresses for reconnecting.
 | 
			
		||||
                can be used to connect another host
 | 
			
		||||
SR,I        registers last inquiry address
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Fast data mode
 | 
			
		||||
--------------
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										102
									
								
								keyboard/hhkb_rn42/PowerSave.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								keyboard/hhkb_rn42/PowerSave.txt
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,102 @@
 | 
			
		|||
RN-42
 | 
			
		||||
=====
 | 
			
		||||
 | 
			
		||||
HHKB key switch power control
 | 
			
		||||
-----------------------------
 | 
			
		||||
MOS FET Nch: BSS138 or IRLML6344T, either works and no apparent difference.
 | 
			
		||||
Normally on(pull-up) or off(pull-down)? interms of power saving it prefers pull-down?
 | 
			
		||||
 | 
			
		||||
Pull-down will be better for power saving, normally off.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Used Timer
 | 
			
		||||
----------
 | 
			
		||||
 | 
			
		||||
8MHz clock
 | 
			
		||||
----------
 | 
			
		||||
1) 16MHz xtal with system prescaler div2: F_CPU=8MHz, F_USB=16MHz
 | 
			
		||||
2) 8MHz xtal with div1: F_CPU=8MHz, F_USB=8MHz
 | 
			
		||||
Hardware USART doesn't work at 115200bps with 8MHz(F_CPU).
 | 
			
		||||
 | 
			
		||||
workaround:
 | 
			
		||||
a) use Sotwre serial for communcation with RN-42
 | 
			
		||||
b) reduce baud of RN-42 to lower rate;(factory default is 115200bps)
 | 
			
		||||
10/03
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Slave mode
 | 
			
		||||
----------
 | 
			
		||||
Discovery/Inquire
 | 
			
		||||
Connect/Page
 | 
			
		||||
 | 
			
		||||
SI,0012
 | 
			
		||||
SJ,0012
 | 
			
		||||
InqWindw=0100
 | 
			
		||||
PagWindw=0100
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Sniff mode
 | 
			
		||||
----------
 | 
			
		||||
0.625ms * <hex>
 | 
			
		||||
SW,0320     Very sluggish. Type is not lost but very slow to register.
 | 
			
		||||
SW,0160     Still sluggish. may transposed? can type but ...
 | 
			
		||||
            Mouse point move intermittently
 | 
			
		||||
SW,0020     feel a bit late like stumble(20ms)
 | 
			
		||||
SW,0010     feel no latency(10ms)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Deep sleep
 | 
			
		||||
----------
 | 
			
		||||
SW,8010
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
TX power
 | 
			
		||||
--------
 | 
			
		||||
SY,fff4
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
IO pins
 | 
			
		||||
-------
 | 
			
		||||
S%,1000         status led and connection control don't work
 | 
			
		||||
                GPIO5: status LED
 | 
			
		||||
                GPIO6: Connection control
 | 
			
		||||
                GPIO2: linked status
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Ver 6.15 04/26/2013
 | 
			
		||||
(c) Roving Networks
 | 
			
		||||
***Settings***
 | 
			
		||||
BTA=00066667BBE9
 | 
			
		||||
BTName=tmkBT-BBE9
 | 
			
		||||
Baudrt(SW4)=115K
 | 
			
		||||
Mode  =DTR
 | 
			
		||||
Authen=1
 | 
			
		||||
Bonded=0
 | 
			
		||||
Rem=001BDC06415B
 | 
			
		||||
***ADVANCED Settings***
 | 
			
		||||
SrvName= keyboard/mouse
 | 
			
		||||
SrvClass=0000
 | 
			
		||||
DevClass=1F00
 | 
			
		||||
InqWindw=0012
 | 
			
		||||
PagWindw=0012
 | 
			
		||||
CfgTimer=255
 | 
			
		||||
StatuStr=NULL
 | 
			
		||||
HidFlags=3c
 | 
			
		||||
DTRtimer=8
 | 
			
		||||
KeySwapr=0
 | 
			
		||||
***OTHER Settings***
 | 
			
		||||
Profile= HID
 | 
			
		||||
CfgChar= $
 | 
			
		||||
SniffEna=8010
 | 
			
		||||
LowPower=0          S|,
 | 
			
		||||
TX Power=fff4       SY,
 | 
			
		||||
IOPorts= 0
 | 
			
		||||
IOValues=0
 | 
			
		||||
Sleeptmr=0
 | 
			
		||||
DebugMod=0
 | 
			
		||||
RoleSwch=0
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue