Dependents:   ArtnetDMX

Revision:
6:622a294f70ab
Parent:
4:54754f9736f1
--- a/DMX.h	Fri Mar 18 00:44:16 2016 +0000
+++ b/DMX.h	Mon May 23 14:26:06 2016 +0000
@@ -1,33 +1,38 @@
 #ifndef DMX_H
 #define DMX_H
+
 #include "mbed.h"
-class DMX
+
+enum DMX_STATUS {
+    BEGIN,
+    START,
+    BREAK,
+    MAB,
+    DATA,
+    STOP,
+};
+
+class DMX 
 {
     public:
-        DMX(PinName pin);
-        ~DMX();
+        DMX (PinName p_tx, PinName p_rx); 
+        void V_PutData(int addr, int data);
         
-        void V_SetBreak(uint32_t I32_BreakTime);
-        void V_SetMAB(uint32_t I32_MABTime);
-        void V_SetSC(uint32_t I32_StartCodeTime);
-        void V_SetBitTime(uint32_t I32_BitTime);
-        void V_SetData(uint8_t I8_Data[512]);
-        
-        void V_SendDMX();
-        
+        void V_Start ();
+        void V_Stop ();
+    
     private:
-        DigitalOut _pin;
-        uint32_t I32_m_BreakTime;
-        uint32_t I32_m_MABTime;
-        uint32_t I32_m_StartCodeTime;
-        uint32_t I32_m_BitTime;
-        uint32_t I32_m_ChannelCounter;
-        uint32_t I32_m_BitCounter;
+        
+        Serial _dmx;                                                //seriele poort / uart voor dmx gebruiken
+        Timeout T_Timer;   
+        LPC_UART_TypeDef *_uart;                                    //definitie om uart te kunnen gebruiken als cross fucntie gebruik
         
-        uint8_t I8_m_Data[512];
-        
-        void V_SendMAB();
-        void V_SendSC();
-        void V_SendData();
+        void V_InitTimer();
+        void V_InitSend ();
+    
+        volatile DMX_STATUS ZendStatus;
+        volatile uint32_t I32_m_Addr;
+        uint8_t I8_Data[512];
 };
+
 #endif
\ No newline at end of file