{
char buf[256];
switch(_messageClass) {
case ControlMessageClass:
switch(_messageId) {
case StartPayload::MessageId: {
const char * title="start request";
switch(_errorClass) {
case 0x00:
switch(_errorId) {
case 0x01:
snprintf(buf, 256, "[ERROR] %s, acquisition is already running\n", title);
tcpServer->send(buf, strlen(buf));
return;
default:
break;
}
break;
default:
break;
}
}
break;
case StopPayload::MessageId: {
const char * title="stop request";
switch(_errorClass) {
case 0x00:
switch(_errorId) {
case 0x01:
snprintf(buf, 256, "[ERROR] %s, acquisition is not running\n", title);
tcpServer->send(buf, strlen(buf));
return;
default:
break;
}
break;
default:
break;
}
}
break;
case ResetPayload::MessageId:
break;
default:
break;
}
break;
case ParameterMessageClass: {
const char * title;
switch(_messageId) {
default:
title="frequency";
break;
case GainsPayload::MessageId:
title="gains";
break;
case TimeModePayload::MessageId:
title="time mode";
break;
}
switch(_errorClass) {
case 0x00:
switch(_errorId) {
case 0x01:
snprintf(buf, 256, "[ERROR] %s, value out of admissible range\n", title);
tcpServer->send(buf, strlen(buf));
return;
case 0x02:
snprintf(buf, 256, "[ERROR] %s, acquisition is started\n", title);
tcpServer->send(buf, strlen(buf));
return;
default:
break;
}
break;
default:
break;
}
}
break;
case StatusMessageClass:
break;
case DataMessageClass:
switch(_errorClass) {
case 0x00:
switch(_errorId) {
case 0x01:
snprintf(buf, 256, "[ERROR] sequence %i no longer available\n", _errorData.value);
tcpServer->send(buf, strlen(buf));
buffer->sequenceNotAvailable(_errorData.value);
return;
default:
break;
}
break;
default:
break;
}
break;
default:
break;
}
switch(_errorClass) {
case 0x80:
switch(_errorId) {
case 0x01:
snprintf(buf, 256, "bad checksum for set/request message %02hhX %02hhX\n", _messageClass, _messageId);
tcpServer->send(buf, strlen(buf));
return;
case 0x02:
snprintf(buf, 256, "bad length for request message %02hhX %02hhX\n", _messageClass, _messageId);
tcpServer->send(buf, strlen(buf));
return;
default:
break;
}
break;
case 0x90:
snprintf(buf, 256, "spontaneous error %02hhX %02hhX\n", _errorClass, _errorId);
tcpServer->send(buf, strlen(buf));
Log::write(0, buf);
return;
default:
break;
}
Log::write(0, "[ERROR] unknow error %02hhX %02hhX for message %02hhX %02hhX\n", _errorClass, _errorId, _messageClass, _messageId);
}