fix
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
/**
|
||||
* @file cusdr_protocol2_profile.cpp
|
||||
* @brief openHPSDR Protocol 2 board capability helpers
|
||||
*/
|
||||
|
||||
#include "cusdr_protocol2_profile.h"
|
||||
|
||||
namespace {
|
||||
|
||||
static Protocol2BoardProfile makeDefaultProfile(int boardId) {
|
||||
|
||||
Protocol2BoardProfile profile;
|
||||
profile.boardId = boardId;
|
||||
profile.boardName = "Protocol2 SDR";
|
||||
profile.adcCount = 1;
|
||||
profile.defaultDdcCount = 2;
|
||||
profile.dspClockHz = 122880000;
|
||||
profile.phaseWords = true;
|
||||
profile.hasAlex0 = true;
|
||||
profile.hasAlex1 = false;
|
||||
return profile;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Protocol2BoardProfile protocol2BoardProfile(int boardId) {
|
||||
|
||||
Protocol2BoardProfile profile = makeDefaultProfile(boardId);
|
||||
|
||||
switch (boardId) {
|
||||
|
||||
case 0:
|
||||
profile.boardName = "ATLAS";
|
||||
profile.adcCount = 4;
|
||||
profile.defaultDdcCount = 4;
|
||||
profile.dspClockHz = 122880000;
|
||||
profile.phaseWords = false;
|
||||
profile.hasAlex0 = true;
|
||||
profile.hasAlex1 = false;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
profile.boardName = "Hermes / ANAN-10/100";
|
||||
profile.adcCount = 1;
|
||||
profile.defaultDdcCount = 2;
|
||||
profile.dspClockHz = 122880000;
|
||||
profile.phaseWords = true;
|
||||
profile.hasAlex0 = true;
|
||||
profile.hasAlex1 = false;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
profile.boardName = "Hermes / ANAN-10E/100B";
|
||||
profile.adcCount = 1;
|
||||
profile.defaultDdcCount = 2;
|
||||
profile.dspClockHz = 122880000;
|
||||
profile.phaseWords = true;
|
||||
profile.hasAlex0 = false;
|
||||
profile.hasAlex1 = false;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
profile.boardName = "Angelia / ANAN-100D";
|
||||
profile.adcCount = 2;
|
||||
profile.defaultDdcCount = 4;
|
||||
profile.dspClockHz = 122880000;
|
||||
profile.phaseWords = true;
|
||||
profile.hasAlex0 = true;
|
||||
profile.hasAlex1 = false;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
profile.boardName = "Orion / ANAN-200D";
|
||||
profile.adcCount = 2;
|
||||
profile.defaultDdcCount = 4;
|
||||
profile.dspClockHz = 122880000;
|
||||
profile.phaseWords = true;
|
||||
profile.hasAlex0 = true;
|
||||
profile.hasAlex1 = false;
|
||||
break;
|
||||
|
||||
case 5:
|
||||
profile.boardName = "Orion MkII / ANAN-7/8000DLE";
|
||||
profile.adcCount = 2;
|
||||
profile.defaultDdcCount = 4;
|
||||
profile.dspClockHz = 122880000;
|
||||
profile.phaseWords = true;
|
||||
profile.hasAlex0 = true;
|
||||
profile.hasAlex1 = true;
|
||||
break;
|
||||
|
||||
case 6:
|
||||
profile.boardName = "Hermes Lite";
|
||||
profile.adcCount = 1;
|
||||
profile.defaultDdcCount = 2;
|
||||
profile.dspClockHz = 76800000;
|
||||
profile.phaseWords = true;
|
||||
profile.hasAlex0 = false;
|
||||
profile.hasAlex1 = false;
|
||||
break;
|
||||
|
||||
case 10:
|
||||
profile.boardName = "Saturn / ANAN-G2";
|
||||
profile.adcCount = 2;
|
||||
profile.defaultDdcCount = 4;
|
||||
profile.dspClockHz = 122880000;
|
||||
profile.phaseWords = true;
|
||||
profile.hasAlex0 = true;
|
||||
profile.hasAlex1 = true;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return profile;
|
||||
}
|
||||
|
||||
QString protocol2DeviceSummary(const TNetworkDevicecard &device) {
|
||||
|
||||
QString summary = device.boardName;
|
||||
|
||||
if (device.protocolVersion > 0)
|
||||
summary += QString(" P%1").arg(device.protocolVersion);
|
||||
|
||||
if (device.firmwareVersion > 0)
|
||||
summary += QString(" FW %1.%2").arg(device.firmwareVersion / 10).arg(device.firmwareVersion % 10);
|
||||
|
||||
if (device.adcCount > 0 || device.ddcCount > 0)
|
||||
summary += QString(" %1ADC/%2DDC").arg(device.adcCount).arg(device.ddcCount);
|
||||
|
||||
if (device.phaseWords)
|
||||
summary += " phase";
|
||||
|
||||
if (device.hasAlex0 || device.hasAlex1)
|
||||
summary += device.hasAlex1 ? " Alex0/1" : " Alex";
|
||||
|
||||
summary += QString(" (%1)").arg(device.ip_address.toString());
|
||||
return summary;
|
||||
}
|
||||
Reference in New Issue
Block a user