mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-23 10:07:59 +02:00
hardware version (#580)
* hardware version for all dets except eiger Co-authored-by: Erik Frojdh <erik.frojdh@gmail.com>
This commit is contained in:
Binary file not shown.
@ -106,7 +106,9 @@ void basictests() {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
uint16_t hversion = getHardwareVersionNumber();
|
||||
char hversion[MAX_STR_LENGTH] = {0};
|
||||
memset(hversion, 0, MAX_STR_LENGTH);
|
||||
getHardwareVersion(hversion);
|
||||
uint32_t ipadd = getDetectorIP();
|
||||
uint64_t macadd = getDetectorMAC();
|
||||
int64_t fwversion = getFirmwareVersion();
|
||||
@ -118,7 +120,7 @@ void basictests() {
|
||||
|
||||
LOG(logINFOBLUE,
|
||||
("**************************************************\n"
|
||||
"Hardware Version:\t\t 0x%x\n"
|
||||
"Hardware Version:\t\t %s\n"
|
||||
|
||||
"Detector IP Addr:\t\t 0x%x\n"
|
||||
"Detector MAC Addr:\t\t 0x%llx\n\n"
|
||||
@ -259,14 +261,34 @@ u_int64_t getFirmwareAPIVersion() {
|
||||
return ((bus_r(API_VERSION_REG) & API_VERSION_MSK) >> API_VERSION_OFST);
|
||||
}
|
||||
|
||||
void getHardwareVersion(char *version) {
|
||||
strcpy(version, "unknown");
|
||||
int hwversion = getHardwareVersionNumber();
|
||||
const int hwNumberList[] = HARDWARE_VERSION_NUMBERS;
|
||||
const char *hwNamesList[] = HARDWARE_VERSION_NAMES;
|
||||
for (int i = 0; i != NUM_HARDWARE_VERSIONS; ++i) {
|
||||
LOG(logDEBUG, ("0x%x %d 0x%x %s\n", hwversion, i, hwNumberList[i],
|
||||
hwNamesList[i]));
|
||||
if (hwNumberList[i] == hwversion) {
|
||||
strcpy(version, hwNamesList[i]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
u_int16_t getHardwareVersionNumber() {
|
||||
#ifdef VIRTUAL
|
||||
return 0;
|
||||
return 0x2;
|
||||
#endif
|
||||
return ((bus_r(MCB_SERIAL_NO_REG) & MCB_SERIAL_NO_VRSN_MSK) >>
|
||||
MCB_SERIAL_NO_VRSN_OFST);
|
||||
}
|
||||
|
||||
int isHardwareVersion_1_0() {
|
||||
const int hwNumberList[] = HARDWARE_VERSION_NUMBERS;
|
||||
return ((getHardwareVersionNumber() == hwNumberList[0]) ? 1 : 0);
|
||||
}
|
||||
|
||||
u_int32_t getDetectorNumber() {
|
||||
#ifdef VIRTUAL
|
||||
return 0;
|
||||
|
@ -7,6 +7,11 @@
|
||||
#define KERNEL_DATE_VRSN "Mon May 10 18:00:21 CEST 2021"
|
||||
#define ID_FILE "detid_mythen3.txt"
|
||||
|
||||
#define NUM_HARDWARE_VERSIONS (2)
|
||||
#define HARDWARE_VERSION_NUMBERS {0x0, 0x2};
|
||||
#define HARDWARE_VERSION_NAMES \
|
||||
{ "1.0", "1.2" }
|
||||
|
||||
#define LINKED_SERVER_NAME "mythen3DetectorServer"
|
||||
|
||||
#define CTRL_SRVR_INIT_TIME_US (300 * 1000)
|
||||
|
Reference in New Issue
Block a user