#include <CubeMessages.h>
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) |
{MessageId=0x02};
| GainsPayload::GainsPayload | ( | int | hard, |
| int | soft | ||
| ) | [inline] |
| void GainsPayload::bigEndianValues | ( | ) | [inline] |
{
#if BYTE_ORDER==LITTLE_ENDIAN
ByteOrder::swap(_hard.bytes);
ByteOrder::swap(_soft.bytes);
#endif
}
| void GainsPayload::get | ( | CubeTcpServer * | tcpServer | ) | [inline] |
| 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;}
| unsigned char GainsPayload::bytes[4] |
| unsigned int GainsPayload::value |