Brief description of class still missing. More...
#include <CubeSerial.h>
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 () |
Brief description of class still missing.
Full description of class still missing
| CubeSerial::CubeSerial | ( | const std::string & | devicePath, |
| speed_t | speed, | ||
| DynamicBuffer * | buffer = 0 |
||
| ) | [inline] |
: Serial(devicePath, speed, buffer) {_autoStart=false;}
| 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;}
| void CubeSerial::start | ( | ) |
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));
}
}