mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-23 10:07:59 +02:00
Eiger: add hardware version (#688)
* eiger: hardwareversion, fix firmware version unable to read version scenarios, check to see if febl, febr and beb have same fw version * feb versions can be picked up only after feb initialization
This commit is contained in:
@ -85,7 +85,6 @@ class Detector {
|
||||
|
||||
Result<std::string> getDetectorServerVersion(Positions pos = {}) const;
|
||||
|
||||
/** [Jungfrau][Moench][Gotthard2][Myhten3][Gotthard][Ctb] */
|
||||
Result<std::string> getHardwareVersion(Positions pos = {}) const;
|
||||
|
||||
Result<std::string> getKernelVersion(Positions pos = {}) const;
|
||||
|
@ -279,11 +279,7 @@ std::string CmdProxy::Versions(int action) {
|
||||
auto t = det->getFirmwareVersion(std::vector<int>{det_id});
|
||||
os << "\nType : " << OutString(det->getDetectorType())
|
||||
<< "\nRelease : " << det->getPackageVersion() << std::hex
|
||||
<< "\nClient : " << det->getClientVersion()
|
||||
<< "\nServer : "
|
||||
<< OutString(det->getDetectorServerVersion(std::vector<int>{det_id}))
|
||||
<< "\nKernel : "
|
||||
<< OutString(det->getKernelVersion({std::vector<int>{det_id}}));
|
||||
<< "\nClient : " << det->getClientVersion();
|
||||
|
||||
if (eiger) {
|
||||
os << "\nFirmware (Beb) : "
|
||||
@ -297,11 +293,16 @@ std::string CmdProxy::Versions(int action) {
|
||||
} else {
|
||||
os << "\nFirmware : "
|
||||
<< OutStringHex(
|
||||
det->getFirmwareVersion(std::vector<int>{det_id}))
|
||||
<< "\nHardware : "
|
||||
<< OutString(det->getHardwareVersion(std::vector<int>{det_id}));
|
||||
det->getFirmwareVersion(std::vector<int>{det_id}));
|
||||
}
|
||||
|
||||
os << "\nServer : "
|
||||
<< OutString(det->getDetectorServerVersion(std::vector<int>{det_id}))
|
||||
<< "\nKernel : "
|
||||
<< OutString(det->getKernelVersion({std::vector<int>{det_id}}))
|
||||
<< "\nHardware : "
|
||||
<< OutString(det->getHardwareVersion(std::vector<int>{det_id}));
|
||||
|
||||
if (det->getUseReceiverFlag().squash(true)) {
|
||||
os << "\nReceiver : "
|
||||
<< OutString(det->getReceiverVersion(std::vector<int>{det_id}));
|
||||
|
@ -1244,7 +1244,8 @@ class CmdProxy {
|
||||
|
||||
GET_COMMAND(hardwareversion, getHardwareVersion,
|
||||
"\n\t[Jungfrau][Gotthard2][Myhten3][Gotthard][Ctb][Moench] "
|
||||
"Hardware version of detector.");
|
||||
"Hardware version of detector. \n\t[Eiger] Hardware version of "
|
||||
"front FPGA on detector.");
|
||||
|
||||
GET_COMMAND(
|
||||
kernelversion, getKernelVersion,
|
||||
|
@ -116,14 +116,8 @@ TEST_CASE("detectorserverversion", "[.cmd]") {
|
||||
TEST_CASE("hardwareversion", "[.cmd]") {
|
||||
Detector det;
|
||||
CmdProxy proxy(&det);
|
||||
auto det_type = det.getDetectorType().squash();
|
||||
if (det_type != defs::EIGER) {
|
||||
REQUIRE_NOTHROW(proxy.Call("hardwareversion", {}, -1, GET));
|
||||
REQUIRE_THROWS(proxy.Call("hardwareversion", {"0"}, -1, PUT));
|
||||
} else {
|
||||
REQUIRE_THROWS(proxy.Call("hardwareversion", {"0"}, -1, PUT));
|
||||
REQUIRE_THROWS(proxy.Call("hardwareversion", {}, -1, GET));
|
||||
}
|
||||
REQUIRE_NOTHROW(proxy.Call("hardwareversion", {}, -1, GET));
|
||||
REQUIRE_THROWS(proxy.Call("hardwareversion", {"0"}, -1, PUT));
|
||||
}
|
||||
|
||||
TEST_CASE("kernelversion", "[.cmd]") {
|
||||
@ -519,7 +513,7 @@ TEST_CASE("gappixels", "[.cmd]") {
|
||||
|
||||
// test eiger(quad or full module only)
|
||||
bool gapPixelTest = false;
|
||||
if (det_type == defs:: || det_type == defs::MOENCH)
|
||||
if (det_type == defs::JUNGFRAU || det_type == defs::MOENCH)
|
||||
gapPixelTest = true;
|
||||
else if (det_type == defs::EIGER) {
|
||||
bool quad = det.getQuad().squash(false);
|
||||
|
Reference in New Issue
Block a user