DMX512 send/recv library with STM32 slave support originally from http://mbed.org/users/okini3939/notebook/dmx512
Fork of DMX by
Diff: DMX.cpp
- Revision:
- 21:36276a92303f
- Parent:
- 20:908740273e88
diff -r 908740273e88 -r 36276a92303f DMX.cpp --- a/DMX.cpp Tue May 31 11:02:49 2016 +0000 +++ b/DMX.cpp Sat Mar 04 10:24:03 2017 +0000 @@ -11,8 +11,7 @@ #include "mbed.h" #include "DMX.h" -DMX::DMX (PinName p_tx, PinName p_rx) : _dmx(p_tx, p_rx) { - +DMX::DMX (PinName p_tx, PinName p_rx) : _dmx(p_tx, p_rx, 250000) { clear(); // mode_tx = DMX_MODE_BEGIN; mode_tx = DMX_MODE_STOP; @@ -83,9 +82,8 @@ } #endif - _dmx.baud(250000); _dmx.format(8, Serial::None, 2); - _dmx.attach(this, &DMX::int_rx, Serial::RxIrq); + _dmx.attach(callback(this, &DMX::int_rx), Serial::RxIrq); // timeout01.attach_us(this, &DMX::int_timer, DMX_TIME_BETWEEN); } @@ -126,7 +124,7 @@ _uart->LCR |= (1 << 6); #endif mode_tx = DMX_MODE_BREAK; - timeout01.attach_us(this, &DMX::int_timer, time_break); + timeout01.attach_us(callback(this, &DMX::int_timer), time_break); break; case DMX_MODE_BREAK: @@ -138,7 +136,7 @@ _uart->LCR &= ~(1 << 6); #endif mode_tx = DMX_MODE_MAB; - timeout01.attach_us(this, &DMX::int_timer, time_mab); + timeout01.attach_us(callback(this, &DMX::int_timer), time_mab); break; case DMX_MODE_MAB: @@ -146,7 +144,7 @@ timeout01.detach(); addr_tx = 0; mode_tx = DMX_MODE_DATA; - _dmx.attach(this, &DMX::int_tx, Serial::TxIrq); + _dmx.attach(callback(this, &DMX::int_tx), Serial::TxIrq); #ifdef DMX_UART_DIRECT while(!(_uart->LSR & (1<<5))); _uart->THR = DMX_START_CODE; @@ -171,7 +169,7 @@ _dmx.attach(0, Serial::TxIrq); mode_tx = DMX_MODE_BEGIN; is_sent = 1; - timeout01.attach_us(this, &DMX::int_timer, time_mbb); + timeout01.attach_us(callback(this, &DMX::int_timer), time_mbb); } } } @@ -231,7 +229,7 @@ if (mode_tx == DMX_MODE_STOP) { mode_tx = DMX_MODE_BEGIN; is_sent = 0; - timeout01.attach_us(this, &DMX::int_timer, time_mbb); + timeout01.attach_us(callback(this, &DMX::int_timer), time_mbb); } }