Public Member Functions
CubeSerial Class Reference

Brief description of class still missing. More...

#include <CubeSerial.h>

Inheritance diagram for CubeSerial:
GpCoreTools::Serial GpCoreTools::Stream

List of all members.

Public Member Functions

bool autoStart () const
 CubeSerial (const std::string &devicePath, speed_t speed, DynamicBuffer *buffer=0)
virtual void hungUp ()
void setAutoStart (bool as)
void start ()

Detailed Description

Brief description of class still missing.

Full description of class still missing


Constructor & Destructor Documentation

CubeSerial::CubeSerial ( const std::string &  devicePath,
speed_t  speed,
DynamicBuffer buffer = 0 
) [inline]
    : Serial(devicePath, speed, buffer) {_autoStart=false;}

Member Function Documentation

bool CubeSerial::autoStart ( ) const [inline]

Referenced by CubeDevice::autoStart().

{return _autoStart;}
void CubeSerial::hungUp ( ) [virtual]

Reimplemented from GpCoreTools::Serial.

References GpCoreTools::Serial::connect(), start(), TRACE, and GpCoreTools::Serial::write().

{
  TRACE;
  ScreenClient::write(0, 2, "CUBE disconnected   ");
  if(connect()) {
    ScreenClient::write(0, 2, "CUBE connected      ");
    start();
  }
}
void CubeSerial::setAutoStart ( bool  as) [inline]

Referenced by CubeDevice::setAutoStart().

{_autoStart=as;}

Request message are sent to Cube to force initialization of CubeBuffer.

References GpCoreTools::MessageClassIdOnly::buffer(), ControlMessageClass, ParameterMessageClass, and GpCoreTools::Serial::write().

Referenced by hungUp().

{
  // Request stop
  MessageClassIdOnly msg1(ControlMessageClass, StopPayload::MessageId);
  write(msg1.buffer(), sizeof(msg1));
  // Request sampling frequency
  MessageClassIdOnly msg2(ParameterMessageClass, FrequencyPayload::MessageId);
  write(msg2.buffer(), sizeof(msg2));
  // Request gains
  MessageClassIdOnly msg3(ParameterMessageClass, GainsPayload::MessageId);
  write(msg3.buffer(), sizeof(msg3));
  // Request timeMode
  MessageClassIdOnly msg4(ParameterMessageClass, TimeModePayload::MessageId);
  write(msg4.buffer(), sizeof(msg4));
  if(_autoStart) {
    // Request start
    sleep(2); // Noticed problem of startup with one the prototypes, experimental
    ScreenClient::write(0, 2, "Starting...         ");
    Log::write(0, "start cube\n");
    MessageClassIdOnly msg5(ControlMessageClass, StartPayload::MessageId);
    write(msg5.buffer(), sizeof(msg5));
  }
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines