command.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef COMMAND_H
  2. #define COMMAND_H
  3. // Включение необходимых стандартных библиотек
  4. #include <stdint.h>
  5. #include <stddef.h>
  6. // Определение констант
  7. // Определение макросов
  8. // Объявление глобальных переменных
  9. extern volatile int conn_fd;
  10. extern volatile int pci_fd;
  11. extern void *bar1;
  12. extern uint16_t armCode[1];
  13. extern uint16_t attCode[1];
  14. typedef void (*CommandHandler)(const char*);
  15. // Объявление структур
  16. typedef struct {
  17. const char* command;
  18. CommandHandler handler;
  19. } Command;
  20. // Определяем тип функции преобразования
  21. typedef void (*ConvertFunc)(const char *str, void *output);
  22. // Прототипы функций
  23. void send_data_qspi(void *bar1);
  24. void handleCloseSignal(int signal);
  25. void handleFreqCmd(const char* recvBuff);
  26. void handleLdCmd(const char* recvBuff);
  27. void handlePowCmd(const char* recvBuff);
  28. void handleArmCmd(const char* recvBuff);
  29. void handleAttCmd(const char* recvBuff);
  30. void handleIdnCmd(const char* recvBuff);
  31. void processCommand(const char* recvBuff);
  32. void convertToUInt16(const char *str, void *output);
  33. void convertToUint64(const char *str, void *output);
  34. void convertToDouble(const char *str, void *output);
  35. void splitLexeme(const char *ptrSCPI, void *numOutAndValue, size_t elementSize, ConvertFunc convertFunc);
  36. #endif /* COMMAND_H */