command.h 1.6 KB

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