
Artnet to DMX
Dependencies: mbed DMX TextLCD mbed-rtos
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.
Screen.h@33:e0c7a6eeeedc, 2016-05-10 (annotated)
- 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?
User | Revision | Line number | New 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 | } |