int blinkled = 0; // The current LED state. char packetBuffer[70]; // character array to hold outgoing data packets IPAddress remote_ip(192,168,0,101); // The PC running LabVIEW unsigned int remote_port = 61558; // The UDP port that LabVIEW is watching int WHITELED = 2; // Connection for LED // Configure "activity" LED as output void initBlinkingLED(){ pinMode(WHITELED, OUTPUT); } void initSDCard(){ if (!SD.begin(4)) { sdStatus = "SD card failed"; FileOK = false; } else { sdStatus = "SD card good"; FileOK = true; } } /************************************************************************** Blink, loop activity light **************************************************************************/ void blinkTheLED() { if (blinkled){ digitalWrite(WHITELED, LOW); } else { digitalWrite(WHITELED, HIGH); } blinkled = abs(blinkled-1); // 1-1=0, abs(0)=0 ; 0-1=-1, abs(-1)=1 (toggle between 0 and 1). } /************************************************************************** Convert IPAddress datatype to a human-readable string **************************************************************************/ String converIPtoString(IPAddress ip){ long longIP = (long)ip; String firstOctet = String(longIP & 0x000000FF); String secondOctet = String((longIP & 0x0000FF00)>>8); String thirdOctet = String((longIP & 0x00FF0000)>>16); String fourthOctet = String((longIP & 0xFF000000)>>24); return firstOctet+"."+secondOctet+"."+thirdOctet+"."+fourthOctet; } /************************************************************************** Convert output string to charcter buffer and transmit it to LabVIEW **************************************************************************/ void sendOutputPacket(String output){ int i = 0; memset(packetBuffer, 0, 99); while ((int)output[i] != 0){ packetBuffer[i] = output[i]; i = i + 1; } // send the output via UDP Udp.beginPacket(remote_ip, remote_port); Udp.write(packetBuffer); Udp.endPacket(); }