SSI OpComms 3 CM TX

Dependencies:   mbed

Fork of Optical3cmTXnucleo by Thomas Teisberg

Revision:
7:4fafb1b60eab
Parent:
6:8eae544417af
Child:
8:b6b645caf4ef
--- a/main.cpp	Tue Nov 10 06:39:32 2015 +0000
+++ b/main.cpp	Mon Nov 16 00:08:50 2015 +0000
@@ -1,4 +1,6 @@
-   #include "mbed.h"
+#include "mbed.h"
+#include <string>
+using namespace std;
 
 DigitalOut tx(D15);
 
@@ -68,6 +70,13 @@
     tx = 1;
 } 
 
+char checksum(char* buffer, int len)
+{
+    char sum = 0;
+    for(int i = 0; i < len; i++) sum ^= buffer[i];
+    return sum;
+}
+
 int main()
 {
     pc.printf("3 CM Link Board - Transmit\r\n");
@@ -103,9 +112,13 @@
         }
         else {
             //Adds ending characters
-            buffer[idx] = '\r';
-            idx++;
-            buffer[idx] = '\n';
+            // No need to add line ending characters -BZ
+//            buffer[idx] = '\r';
+//            idx++;
+//            buffer[idx] = '\n';
+//            idx++;
+            // add the checksum
+            buffer[idx] = checksum(buffer, idx);
             idx++;
             
             //Transmits packet