|
@@ -9,33 +9,84 @@ Bug:
|
|
|
- Do not power-down during USB connection is active - DONE 11/11
|
|
- Do not power-down during USB connection is active - DONE 11/11
|
|
|
(USB_DeviceState == USB_DEVICE_Configured) is used to check USB connection
|
|
(USB_DeviceState == USB_DEVICE_Configured) is used to check USB connection
|
|
|
matrix_power_down() matrix.c - 11/23
|
|
matrix_power_down() matrix.c - 11/23
|
|
|
|
|
+
|
|
|
|
|
+- When given power only from wall wart adapter
|
|
|
|
|
+ - it sleeps. it should not sleep
|
|
|
|
|
+ - Configured state without USB connection?
|
|
|
|
|
+
|
|
|
- timer is slow while power down - DONE 11/26
|
|
- timer is slow while power down - DONE 11/26
|
|
|
- time out interrupt is lost while power down?
|
|
- time out interrupt is lost while power down?
|
|
|
- interrupt of watchdog timer compensates timer counter(avr/suspend.c)
|
|
- interrupt of watchdog timer compensates timer counter(avr/suspend.c)
|
|
|
|
|
|
|
|
|
|
+- USB plug-in while BT failes
|
|
|
|
|
+ - it ends in suspend state
|
|
|
|
|
+ - maybe, not responsive to host enumeration process due to power-down.
|
|
|
|
|
+ - matrix_power_down() only when state is unattached - 11/26
|
|
|
|
|
+ - need to observe a while
|
|
|
|
|
+- repeated CHARGING/FULL_CHARGED
|
|
|
|
|
+ - In LTC sharp pulses are observed.
|
|
|
|
|
+ - MCP has no pulse but still has a problem.
|
|
|
|
|
+ - needs more wait before read pin state?
|
|
|
|
|
+- wrongly suspended when powered from adapter without USB connection
|
|
|
|
|
+ - suspend event may occur when plug into adapter
|
|
|
|
|
+ - and never wake until conected to real USB line
|
|
|
|
|
+ - without debug print via USB no problem; CSW(wake just after suspend as real USB line)
|
|
|
|
|
+ - seems like USB print causes this problem after suspended
|
|
|
|
|
+
|
|
|
Todo:
|
|
Todo:
|
|
|
|
|
+- sendchar() in lufa.c block loop - 11/29
|
|
|
|
|
+ - block loop when powered with AC adapter
|
|
|
|
|
+ - FrameNumber is not updated when adapter powered
|
|
|
|
|
+- sendchar() in lufa.c no buffer
|
|
|
|
|
+ - no buffering. character lost can be caused.
|
|
|
|
|
|
|
|
Design:
|
|
Design:
|
|
|
- suspend.h - DONE 11/26
|
|
- suspend.h - DONE 11/26
|
|
|
- remove argument from suspend_power_down() for backward compatitibility
|
|
- remove argument from suspend_power_down() for backward compatitibility
|
|
|
-- remove MCU dependent power saving code from core/keyboard
|
|
|
|
|
- - it should be located in project matrix.c - DONE 11/23
|
|
|
|
|
|
|
+- remove MCU dependent power saving code from core/keyboard - DONE 11/23
|
|
|
|
|
+ - it should be located in project matrix.c
|
|
|
- HHKB matrix.c needs matrix_prev?
|
|
- HHKB matrix.c needs matrix_prev?
|
|
|
- is_modified() is obsolete now. really needs?
|
|
- is_modified() is obsolete now. really needs?
|
|
|
|
|
+- ADC: removing AREF capacitor C10
|
|
|
|
|
+ - seems to be better while usb powered
|
|
|
|
|
+ - still bad while battery powered
|
|
|
|
|
+ http://electronics.stackexchange.com/questions/105849/avcc-and-capacitor-using-adc
|
|
|
|
|
+- ADC: smaller resistors for voltage dividor
|
|
|
|
|
+ - 1K + 1K: not improved. - 11/27
|
|
|
|
|
|
|
|
|
|
|
|
|
LUFA:
|
|
LUFA:
|
|
|
USB connection check: state of USB deivce
|
|
USB connection check: state of USB deivce
|
|
|
- USB_DeviceState:
|
|
- USB_DeviceState:
|
|
|
USB_Deivce_State_t { Unattached, Powered, Default, Addressed, Configured*, Suspended* }
|
|
USB_Deivce_State_t { Unattached, Powered, Default, Addressed, Configured*, Suspended* }
|
|
|
|
|
+ Unattached: unpluged
|
|
|
|
|
+ Powered: pluged with power adapter
|
|
|
|
|
+ Default: enumerate process bigin
|
|
|
|
|
+ Addressed: addressed
|
|
|
|
|
+ Configured: enumerated
|
|
|
|
|
+ Suspended: suspended
|
|
|
|
|
+
|
|
|
- USB_IsInitialized: state of LUFA core setup
|
|
- USB_IsInitialized: state of LUFA core setup
|
|
|
becomes true in USB_Init() USBController_AVR8.c
|
|
becomes true in USB_Init() USBController_AVR8.c
|
|
|
becomes false in USB_Disable() USBController_AVR8.c
|
|
becomes false in USB_Disable() USBController_AVR8.c
|
|
|
- USB_VBUS_GetStatus(): state of VBUS(power/connection)
|
|
- USB_VBUS_GetStatus(): state of VBUS(power/connection)
|
|
|
- USB_Disable() detaches, disables all interrupts, controller, PLL, regulater.
|
|
- USB_Disable() detaches, disables all interrupts, controller, PLL, regulater.
|
|
|
|
|
|
|
|
|
|
+- When connect to power adapter
|
|
|
|
|
+ - event happened: CW or CSW or C or DDC
|
|
|
|
|
+ - USB state: not configured
|
|
|
|
|
+
|
|
|
|
|
+- USB evnets
|
|
|
|
|
+ - USB connect: CSWRWRW
|
|
|
|
|
+ - USB connect but fail to enumeration: CWRWRWRWS
|
|
|
|
|
+ - USB disconnect: D
|
|
|
|
|
+ - Power adapter connect: CW, CSW, C
|
|
|
|
|
+ - Power adapter disconnect: D
|
|
|
|
|
+
|
|
|
|
|
|
|
|
Power saving:
|
|
Power saving:
|
|
|
|
|
+- matrix power saving
|
|
|
|
|
+ - power saving while externally powered and not while unpluged
|
|
|
- confirm suspend mode lufa.c: matrix_power_*, suspend_wakeup_condition
|
|
- 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
|
|
@@ -63,6 +114,9 @@ Improving:
|
|
|
- ADC resolution
|
|
- ADC resolution
|
|
|
AVR120
|
|
AVR120
|
|
|
AVR32138
|
|
AVR32138
|
|
|
|
|
+ - Enhancing ADC resolution by oversampling
|
|
|
|
|
+ AVR121 http://www.atmel.com/images/doc8003.pdf
|
|
|
|
|
+
|
|
|
|
|
|
|
|
Testing:
|
|
Testing:
|
|
|
- Factroy reset doesn't work; need to **test again** 10K pull-up is too high?
|
|
- Factroy reset doesn't work; need to **test again** 10K pull-up is too high?
|