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
 | 
					Roving RN-42
 | 
				
			||||||
============
 | 
					============
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TODO
 | 
					 | 
				
			||||||
----
 | 
					 | 
				
			||||||
Bug:
 | 
					Bug:
 | 
				
			||||||
- with Nexus5 keyboard and mouse are very laggy.
 | 
					- 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:
 | 
					Power saving:
 | 
				
			||||||
 | 
					- confirm suspend mode lufa.c: matrix_power_*, suspend_wakeup_condition
 | 
				
			||||||
- 8MHz clock
 | 
					- 8MHz clock
 | 
				
			||||||
- When not connected in a few minutes get into deep sleep to save battery life
 | 
					- 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?
 | 
					- CTS is needed for waking up from deep sleep? How deep sleep is activated?
 | 
				
			||||||
| 
						 | 
					@ -19,6 +44,9 @@ Power saving:
 | 
				
			||||||
    - high resistor 100K/1M?
 | 
					    - high resistor 100K/1M?
 | 
				
			||||||
        capacitor   10nF
 | 
					        capacitor   10nF
 | 
				
			||||||
        http://www.eevblog.com/forum/beginners/measuring-battery-voltage-without-consuming-current/
 | 
					        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:
 | 
					Improving:
 | 
				
			||||||
- BT LED; connecting, linked, sleeping, deep sleeping
 | 
					- 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)
 | 
					SM,6        automatically reconnect(Mode =Pair)
 | 
				
			||||||
                confirm: auto connect works well but difficult to enter command mode.
 | 
					                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
 | 
					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