MODSERIAL with support for more devices
Fork of MODSERIAL by
Diff: MODSERIAL.cpp
- Revision:
- 31:b90b20f78f04
- Parent:
- 27:9c93ce7cb9d8
- Child:
- 42:4737f8a5b018
diff -r b04ce87dc424 -r b90b20f78f04 MODSERIAL.cpp --- a/MODSERIAL.cpp Sun Sep 01 12:24:12 2013 +0000 +++ b/MODSERIAL.cpp Fri Oct 11 18:31:01 2013 +0000 @@ -93,4 +93,27 @@ } +bool MODSERIAL::claim (FILE *stream) { + if ( _name == NULL) { + error("claim requires a name to be given in the instantiator of the MODSERIAL instance!\r\n"); + } + + //Add '/' before name: + char *path = new char[strlen(_name) + 2]; + sprintf(path, "/%s", _name); + + if (freopen(path, "w", stream) == NULL) { + // Failed, should not happen + return false; + } + + delete(path); + + //No buffering + setvbuf(stdout, NULL, _IONBF, buffer_size[TxIrq]); + return true; +} + + + }; // namespace AjK ends