Artnet to DMX

Dependencies:   mbed DMX TextLCD mbed-rtos

/media/uploads/Ayrton_L/dmx.png

Art-NET to DMX converter.

Read Art-NET and process the data so it can be send by 3 XLR3 outputs for DMX. With a 4x20 display you can choose some options. For example what universe you would like on what output.

This is a project we make as our final project of our 2nd year of university. We study Electronics-ICT / Embedded ICT.

We chose for this amazing platform (MBED LPC1768) because it has al the interfaces and pins we need.

Revision:
30:51a4370a88bf
Parent:
29:4a11f841dae1
Child:
31:f7f44632c3cd
--- a/Settings.h	Thu May 05 21:06:56 2016 +0000
+++ b/Settings.h	Sun May 08 20:11:07 2016 +0000
@@ -8,26 +8,33 @@
         ~Settings();
         
         void V_SetInterrupt(bool B_Interrupt);
-        void V_SetUniverse(uint32_t I32_Universe[]);
         void V_SetLeft(bool B_Left);
         void V_SetRight(bool B_Right);
         void V_SetDirection(uint32_t I32_Direction);
         void V_SetLine(uint32_t I32_Line);
         void V_SetInMenu(bool B_Menu);
         void V_SetOK(bool B_OK);
+        void V_SetCounter(uint32_t I32_LineCounter);
+        void V_SetOutput1(uint32_t I32_Universe);
+        void V_SetOutput2(uint32_t I32_Universe);
+        void V_SetOutput3(uint32_t I32_Universe);
         
         bool B_GetInterrupt();
         bool B_GetLeft();
         bool B_GetRight();
         bool B_GetMenu();
         bool B_GetOK();
-        
-        uint32_t I32_GetLine();        
+            
         uint32_t I32_GetDirection();
-        uint32_t I32_GetUniverse(uint32_t I32_UniKeuze);
+        uint32_t I32_GetLine();
+        uint32_t I32_GetOutput1();
+        uint32_t I32_GetOutput2();
+        uint32_t I32_GetOutput3();
         
     private:
-        uint32_t I32_m_Universe[3];
+        uint32_t I32_m_Output1;
+        uint32_t I32_m_Output2;
+        uint32_t I32_m_Output3;
         uint32_t I32_m_Direction;
         uint32_t I32_m_Line;
         bool B_m_Interrupt;
@@ -45,11 +52,11 @@
     B_m_Right = false;
     B_m_Menu = false;
     B_m_OK = false;
-    I32_m_Universe[0] = 0;
-    I32_m_Universe[1] = 0;
-    I32_m_Universe[2] = 0;
     I32_m_Direction = 0;
     I32_m_Line = 0;
+    I32_m_Output1 = 0;
+    I32_m_Output2 = 0;
+    I32_m_Output3 = 0;
 }
 
 Settings::~Settings()
@@ -59,9 +66,26 @@
     delete &B_m_Left;
     delete &B_m_OK;
     delete &B_m_Menu; 
-    delete &I32_m_Universe[3];
     delete &I32_m_Direction;
     delete &I32_m_Line;
+    delete &I32_m_Output1;
+    delete &I32_m_Output2;
+    delete &I32_m_Output3;
+}
+
+void Settings::V_SetOutput1(uint32_t I32_Universe)
+{
+    I32_m_Output1 = I32_Universe;
+}
+
+void Settings::V_SetOutput2(uint32_t I32_Universe)
+{
+    I32_m_Output2 = I32_Universe;
+}
+
+void Settings::V_SetOutput3(uint32_t I32_Universe)
+{
+    I32_m_Output3 = I32_Universe;
 }
 
 void Settings::V_SetOK(bool B_OK)
@@ -74,9 +98,9 @@
     B_m_Menu = B_Menu;
 }
 
-void Settings::V_SetLine(uint32_t I32_Line)
+void Settings::V_SetCounter(uint32_t I32_LineCounter)
 {
-    I32_m_Line = I32_Line;
+    I32_m_Line = I32_LineCounter;
 }
 
 void Settings::V_SetInterrupt(bool B_Interrupt)
@@ -134,22 +158,17 @@
     return I32_m_Line;
 }
 
-void Settings::V_SetUniverse(uint32_t I32_Universe[])
+uint32_t Settings::I32_GetOutput1()
 {
-    
+    return I32_m_Output1;
 }
 
-uint32_t Settings::I32_GetUniverse(uint32_t I32_UniKeuze)
+uint32_t Settings::I32_GetOutput2()
 {
-    switch (I32_UniKeuze)
-    {
-        case 1:
-            return I32_m_Universe[0];
-        case 2:
-            return I32_m_Universe[1];
-        case 3:
-            return I32_m_Universe[2];
-        default:
-            return 0;
-    }
+    return I32_m_Output2;
+}
+
+uint32_t Settings::I32_GetOutput3()
+{
+    return I32_m_Output3;
 }
\ No newline at end of file