Diff: DMX.h
- 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