|
|
|
@ -9,33 +9,84 @@ Bug:
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
- time out interrupt is lost while power down?
|
|
|
|
|
- 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:
|
|
|
|
|
- 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:
|
|
|
|
|
- suspend.h - DONE 11/26
|
|
|
|
|
- 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?
|
|
|
|
|
- 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:
|
|
|
|
|
USB connection check: state of USB deivce
|
|
|
|
|
- USB_DeviceState:
|
|
|
|
|
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
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
- 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:
|
|
|
|
|
- matrix power saving
|
|
|
|
|
- power saving while externally powered and not while unpluged
|
|
|
|
|
- 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
|
|
|
|
@ -63,6 +114,9 @@ Improving:
|
|
|
|
|
- ADC resolution
|
|
|
|
|
AVR120
|
|
|
|
|
AVR32138
|
|
|
|
|
- Enhancing ADC resolution by oversampling
|
|
|
|
|
AVR121 http://www.atmel.com/images/doc8003.pdf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Testing:
|
|
|
|
|
- Factroy reset doesn't work; need to **test again** 10K pull-up is too high?
|
|
|
|
|