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:
Sun Oct 28 17:21:19 2012 +0000
Parent:
27:27851d3d2bba
Child:
29:95a7efe30527
Commit message:
Included .ini file; More sprintf to snprintf safety fixes

Changed in this revision

SPKDF_ini.h Show annotated file Show diff for this revision Revisions of this file
spk_settings.h Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SPKDF_ini.h	Sun Oct 28 17:21:19 2012 +0000
@@ -0,0 +1,67 @@
+[Key1]
+Name = Lumakey
+MinY = 0
+MaxY = 18
+MinU = 128
+MaxU = 129
+MinV = 128
+MaxV = 129
+
+[Key2]
+Name = Chromakey
+MinY = 30
+MaxY = 35
+MinU = 237
+MaxU = 242
+MinV = 114
+MaxV = 121
+
+[Resolution1]
+Name = VGA (640x480)
+Number = 8
+EDIDNumber = 5
+
+[Resolution2]
+Name = SVGA (800x600)
+Number = 18
+EDIDNumber = 5
+
+[Resolution3]
+Name = XGA (1024x768)
+Number = 28
+EDIDNumber = 5
+
+[Resolution4]
+Name = WSXGA+ (1650x1050)
+Number = 83
+EDIDNumber = 5
+
+[Resolution5]
+Name = WUXGA (1920x200)
+Number = 105
+EDIDNumber = 5
+
+[Resolution6]
+Name = HD 720P60 (1280x720)
+Number = 46
+EDIDNumber = 5
+
+[Resolution7]
+Name = HD 1080P60 (1920x1080)
+Number = 109
+EDIDNumber = 5
+
+[Resolution8]
+Name = Dual head SVGA (1600*600)
+Number = 123
+EDIDNumber = 5
+
+[Resolution9]
+Name = Dual head XGA (2048x768)
+Number = 124
+EDIDNumber = 5
+
+[Resolution10]
+Name = Triple head VGA (1920x480)
+Number = 125
+EDIDNumber = 5
--- a/spk_settings.h	Sun Oct 28 16:19:04 2012 +0000
+++ b/spk_settings.h	Sun Oct 28 17:21:19 2012 +0000
@@ -131,8 +131,9 @@
             bool keyParamReadOK = true;
             bool keyParamCleared = false;
             
-            char* failString = "Failed to read";
-            int failInt = -1;
+            char* const failString = "Failed to read";
+            const int failInt = -1;
+            const int stringLength = 11;
             
             // Loop through [Key1,2,...,99] sections
             while(keyParamReadOK)
@@ -140,33 +141,33 @@
                 int     paramSet[6];
                 char*   paramName;
                 
-                char key[11];
+                char key[stringLength];
         
-                sprintf(key, "Key%i:Name", counter);
+                snprintf(key, stringLength, "Key%i:Name", counter);
                 paramName = iniparser_getstring(settings, key, failString);
                 keyParamReadOK = keyParamReadOK && strcmp(paramName, failString);
                        
-                sprintf(key, "Key%i:MinY", counter);
+                snprintf(key, stringLength, "Key%i:MinY", counter);
                 paramSet[0] = iniparser_getint(settings, key, failInt);
                 keyParamReadOK = keyParamReadOK && (paramSet[0] != failInt);
 
-                sprintf(key, "Key%i:MaxY", counter);
+                snprintf(key, stringLength, "Key%i:MaxY", counter);
                 paramSet[1] = iniparser_getint(settings, key, failInt);
                 keyParamReadOK = keyParamReadOK && (paramSet[1] != failInt);
                 
-                sprintf(key, "Key%i:MinU", counter);
+                snprintf(key, stringLength, "Key%i:MinU", counter);
                 paramSet[2] = iniparser_getint(settings, key, failInt);
                 keyParamReadOK = keyParamReadOK && (paramSet[2] != failInt);
                 
-                sprintf(key, "Key%i:MaxU", counter);
+                snprintf(key, stringLength, "Key%i:MaxU", counter);
                 paramSet[3] = iniparser_getint(settings, key, failInt);
                 keyParamReadOK = keyParamReadOK && (paramSet[3] != failInt);
                 
-                sprintf(key, "Key%i:MinV", counter);
+                snprintf(key, stringLength, "Key%i:MinV", counter);
                 paramSet[4] = iniparser_getint(settings, key, failInt);
                 keyParamReadOK = keyParamReadOK && (paramSet[4] != failInt);
                 
-                sprintf(key, "Key%i:MaxV", counter);
+                snprintf(key, stringLength, "Key%i:MaxV", counter);
                 paramSet[5] = iniparser_getint(settings, key, failInt);
                 keyParamReadOK = keyParamReadOK && (paramSet[5] != failInt);
                 
@@ -201,8 +202,9 @@
             bool resolutionReadOK = true;
             bool resolutionCleared = false;
             
-            char* failString = "Failed to read";
-            int failInt = -1;
+            char* const failString = "Failed to read";
+            const int failInt = -1;
+            const int stringLength = 25;
             
             // Loop through [Key1,2,...,99] sections
             while(resolutionReadOK)
@@ -211,17 +213,17 @@
                 int     resolutionIndex;
                 int     resolutionEDIDIndex;
                 
-                char key[18];
+                char key[stringLength];
         
-                sprintf(key, "Resolution%i:Name", counter);
+                snprintf(key, stringLength, "Resolution%i:Name", counter);
                 resolutionName = iniparser_getstring(settings, key, failString);
                 resolutionReadOK = resolutionReadOK && strcmp(resolutionName, failString);
                        
-                sprintf(key, "Resolution%i:Number", counter);
+                snprintf(key, stringLength, "Resolution%i:Number", counter);
                 resolutionIndex = iniparser_getint(settings, key, failInt);
                 resolutionReadOK = resolutionReadOK && (resolutionIndex != failInt);
 
-                sprintf(key, "Resolution%i:EDIDNumber", counter);
+                snprintf(key, stringLength, "Resolution%i:EDIDNumber", counter);
                 resolutionEDIDIndex = iniparser_getint(settings, key, failInt);
                 resolutionReadOK = resolutionReadOK && (resolutionEDIDIndex != failInt);