18 #ifndef __igstkSerialCommunication_h
19 #define __igstkSerialCommunication_h
23 #pragma warning ( disable : 4355 )
26 #include "itkObject.h"
27 #include "itkEventObject.h"
29 #include "itkStdStreamLogOutput.h"
180 unsigned int &bytesRead );
199 void Sleep(
unsigned int milliseconds );
245 virtual void PrintSelf( std::ostream& os, itk::Indent indent )
const;
270 unsigned int m_SleepPeriod;
276 const char *m_OutputData;
279 unsigned int m_BytesToWrite;
282 unsigned int m_BytesToRead;
285 unsigned int m_BytesRead;
288 typedef std::map<int, InputType> IntegerInputMapType;
291 std::string m_CaptureFileName;
294 std::ofstream m_CaptureFileStream;
297 unsigned int m_CaptureMessageNumber;
306 unsigned int m_RTSSignal;
309 itk::StdStreamLogOutput::Pointer m_CaptureFileOutput;
315 IntegerInputMapType m_ResultInputMap;
318 igstkDeclareStateMacro( Idle );
319 igstkDeclareStateMacro( AttemptingToOpenPort );
320 igstkDeclareStateMacro( PortOpen );
321 igstkDeclareStateMacro( AttemptingToUpdateParameters );
322 igstkDeclareStateMacro( ReadyForCommunication );
323 igstkDeclareStateMacro( AttemptingToClosePort );
324 igstkDeclareStateMacro( AttemptingToRead );
325 igstkDeclareStateMacro( AttemptingToWrite );
326 igstkDeclareStateMacro( AttemptingToSendBreak );
327 igstkDeclareStateMacro( AttemptingToPurgeBuffers );
328 igstkDeclareStateMacro( AttemptingToSetRTS );
329 igstkDeclareStateMacro(
Sleep );
332 igstkDeclareInputMacro( Success );
333 igstkDeclareInputMacro( Failure );
334 igstkDeclareInputMacro( Timeout );
335 igstkDeclareInputMacro( OpenPort );
336 igstkDeclareInputMacro( ClosePort );
338 igstkDeclareInputMacro(
Read );
339 igstkDeclareInputMacro(
Write );
342 igstkDeclareInputMacro(
Sleep );
343 igstkDeclareInputMacro(
SetRTS );
346 void OpenPortSuccessProcessing(
void );
349 void OpenPortFailureProcessing(
void );
352 void ClosePortSuccessProcessing(
void );
355 void ClosePortFailureProcessing(
void );
358 void SuccessProcessing(
void );
361 void FailureProcessing(
void );
364 void TimeoutProcessing(
void );
370 void AttemptToOpenPortProcessing(
void );
373 void AttemptToUpdateParametersProcessing(
void );
376 void AttemptToClosePortProcessing(
void );
379 void AttemptToSetRTSProcessing(
void );
382 void AttemptToWriteProcessing(
void );
385 void AttemptToReadProcessing(
void );
388 void AttemptToSendBreakProcessing(
void );
391 void AttemptToPurgeBuffersProcessing(
void );
394 void SleepProcessing(
void );
397 const InputType &MapResultToInput(
int condition );
402 #endif // __igstkSerialCommunication_h