]> git.donarmstrong.com Git - tmk_firmware.git/blobdiff - keyboard/hhkb_rn42/MEMO.txt
Update doc
[tmk_firmware.git] / keyboard / hhkb_rn42 / MEMO.txt
index 11f64b8c4c43d751ca251e62f52b6c40db894338..337dad60391ec2ff4f88ff4b579c87140274aff5 100644 (file)
@@ -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?
@@ -15,12 +40,22 @@ Power saving:
 - deep sleep MCU and BT module(keyboard is not used for long time)
 - deep sleep MCU and turn off BT module(keyboard is not used and not connected)
 - Battery ADC; switching, high resistance
+    - switching gnd end of divider with PF4
+    - 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
 - Battry LED; blink(using timer?)
 - move rn42 to protocol directory when it becomes reusable stack
 - LUFA sendchar should be buffered and serial_uart.c buffur size is too large(256).
+- ADC resolution
+    AVR120
+    AVR32138
 
 Testing:
 - Factroy reset doesn't work; need to **test again** 10K pull-up is too high?
@@ -299,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
 --------------