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:
- 66:02845e02a758
- Parent:
- 65:24ee1bf3061c
- Child:
- 67:6ce9fb62b17c
--- a/main.cpp Sat Jul 27 13:16:55 2013 +0000 +++ b/main.cpp Sat Jul 27 14:24:09 2013 +0000 @@ -105,8 +105,8 @@ #define kOSCMbedGateway 10,0,0,1 #define kOSCMbedDNS 10,0,0,1 -#define kOSCDestIPAddress 10,0,0,1 -#define kOSCDestPort 12000 +#define kOSCDestIPAddress 255,255,255,255 +#define kOSCDestPort 10000 #define kArtNetBindIPAddress 2,0,0,100 #define kArtNetBroadcastAddress 2,255,255,255 @@ -266,6 +266,20 @@ statusMessage += buffer; } } + else if (!strcmp( receiveMessage.getSubAddress() , "xFadeFadeUp" )) + { + if (receiveMessage.getArgNum() == 2) + if (receiveMessage.getTypeTag(0) == 'f' && receiveMessage.getTypeTag(1) == 'f') + { + commsXFade = receiveMessage.getArgFloat(0); + commsFadeUp = receiveMessage.getArgFloat(1); + updateFade = true; + + char buffer[15]; + snprintf(buffer, 15, "/... %1.2f %1.2f", commsXFade, commsFadeUp); + statusMessage += buffer; + } + } else { statusMessage += receiveMessage.getSubAddress(); @@ -1555,7 +1569,7 @@ else if (commsMenu.selectedItem().payload.command[0] == commsOSC) { commsMode = commsOSC; - commsTypeString = "OSC: "; + commsTypeString = "OSC: "; ethernet = new EthernetNetIf( IpAddr(kOSCMbedIPAddress), @@ -1581,7 +1595,8 @@ sendMessage.setIp( destIP ); sendMessage.setPort( kOSCDestPort ); - snprintf(commsStatusBuffer, kStringBufferLength, "Listening on %i", kOSCMbedPort); + IpAddr ethIP = ethernet->getIp(); + snprintf(commsStatusBuffer, kStringBufferLength, "In %u.%u.%u.%u:%u", ethIP[0], ethIP[1], ethIP[2], ethIP[3], kOSCMbedPort); } else if (commsMenu.selectedItem().payload.command[0] == commsArtNet) { @@ -1740,7 +1755,12 @@ { // If no comms in update this loop, hold to the last unless hands-on controls have moved significantly bool movement = (fabs(oldXFade-xFade) > 0.1) || (fabs(oldFadeUp-fadeUp) > 0.1); - if (movement) commsInActive = false; + if (movement) + { + commsInActive = false; + commsXFade = -1; + commsFadeUp = -1; + } } if (commsInActive) @@ -1845,17 +1865,17 @@ if (mixMode != mixModeOld) actionMixMode(); //// TASK: Process Network Comms Out, ie. send out any fade updates - if (commsMode == commsOSC && updateFade) + if (commsMode == commsOSC && updateFade && !commsInActive) { processOSCOut(xFade, fadeUp); } - if (commsMode == commsArtNet && updateFade) + if (commsMode == commsArtNet && updateFade && !commsInActive) { processArtNetOut(xFade, fadeUp); } - if (commsMode == commsDMXOut && updateFade) + if (commsMode == commsDMXOut && updateFade && !commsInActive) { processDMXOut(xFade, fadeUp); }