Преглед на файлове

Добавлены команды OFFSET и SLOPE

Mikhail Zaytsev преди 1 година
родител
ревизия
60939c6ceb
променени са 2 файла, в които са добавени 22 реда и са изтрити 0 реда
  1. 20 0
      command.c
  2. 2 0
      command.h

+ 20 - 0
command.c

@@ -25,6 +25,8 @@ Command commands[] = {
 	{"TMSG44:ARM ", 	handleArmCmd},
 	{"TMSG44:ATT ", 	handleAttCmd},
 	{"*IDN?", 			handleIdnCmd},
+	{"TMSG44:OFFSET ",	handleOffsetCmd},
+	{"TMSG44:SLOPE ",	handleSlopeCmd},
 	{NULL, NULL} // Завершающий элемент для обозначения конца массива
 };
 
@@ -155,6 +157,24 @@ void handleIdnCmd(const char* recvBuff)
 	send(conn_fd, messageIdn, sizeof(messageIdn), 0);
 }
 
+void handleOffsetCmd(const char* recvBuff)
+{
+	printf("\nHandle command \"TMSG44:OFFSET\"\n");
+	uint16_t offsetCode[1] = {0};
+
+	splitLexeme(recvBuff, offsetCode, sizeof(offsetCode[0]), convertToUInt16);
+	printf("\n%u\n", offsetCode[0]);
+}
+
+void handleSlopeCmd(const char* recvBuff)
+{
+	printf("\nHandle command \"TMSG44:SLOPE\"\n");
+	uint16_t slopeCode[1] = {0};
+
+	splitLexeme(recvBuff, slopeCode, sizeof(slopeCode[0]), convertToUInt16);
+	printf("\n%u\n", slopeCode[0]);
+}
+
 //Проходим по массиву команд и ищем команду, которая совпадает с началом строки recvBuff. 
 //Если команда найдена, вызывается соответствующая функция-обработчик
 void processCommand(const char* recvBuff) 

+ 2 - 0
command.h

@@ -37,6 +37,8 @@ void handlePowCmd(const char* recvBuff);
 void handleArmCmd(const char* recvBuff);
 void handleAttCmd(const char* recvBuff);
 void handleIdnCmd(const char* recvBuff);
+void handleOffsetCmd(const char* recvBuff);
+void handleSlopeCmd(const char* recvBuff);
 void processCommand(const char* recvBuff);
 void convertToUInt16(const char *str, void *output);
 void convertToUint64(const char *str, void *output);