Public Member Functions | Protected Member Functions
CubeLink Class Reference

Brief description of class still missing. More...

#include <CubeLink.h>

Inheritance diagram for CubeLink:
DaemonLink

List of all members.

Public Member Functions

 CubeLink (Station *station)
void highRateRefresh ()
void setFrequency (double f)
void setGains (int hard, int soft)
void start ()
void stop ()

Protected Member Functions

virtual int bytesAvailable (const char *buffer, int bytesCount)
virtual void connected ()

Detailed Description

Brief description of class still missing.

Full description of class still missing


Constructor & Destructor Documentation

CubeLink::CubeLink ( Station station)

References DaemonLink::setPort(), and TRACE.

  : DaemonLink(station)
{
  TRACE;
  setPort(2976);
  _refresh.setInterval(2000);
  QObject::connect(&_refresh, SIGNAL(timeout()), this, SLOT(refreshVariableParameters()));
  _refresh.start();
}

Member Function Documentation

int CubeLink::bytesAvailable ( const char *  buffer,
int  bytesCount 
) [protected, virtual]

Implements DaemonLink.

References bytesAvailable(), DaemonLink::match(), and TRACE.

Referenced by bytesAvailable().

{
  TRACE;
  int bytesRead=0;
  while(bytesRead<bytesCount) {
    // Scan for a line
    int newBytesRead;
    for(newBytesRead=bytesRead; newBytesRead<bytesCount && buffer[newBytesRead]!='\n'; newBytesRead++) {}
    if(newBytesRead==bytesCount) {
      return bytesRead; // partial line
    }
    switch(buffer[bytesRead]) {
    case 'b':
      if(match(buffer, bytesRead, bytesCount, "battery=")) {
        battery(buffer, bytesRead, bytesCount);
      }
      break;
    case 'f':
      if(match(buffer, bytesRead, bytesCount, "frequency=")) {
        frequency(buffer, bytesRead, bytesCount);
      }
      break;
    case 'h':
      if(match(buffer, bytesRead, bytesCount, "hardware gain level=")) {
        hardwareGain(buffer, bytesRead, bytesCount);
      }
      break;
    case 'r':
      if(match(buffer, bytesRead, bytesCount, "resolution=")) {
        numberOfBits(buffer, bytesRead, bytesCount);
      }
      break;
    case 's':
      if(match(buffer, bytesRead, bytesCount, "state=")) {
        state(buffer, bytesRead, newBytesRead);
      }
      break;
    case 't':
      if(match(buffer, bytesRead, bytesCount, "temperature=")) {
        temperature(buffer, bytesRead, bytesCount);
      }
      break;
    default:
      break;
    }
    bytesRead=newBytesRead+1;
    // Skip blanks and additionnal end of line characters
    while(bytesRead<bytesCount && isspace(buffer[bytesRead])) {bytesRead++;}
  }
  return bytesRead;
}
void CubeLink::connected ( ) [protected, virtual]

Reimplemented from DaemonLink.

References TRACE.

{
  TRACE;
  DaemonLink::connected();
  requestParameters();
}
{
  _refresh.setInterval(2000); // 2 s during startup
}
void CubeLink::setFrequency ( double  f)

References DaemonLink::send(), and TRACE.

Referenced by Station::setSeismicParameters().

{
  TRACE;
  QByteArray buf;
  buf+="frequency=";
  buf+=QByteArray::number((int)round(f));
  buf+="\n";
  send(buf);
}
void CubeLink::setGains ( int  hard,
int  soft 
)

References DaemonLink::send(), and TRACE.

Referenced by Station::setSeismicParameters().

{
  TRACE;
  QByteArray buf;
  buf+="gains=";
  buf+=QByteArray::number(hard);
  buf+=",";
  buf+=QByteArray::number(soft);
  buf+="\n";
  send(buf);
}
void CubeLink::start ( )

References DaemonLink::send(), and TRACE.

Referenced by Station::startSeismic().

{
  TRACE;
  send("start\n");
}
void CubeLink::stop ( )

References DaemonLink::send(), and TRACE.

Referenced by Station::stopSeismic().

{
  TRACE;
  send("stop\n");
}

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