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
Diff: main.cpp
- Revision:
- 26:0299f8760715
- Parent:
- 25:3b519ef70341
- Child:
- 27:27851d3d2bba
--- a/main.cpp Sun Oct 28 13:57:22 2012 +0000 +++ b/main.cpp Sun Oct 28 15:17:28 2012 +0000 @@ -109,6 +109,8 @@ // 8.3 format filename only, no subdirs #define kSPKDFSettingsFilename "SPKDF.ini" +#define kStringBufferLength 30 + //// DEBUG // Comment out one or the other... @@ -204,7 +206,7 @@ { xFade = recMessage.getArgFloat(0); char buffer[15]; - sprintf(buffer, "/xFade %1.2f", xFade); + snprintf(buffer, kStringBufferLength, "/xFade %1.2f", xFade); statusMessage += buffer; } } @@ -215,7 +217,7 @@ { fadeUp = recMessage.getArgFloat(0); char buffer[15]; - sprintf(buffer, "/fadeUp %1.2f", fadeUp); + snprintf(buffer, kStringBufferLength, "/fadeUp %1.2f", fadeUp); statusMessage += buffer; } } @@ -249,7 +251,7 @@ void processDMXIn(float &xFade, float &fadeUp) { - char statusMessageBuffer[25]; + char statusMessageBuffer[kStringBufferLength]; int xFadeDMX = dmx->get(kDMXInChannelXFade); int fadeUpDMX = dmx->get(kDMXInChannelFadeUp); @@ -258,7 +260,7 @@ fadeUp = (float)fadeUpDMX/255; screen.clearBufferRow(kCommsStatusLine); - sprintf(statusMessageBuffer, "DMX In: xF %3i fUp %3i", xFadeDMX, fadeUpDMX); + snprintf(statusMessageBuffer, kStringBufferLength, "DMX In: xF %3i fUp %3i", xFadeDMX, fadeUpDMX); screen.textToBuffer(statusMessageBuffer, kCommsStatusLine); screen.sendBuffer(); if (debug) debug->printf(statusMessageBuffer); @@ -266,7 +268,7 @@ void processDMXOut(float &xFade, float &fadeUp) { - char statusMessageBuffer[25]; + char statusMessageBuffer[kStringBufferLength]; int xFadeDMX = xFade*255; int fadeUpDMX = fadeUp*255; @@ -275,7 +277,7 @@ dmx->put(kDMXOutChannelFadeUp, fadeUpDMX); screen.clearBufferRow(kCommsStatusLine); - sprintf(statusMessageBuffer, "DMX Out: xF %3i fUp %3i", xFadeDMX, fadeUpDMX); + snprintf(statusMessageBuffer, kStringBufferLength, "DMX Out: xF %3i fUp %3i", xFadeDMX, fadeUpDMX); screen.textToBuffer(statusMessageBuffer, kCommsStatusLine); screen.sendBuffer(); if (debug) debug->printf(statusMessageBuffer); @@ -321,7 +323,7 @@ { bool ok = true; string sentOK; - char sentMSGBuffer[25]; + char sentMSGBuffer[kStringBufferLength]; // Set Keyer if (mixMode < mixKey) @@ -336,7 +338,7 @@ } ok = ok && tvOne.command(0, kTV1WindowIDA, kTV1FunctionAdjustKeyerEnable, false); - sprintf(sentMSGBuffer, "Keyer Off"); + snprintf(sentMSGBuffer, kStringBufferLength, "Keyer Off"); } else { @@ -345,7 +347,7 @@ ok = ok && tvOne.command(0, kTV1WindowIDA, kTV1FunctionAdjustKeyerEnable, true); ok = ok && setKeyParamsTo(index); - sprintf(sentMSGBuffer, "Keyer On with %i", index); + snprintf(sentMSGBuffer, kStringBufferLength, "Keyer On with %i", index); } if (ok) sentOK = "Sent:"; @@ -426,13 +428,13 @@ while(!menuEnc.hasPressed()) { - char xFadeReadOut[25]; - char fadeToBlackReadOut[25]; - char tapsReadOut[25]; + char xFadeReadOut[kStringBufferLength]; + char fadeToBlackReadOut[kStringBufferLength]; + char tapsReadOut[kStringBufferLength]; - sprintf(xFadeReadOut, "Crossfade: %1.3f", xFadeAIN.read()); - sprintf(fadeToBlackReadOut, "Fade to black: %1.3f", fadeUpAIN.read()); - sprintf(tapsReadOut, "Tap left: %i, right: %i", tapLeftDIN.read(), tapRightDIN.read()); + snprintf(xFadeReadOut, kStringBufferLength, "Crossfade: %1.3f", xFadeAIN.read()); + snprintf(fadeToBlackReadOut, kStringBufferLength, "Fade to black: %1.3f", fadeUpAIN.read()); + snprintf(tapsReadOut, kStringBufferLength, "Tap left: %i, right: %i", tapLeftDIN.read(), tapRightDIN.read()); screen.clearBufferRow(1); screen.clearBufferRow(2); @@ -615,7 +617,6 @@ //// Task background things if (ethernet && rj45Mode == rj45Ethernet) { - if (debug) debug->printf("net poll"); Net::poll(); } @@ -674,8 +675,8 @@ if (fadeCurve > 1.0f) fadeCurve = 1.0f; if (fadeCurve < 0.0f) fadeCurve = 0.0f; - char fadeCurveMessage[25]; - sprintf(fadeCurveMessage, "Blend < %1.2f > Additive", fadeCurve); + char fadeCurveMessage[kStringBufferLength]; + snprintf(fadeCurveMessage, kStringBufferLength, "Blend < %1.2f > Additive", fadeCurve); screen.clearBufferRow(kMenuLine2); screen.textToBuffer(fadeCurveMessage, kMenuLine2); @@ -745,8 +746,8 @@ if (ok) sentOK = "Sent: "; else sentOK = "Send Error: "; - char sentMSGBuffer[25]; - sprintf(sentMSGBuffer, "Res %i, EDID %i", resolutionMenu.selectedItem().payload.command[0], resolutionMenu.selectedItem().payload.command[1]); + char sentMSGBuffer[kStringBufferLength]; + snprintf(sentMSGBuffer, kStringBufferLength,"Res %i, EDID %i", resolutionMenu.selectedItem().payload.command[0], resolutionMenu.selectedItem().payload.command[1]); screen.clearBufferRow(kTVOneStatusLine); screen.textToBuffer(sentOK + sentMSGBuffer, kTVOneStatusLine); @@ -755,12 +756,13 @@ } else if (selectedMenu == &commsMenu) { - string commsTypeString = "Network: --"; - char commsStatusBuffer[25]; + string commsTypeString = "Network:"; + char commsStatusBuffer[kStringBufferLength] = "--"; // Tear down any existing comms // This is the action of commsNone // And also clears the way for other comms actions + commsMode = commsNone; if (osc) {delete osc; osc = NULL;} if (ethernet) {delete ethernet; ethernet = NULL;} if (artNet) {delete artNet; artNet = NULL;} @@ -792,7 +794,7 @@ if(ethError) { if (debug) debug->printf("Ethernet setup error, %d", ethError); - sprintf(commsStatusBuffer, "Ethernet setup failed"); + snprintf(commsStatusBuffer, kStringBufferLength, "Ethernet setup failed"); commsMenu = commsNone; // break out of here. this setup should be a function that returns a boolean } @@ -801,7 +803,7 @@ osc->setReceiveMessage(&recMessage); osc->begin(kOSCMbedPort); - sprintf(commsStatusBuffer, "Listening on %s", kOSCMbedPort); + snprintf(commsStatusBuffer, kStringBufferLength, "Listening on %i", kOSCMbedPort); } else if (commsMenu.selectedItem().payload.command[0] == commsArtNet) { @@ -822,7 +824,7 @@ artNet->Init(); artNet->SendArtPollReply(); // announce to art-net nodes - sprintf(commsStatusBuffer, "Listening"); + snprintf(commsStatusBuffer, kStringBufferLength, "Listening"); } else if (commsMenu.selectedItem().payload.command[0] == commsDMXIn) {