summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Draxinger <Wolfgang.Draxinger@draxit.de>2014-12-28 12:23:20 +0100
committerWolfgang Draxinger <Wolfgang.Draxinger@draxit.de>2014-12-28 12:23:20 +0100
commit587543290e322268b85023d993bc76e904aeb919 (patch)
tree64ceafba245c69bc8fc123e2c7840028a1040136
parentc16b3d2c3ed616150104f2a6782c880faec68579 (diff)
downloadvgaedidinjector-587543290e322268b85023d993bc76e904aeb919.tar.gz
vgaedidinjector-587543290e322268b85023d993bc76e904aeb919.tar.bz2
EDID readout only if PC2 pulled low
-rw-r--r--eagle.epf37
-rw-r--r--edid_injector.c15
-rwxr-xr-xfirmware.binbin3138 -> 3162 bytes
-rw-r--r--vga_edid_injector.brdbin30793 -> 30793 bytes
-rw-r--r--vga_edid_injector.schbin185298 -> 185298 bytes
5 files changed, 28 insertions, 24 deletions
diff --git a/eagle.epf b/eagle.epf
index a58abf8..6d8d17c 100644
--- a/eagle.epf
+++ b/eagle.epf
@@ -1,5 +1,5 @@
[Eagle]
-Version="05 11 00"
+Version="04 16 20"
Platform="Linux"
Serial="62191E841E-LSR-WLM-1EL"
Globals="Globals"
@@ -7,18 +7,23 @@ Desktop="Desktop"
[Globals]
AutoSaveProject=1
-UsedLibrary="/opt/eagle-5.11.0/lbr/diode.lbr"
-UsedLibrary="edid_IC.lbr"
UsedLibrary="/home/wolfgangd/downloads/WW-Power.lbr"
+UsedLibrary="/home/wolfgangd/projects/eagle/lbr/plane_decouple.lbr"
[Win_1]
-Type="Schematic Editor"
-Loc="720 301 1437 597"
+Type="Control Panel"
+Loc="828 459 1437 897"
+State=2
+Number=0
+
+[Win_2]
+Type="Board Editor"
+Loc="0 19 825 897"
State=2
-Number=1
-File="vga_edid_injector.sch"
-View="-213330 1357602 522494 1669842"
-WireWidths=" 0 3048 6096 8128 10160 12700 14224 16764 17780 19304 21844 25400 38100 64516 4064 1524"
+Number=2
+File="untitled.brd"
+View="184910 245240 444962 482260"
+WireWidths=" 0 2540 3048 6096 8128 10160 12700 14224 16764 17780 19304 21844 25400 38100 64516 4064"
PadDiameters=" 2540 3048 4064 6096 8128 10160 12700 14224 16764 17780 19304 21844 25400 38100 64516 0"
PadDrills=" 5000 6000 7000 9000 10000 11000 12000 13000 14000 15000 16000 20000 22000 28000 32000 8000"
ViaDiameters=" 2540 3048 4064 6096 8128 10160 12700 14224 16764 17780 19304 21844 25400 38100 64516 0"
@@ -30,13 +35,13 @@ PolygonIsolates=" 2540 3048 4064 6096 8128 10160 12700 14224 16764 17780 19304 2
MiterRadiuss=" 2540 3175 6350 12700 25400 10000 20000 25000 50000 75000 100000 0"
SmdSizes=" 3048 1524 4064 2032 6096 3048 8128 4064 10160 5080 12700 6604 14224 7112 16764 8128 17780 9144 19304 9652 21844 10668 25400 12700 38100 19304 50800 25400 64516 32512 12700 6350"
WireBend=0
-WireBendSet=31
+WireBendSet=0
WireCap=1
MiterStyle=0
PadShape=0
ViaShape=0
PolygonPour=0
-PolygonRank=7
+PolygonRank=1
PolygonThermals=1
PolygonOrphans=0
TextRatio=8
@@ -48,15 +53,7 @@ SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
-Layer=91
-Views=" 1: -213330 1357602 522494 1669842"
-Sheet=1
-
-[Win_2]
-Type="Control Panel"
-Loc="720 600 1437 897"
-State=2
-Number=0
+Layer=1
[Desktop]
Screen="1440 900"
diff --git a/edid_injector.c b/edid_injector.c
index fd81a1d..454c42e 100644
--- a/edid_injector.c
+++ b/edid_injector.c
@@ -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);
}
diff --git a/firmware.bin b/firmware.bin
index 4e4734f..ea24ece 100755
--- a/firmware.bin
+++ b/firmware.bin
Binary files differ
diff --git a/vga_edid_injector.brd b/vga_edid_injector.brd
index 5231f4f..f942c29 100644
--- a/vga_edid_injector.brd
+++ b/vga_edid_injector.brd
Binary files differ
diff --git a/vga_edid_injector.sch b/vga_edid_injector.sch
index ee42e43..bd61a0c 100644
--- a/vga_edid_injector.sch
+++ b/vga_edid_injector.sch
Binary files differ