- Timestamp:
- 01/23/07 13:27:28 (6 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
standardInterfaces/trunk/standardInterfaces/realChar_p.cpp
r1991 r2607 25 25 #include <standardinterfaces/realChar_p.h> 26 26 27 standardInterfaces_i::realChar_p::realChar_p(const char* _name ) : portName(_name)27 standardInterfaces_i::realChar_p::realChar_p(const char* _name, unsigned int bufLen) : portName(_name), bufferLength(bufLen), rdPtr(0), wrPtr(0) 28 28 { 29 29 … … 31 31 data_servant_var = data_servant->_this(); 32 32 33 ready_for_input = new omni_semaphore(1); 33 PortTypes::CharSequence a; 34 I_buf.assign(bufferLength, a); 35 36 ready_for_input = new omni_semaphore(bufferLength); 34 37 data_ready = new omni_semaphore(0); 35 38 } … … 52 55 data_ready->wait(); 53 56 54 I = &I_in; 57 I = &I_buf[rdPtr]; 58 rdPtr = ++rdPtr % bufferLength; 55 59 } 56 60 … … 69 73 base->ready_for_input->wait(); 70 74 71 base->I_in = I; 75 base->I_buf[base->wrPtr] = I; 76 base->wrPtr= ++base->wrPtr % base->bufferLength; 72 77 73 78 base->data_ready->post();