#ifndef COMMAND_H #define COMMAND_H // Включение необходимых стандартных библиотек #include #include #include "Devices//pci.h" // Определение констант // Определение макросов // Объявление глобальных переменных extern volatile int conn_fd; extern volatile int pci_fd; extern void *bar1; extern reg_addr_pci* pci_bar_1; // extern uint16_t armCode[1]; // extern uint16_t attCode[1]; typedef void (*command_handler)(const char*); // Объявление структур typedef struct { const char* command; command_handler handler; } command; // Определяем тип функции преобразования typedef void (*convert_func_type)(const char *str, void *output); // Прототипы функций void send_data_qspi(reg_addr_pci* pci_bar_1); void handle_close_signal(int signal); void handle_freq_cmd(const char* recv_buff); void handle_ld_cmd(const char* recv_buff); void handle_pow_cmd(const char* recv_buff); void handle_arm_cmd(const char* recv_buff); void handle_att_cmd(const char* recv_buff); void handle_idn_cmd(const char* recv_buff); void handle_offset_cmd(const char* recv_buff); void handle_slope_cmd(const char* recv_buff); void handle_file_cmd(const char* recv_buff); void process_command(const char* recv_buff); void convert_to_uint16(const char *str, void *output); void convert_to_uint64(const char *str, void *output); void convert_to_double(const char *str, void *output); void split_lexeme(const char *ptr_scpi, void *out_value, size_t element_size, convert_func_type convert_func); #endif /* COMMAND_H */