serialnumber fixed to point to mod id reg

This commit is contained in:
2021-08-11 19:30:25 +02:00
parent 8e6a0cbfda
commit ff9eaaf3f3
6 changed files with 29 additions and 17 deletions

View File

@ -94,7 +94,9 @@ void readDetectorNumber();
#endif
u_int32_t getDetectorNumber();
#ifdef GOTTHARD2D
void setSerialNumber(int64_t arg);
uint16_t getSerialNumber();
void setSerialNumber(uint16_t arg);
int getMaxSerialNumber();
#endif
u_int64_t getDetectorMAC();
u_int32_t getDetectorIP();

View File

@ -666,7 +666,11 @@ int get_serial_number(int file_des) {
ret = OK;
memset(mess, 0, sizeof(mess));
int64_t retval = -1;
#ifdef GOTTHARD2D
retval = getSerialNumber();
#else
retval = getDetectorNumber();
#endif
LOG(logDEBUG1, ("detector number retval: 0x%llx\n", (long long int)retval));
return Server_SendResult(file_des, INT64, &retval, sizeof(retval));
}
@ -683,7 +687,14 @@ int set_serial_number(int file_des) {
#ifndef GOTTHARD2D
functionNotImplemented();
#else
setSerialNumber(arg);
if (arg > getMaxSerialNumber()) {
ret = FAIL;
sprintf(mess, "Could not set serial number. Max value: %d\n",
getMaxSerialNumber());
LOG(logERROR, (mess));
} else {
setSerialNumber(arg);
}
#endif
return Server_SendResult(file_des, INT64, NULL, 0);
}