Public Types | Public Member Functions | Static Public Member Functions
GainsPayload Class Reference

#include <CubeMessages.h>

List of all members.

Public Types

enum  MessageId { MessageId = 0x02 }

Public Member Functions

void bigEndianValues ()
 GainsPayload (int hard, int soft)
void get (CubeTcpServer *tcpServer)
unsigned int hard () const
unsigned int soft () const

Static Public Member Functions

static void sendTCP (CubeTcpServer *tcpServer, unsigned int hard, unsigned int soft)

Member Enumeration Documentation

Enumerator:
MessageId 
{MessageId=0x02};

Constructor & Destructor Documentation

GainsPayload::GainsPayload ( int  hard,
int  soft 
) [inline]

References hard(), and soft().

{_hard.value=hard; _soft.value=soft;}

Member Function Documentation

void GainsPayload::bigEndianValues ( ) [inline]
{
#if BYTE_ORDER==LITTLE_ENDIAN
  ByteOrder::swap(_hard.bytes);
  ByteOrder::swap(_soft.bytes);
#endif
}
void GainsPayload::get ( CubeTcpServer tcpServer) [inline]

References hard(), sendTCP(), and soft().

{sendTCP(tcpServer, hard(), soft());}
unsigned int GainsPayload::hard ( ) const [inline]

Referenced by GainsPayload(), and get().

{return _hard.value;}
void GainsPayload::sendTCP ( CubeTcpServer tcpServer,
unsigned int  hard,
unsigned int  soft 
) [static]

References GpCoreTools::TcpServerStream::send().

Referenced by get().

{
  char buf[128];
  unsigned int adcMode;
  float resolution;
  switch(soft) {
  case 1:
    adcMode=16;
    resolution=22.5;
    break;
  case 2:
    adcMode=8;
    resolution=21.5;
    break;
  case 4:
    adcMode=4;
    resolution=21.0;
    break;
  case 8:
    adcMode=2;
    resolution=20.0;
    break;
  case 16:
    adcMode=1;
    resolution=18.0;
    break;
  default:
    Log::write(0, "[ERROR] bad software gain level: %i\n", soft);
    return;
  }
  // 81 character + variable fields: 2+2+5+4+4=17, total:98
  snprintf(buf, 128, "software gain level=%u\n"
                     "adc mode=%u\n"
                     "resolution=%f bits\n"
                     "hardware gain level=%u\n", soft, adcMode, resolution, hard);
  tcpServer->send(buf, strlen(buf));
}
unsigned int GainsPayload::soft ( ) const [inline]

Referenced by GainsPayload(), and get().

{return _soft.value;}

Member Data Documentation

unsigned char GainsPayload::bytes[4]
unsigned int GainsPayload::value

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