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.

Committer:
Ayrton_L
Date:
Thu May 05 21:06:56 2016 +0000
Revision:
29:4a11f841dae1
Parent:
20:bcaba3ecc235
Child:
33:e0c7a6eeeedc
Finalizing Beta;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Ayrton_L 19:e8b826ab28a8 1 #include "string.h"
Ayrton_L 19:e8b826ab28a8 2 #include "stdint.h"
Ayrton_L 19:e8b826ab28a8 3 #include "TextLCD.h"
Ayrton_L 29:4a11f841dae1 4 TextLCD lcd(p10, p12, p15, p16, p29, p30, TextLCD::LCD20x4);
Ayrton_L 19:e8b826ab28a8 5
Ayrton_L 19:e8b826ab28a8 6 class Screen
Ayrton_L 19:e8b826ab28a8 7 {
Ayrton_L 19:e8b826ab28a8 8 public:
Ayrton_L 19:e8b826ab28a8 9 Screen();
Ayrton_L 19:e8b826ab28a8 10 ~Screen();
Ayrton_L 19:e8b826ab28a8 11
Ayrton_L 19:e8b826ab28a8 12 void V_Printit() const;
Ayrton_L 29:4a11f841dae1 13 void V_Clear() const;
Ayrton_L 19:e8b826ab28a8 14 void V_SetRij(uint32_t I32_Rij);
Ayrton_L 19:e8b826ab28a8 15 void V_SetKolom(uint32_t I32_Kolom);
Ayrton_L 19:e8b826ab28a8 16 void V_SetTekst(char * C_Tekst);
Ayrton_L 29:4a11f841dae1 17 void V_SetLocate(bool B_Locate);
Ayrton_L 29:4a11f841dae1 18
Ayrton_L 19:e8b826ab28a8 19
Ayrton_L 19:e8b826ab28a8 20 private:
Ayrton_L 19:e8b826ab28a8 21 uint32_t I32_m_Rij;
Ayrton_L 19:e8b826ab28a8 22 uint32_t I32_m_Kolom;
Ayrton_L 19:e8b826ab28a8 23 char *C_m_Tekst[];
Ayrton_L 29:4a11f841dae1 24 bool B_m_Locate;
Ayrton_L 19:e8b826ab28a8 25 };
Ayrton_L 19:e8b826ab28a8 26
Ayrton_L 19:e8b826ab28a8 27 Screen::Screen()
Ayrton_L 19:e8b826ab28a8 28 {
Ayrton_L 19:e8b826ab28a8 29 this->I32_m_Rij = 0;
Ayrton_L 19:e8b826ab28a8 30 this->I32_m_Kolom = 0;
Ayrton_L 19:e8b826ab28a8 31 *this->C_m_Tekst = "";
Ayrton_L 19:e8b826ab28a8 32 return;
Ayrton_L 19:e8b826ab28a8 33 }
Ayrton_L 19:e8b826ab28a8 34
Ayrton_L 19:e8b826ab28a8 35 Screen::~Screen()
Ayrton_L 19:e8b826ab28a8 36 {
Ayrton_L 19:e8b826ab28a8 37 delete &I32_m_Rij;
Ayrton_L 19:e8b826ab28a8 38 delete &I32_m_Kolom;
Ayrton_L 19:e8b826ab28a8 39 delete C_m_Tekst;
Ayrton_L 19:e8b826ab28a8 40 return;
Ayrton_L 19:e8b826ab28a8 41 }
Ayrton_L 19:e8b826ab28a8 42
Ayrton_L 19:e8b826ab28a8 43 void Screen::V_SetRij(uint32_t I32_Rij)
Ayrton_L 19:e8b826ab28a8 44 {
Ayrton_L 29:4a11f841dae1 45 I32_m_Rij = I32_Rij;
Ayrton_L 19:e8b826ab28a8 46 }
Ayrton_L 19:e8b826ab28a8 47
Ayrton_L 19:e8b826ab28a8 48 void Screen::V_SetKolom(uint32_t I32_Kolom)
Ayrton_L 19:e8b826ab28a8 49 {
Ayrton_L 29:4a11f841dae1 50 I32_m_Kolom = I32_Kolom ;
Ayrton_L 19:e8b826ab28a8 51 }
Ayrton_L 19:e8b826ab28a8 52
Ayrton_L 19:e8b826ab28a8 53 void Screen::V_SetTekst(char C_Tekst[])
Ayrton_L 19:e8b826ab28a8 54 {
Ayrton_L 19:e8b826ab28a8 55 *C_m_Tekst = C_Tekst;
Ayrton_L 19:e8b826ab28a8 56 }
Ayrton_L 19:e8b826ab28a8 57
Ayrton_L 29:4a11f841dae1 58 void Screen::V_SetLocate(bool B_Locate)
Ayrton_L 29:4a11f841dae1 59 {
Ayrton_L 29:4a11f841dae1 60 B_m_Locate = B_Locate;
Ayrton_L 29:4a11f841dae1 61 }
Ayrton_L 29:4a11f841dae1 62
Ayrton_L 19:e8b826ab28a8 63 void Screen::V_Printit() const
Ayrton_L 19:e8b826ab28a8 64 {
Ayrton_L 29:4a11f841dae1 65 if(B_m_Locate == true)
Ayrton_L 29:4a11f841dae1 66 {
Ayrton_L 29:4a11f841dae1 67 lcd.locate(I32_m_Kolom, I32_m_Rij);
Ayrton_L 29:4a11f841dae1 68 }
Ayrton_L 19:e8b826ab28a8 69 lcd.printf(*C_m_Tekst);
Ayrton_L 19:e8b826ab28a8 70 }
Ayrton_L 19:e8b826ab28a8 71
Ayrton_L 29:4a11f841dae1 72 void Screen::V_Clear() const
Ayrton_L 19:e8b826ab28a8 73 {
Ayrton_L 19:e8b826ab28a8 74 lcd.cls();
Ayrton_L 29:4a11f841dae1 75 }