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:
Tue May 10 13:27:12 2016 +0000
Revision:
33:e0c7a6eeeedc
Parent:
29:4a11f841dae1
Child:
35:23656910be93
Display right working

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 19:e8b826ab28a8 17
Ayrton_L 19:e8b826ab28a8 18 private:
Ayrton_L 19:e8b826ab28a8 19 uint32_t I32_m_Rij;
Ayrton_L 19:e8b826ab28a8 20 uint32_t I32_m_Kolom;
Ayrton_L 19:e8b826ab28a8 21 char *C_m_Tekst[];
Ayrton_L 19:e8b826ab28a8 22 };
Ayrton_L 19:e8b826ab28a8 23
Ayrton_L 19:e8b826ab28a8 24 Screen::Screen()
Ayrton_L 19:e8b826ab28a8 25 {
Ayrton_L 19:e8b826ab28a8 26 this->I32_m_Rij = 0;
Ayrton_L 19:e8b826ab28a8 27 this->I32_m_Kolom = 0;
Ayrton_L 19:e8b826ab28a8 28 *this->C_m_Tekst = "";
Ayrton_L 19:e8b826ab28a8 29 return;
Ayrton_L 19:e8b826ab28a8 30 }
Ayrton_L 19:e8b826ab28a8 31
Ayrton_L 19:e8b826ab28a8 32 Screen::~Screen()
Ayrton_L 19:e8b826ab28a8 33 {
Ayrton_L 19:e8b826ab28a8 34 delete &I32_m_Rij;
Ayrton_L 19:e8b826ab28a8 35 delete &I32_m_Kolom;
Ayrton_L 19:e8b826ab28a8 36 delete C_m_Tekst;
Ayrton_L 19:e8b826ab28a8 37 return;
Ayrton_L 19:e8b826ab28a8 38 }
Ayrton_L 19:e8b826ab28a8 39
Ayrton_L 19:e8b826ab28a8 40 void Screen::V_SetRij(uint32_t I32_Rij)
Ayrton_L 19:e8b826ab28a8 41 {
Ayrton_L 29:4a11f841dae1 42 I32_m_Rij = I32_Rij;
Ayrton_L 19:e8b826ab28a8 43 }
Ayrton_L 19:e8b826ab28a8 44
Ayrton_L 19:e8b826ab28a8 45 void Screen::V_SetKolom(uint32_t I32_Kolom)
Ayrton_L 19:e8b826ab28a8 46 {
Ayrton_L 29:4a11f841dae1 47 I32_m_Kolom = I32_Kolom ;
Ayrton_L 19:e8b826ab28a8 48 }
Ayrton_L 19:e8b826ab28a8 49
Ayrton_L 19:e8b826ab28a8 50 void Screen::V_SetTekst(char C_Tekst[])
Ayrton_L 19:e8b826ab28a8 51 {
Ayrton_L 19:e8b826ab28a8 52 *C_m_Tekst = C_Tekst;
Ayrton_L 19:e8b826ab28a8 53 }
Ayrton_L 19:e8b826ab28a8 54
Ayrton_L 19:e8b826ab28a8 55 void Screen::V_Printit() const
Ayrton_L 19:e8b826ab28a8 56 {
Ayrton_L 33:e0c7a6eeeedc 57 lcd.locate(I32_m_Kolom, I32_m_Rij);
Ayrton_L 19:e8b826ab28a8 58 lcd.printf(*C_m_Tekst);
Ayrton_L 19:e8b826ab28a8 59 }
Ayrton_L 19:e8b826ab28a8 60
Ayrton_L 29:4a11f841dae1 61 void Screen::V_Clear() const
Ayrton_L 19:e8b826ab28a8 62 {
Ayrton_L 19:e8b826ab28a8 63 lcd.cls();
Ayrton_L 29:4a11f841dae1 64 }