Add support new target MCU: LPC1114FN28 or LPC11XX
Fork of DMX by
Diff: DMX.cpp
- Revision:
- 6:9e7b4eeac6ec
- Parent:
- 5:72039cd4c874
- Child:
- 7:16d6874076dd
--- a/DMX.cpp Fri Jan 04 04:31:53 2013 +0000 +++ b/DMX.cpp Sun Jan 13 01:33:17 2013 +0000 @@ -1,6 +1,6 @@ /* * DMX512 send/recv library - * Copyright (c) 2011 Hiroshi Suga + * Copyright (c) 2013 Hiroshi Suga * Released under the MIT License: http://mbed.org/license/mit */ @@ -71,12 +71,26 @@ // timeout01.attach_us(this, &DMX::int_timer, DMX_TIME_BETWEEN); } -void DMX::put (int ch, int data) { - data_tx[ch] = data; +void DMX::put (int addr, int data) { + if (addr < 0 || addr >= DMX_SIZE) return; + data_tx[addr] = data; } -int DMX::get (int ch) { - return data_rx[ch]; +void DMX::put (unsigned char *buf, int addr, int len) { + if (addr < 0 || addr >= DMX_SIZE) return; + if (len > DMX_SIZE - addr) len = DMX_SIZE - addr; + memcpy(&data_tx[addr], buf, len); +} + +int DMX::get (int addr) { + if (addr < 0 || addr >= DMX_SIZE) return -1; + return data_rx[addr]; +} + +void DMX::get (unsigned char *buf, int addr, int len) { + if (addr < 0 || addr >= DMX_SIZE) return; + if (len > DMX_SIZE - addr) len = DMX_SIZE - addr; + memcpy(buf, &data_rx[addr], len); } void DMX::int_timer () {