From de29f986a73860abfa930cd1b91cec60b02ee7a7 Mon Sep 17 00:00:00 2001 From: tmk Date: Sat, 29 Nov 2014 21:14:00 +0900 Subject: [PATCH] Update MEMO --- keyboard/hhkb_rn42/MEMO.txt | 58 +++++++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/keyboard/hhkb_rn42/MEMO.txt b/keyboard/hhkb_rn42/MEMO.txt index 062ee3399..e623c0013 100644 --- a/keyboard/hhkb_rn42/MEMO.txt +++ b/keyboard/hhkb_rn42/MEMO.txt @@ -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?