The codebase to run the *spark d-fuser controller www.sparkav.co.uk/dvimixer

Dependencies:   SPK-TVOne DMX DmxArtNet NetServicesMin OSC PinDetect mRotaryEncoder iniparser mbed spk_oled_ssd1305 filter

Files at this revision

API Documentation at this revision

Comitter:
tobyspark
Date:
Tue Dec 10 15:51:54 2013 +0000
Parent:
75:ba60407546fb
Child:
77:20f948d4885e
Commit message:
Datapath X4 support. Currently requires 750 manually configured with X4 res as #128.

Changed in this revision

SPKDF_ini.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
spk_oled_gfx.h Show annotated file Show diff for this revision Revisions of this file
spk_oled_ssd1305.lib Show annotated file Show diff for this revision Revisions of this file
--- a/SPKDF_ini.h	Thu Oct 17 15:50:43 2013 +0000
+++ b/SPKDF_ini.h	Tue Dec 10 15:51:54 2013 +0000
@@ -156,20 +156,25 @@
 EDIDNumber = 5
 
 [Resolution12]
-Name = Dual head SVGA (1600x600)
+Name = Dualhead SVGA (1600x600)
 Number = 75
 EDIDNumber = 3
 
 [Resolution13]
-Name = Dual head XGA (2048x768)
+Name = Dualhead XGA (2048x768)
 Number = 123
 EDIDNumber = 3
 
 [Resolution14]
-Name = Triple head VGA (1920x480)
+Name = Triplehead VGA (1920x480)
 Number = 90
 EDIDNumber = 3
 
+[Resolution15]
+Name = Quadhead XGA (2048x1536)
+Number = 128
+EDIDNumber = 2
+
 # Edit the above, or add your own keys here, up to Resolution99
 
 # End of SPKDF.ini -- Ensure there is a blank line below this.
--- a/main.cpp	Thu Oct 17 15:50:43 2013 +0000
+++ b/main.cpp	Tue Dec 10 15:51:54 2013 +0000
@@ -699,13 +699,14 @@
     LocalFileSystem local("local");
     FILE *file;
     
-    // Upload Matrox EDID to mem4 (ie. index 3). Use this EDID slot when setting Matrox resolutions.
+    // Upload EDIDs
     if (tvOne.getProcessorType().version < 415)
     {
         if (debug) debug->printf("Skipping EDID upload as unsupported on detected TV One firmware\r\n");
     }
     else
     {
+        // Upload Matrox EDID to mem4 (ie. index 3). Use this EDID slot when setting Matrox resolutions.
         file = fopen("/local/matroxe.did", "r"); // 8.3, avoid .bin as mbed executable extension
         if (file)
         {
@@ -716,6 +717,18 @@
         {
             if (debug) debug->printf("Could not open Matrox EDID file 'matroxe.did'\r\n");
         }
+        
+        // Upload Datapath X4 EDID to mem3 (ie. index 2). Use this EDID slot when setting X4 resolutions.
+        file = fopen("/local/x4e.did", "r"); // 8.3, avoid .bin as mbed executable extension
+        if (file)
+        {
+            ok = ok && tvOne.uploadEDID(file, 2);   
+            fclose(file);
+        }
+        else
+        {
+            if (debug) debug->printf("Could not open X4 EDID file 'x4e.did'\r\n");
+        }
     }
 
     // Upload Logo to SIS2. Use this (minimal) image when no sources are connected.
--- a/spk_oled_gfx.h	Thu Oct 17 15:50:43 2013 +0000
+++ b/spk_oled_gfx.h	Tue Dec 10 15:51:54 2013 +0000
@@ -80,7 +80,7 @@
 const uint8_t char78[] = {5, 0x3E, 0x04, 0x08, 0x10, 0x3E};
 const uint8_t char79[] = {5, 0x1C, 0x22, 0x22, 0x22, 0x1C};
 const uint8_t char80[] = {5, 0x3E, 0x0A, 0x0A, 0x0A, 0x04};
-const uint8_t char81[] = {3, 0x1C, 0x22, 0x72};
+const uint8_t char81[] = {5, 0x1C, 0x22, 0x72, 0xA2, 0x1C};
 const uint8_t char82[] = {5, 0x3E, 0x0A, 0x0A, 0x1A, 0x24};
 const uint8_t char83[] = {5, 0x24, 0x2A, 0x2A, 0x2A, 0x12};
 const uint8_t char84[] = {5, 0x02, 0x02, 0x3E, 0x02, 0x02};
@@ -112,7 +112,7 @@
 const uint8_t char110[] = {5, 0x3E, 0x04, 0x08, 0x10, 0x3E};
 const uint8_t char111[] = {5, 0x1C, 0x22, 0x22, 0x22, 0x1C};
 const uint8_t char112[] = {5, 0x3E, 0x0A, 0x0A, 0x0A, 0x04};
-const uint8_t char113[] = {3, 0x1C, 0x22, 0x72};
+const uint8_t char113[] = {5, 0x1C, 0x22, 0x72, 0xA2, 0x1C};
 const uint8_t char114[] = {5, 0x3E, 0x0A, 0x0A, 0x1A, 0x24};
 const uint8_t char115[] = {5, 0x24, 0x2A, 0x2A, 0x2A, 0x12};
 const uint8_t char116[] = {5, 0x02, 0x02, 0x3E, 0x02, 0x02};
--- a/spk_oled_ssd1305.lib	Thu Oct 17 15:50:43 2013 +0000
+++ b/spk_oled_ssd1305.lib	Tue Dec 10 15:51:54 2013 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/tobyspark/code/spk_oled_ssd1305/#a675a19c16f0
+http://mbed.org/users/tobyspark/code/spk_oled_ssd1305/#0d518115e76c