EDID readout only if PC2 pulled low

This commit is contained in:
Wolfgang Draxinger
2014-12-28 12:23:20 +01:00
parent c16b3d2c3e
commit 587543290e
5 changed files with 28 additions and 24 deletions

View File

@@ -289,8 +289,12 @@ int main(void)
PMIC_LOLVLEN_bm
| PMIC_MEDLVLEN_bm
| PMIC_HILVLEN_bm;
sei();
PORTC_PIN2CTRL = PORT_OPC_WIREDANDPULL_gc;
PORTC_DIRCLR = _BV(2);
PORTC_OUTSET = _BV(2);
sei();
delay_ms(20);
/* EDID standard requires a host to wait for 20ms after switching +5V
@@ -298,9 +302,12 @@ int main(void)
* Since uC supply == display +5V supply we're waiting 20ms here.
*/
for(;;) {
if( 0 == edid_readFromDisplay() ) {
edid_writeToEEPROM();
edid_readFromEEPROM();
/* Only read a new EDID setting if PC2 is pulled low */
if( !(PORTC_IN & _BV(2)) ) {
if( 0 == edid_readFromDisplay() ) {
edid_writeToEEPROM();
edid_readFromEEPROM();
}
}
delay_ms(1000);
}