Рефакторинг

Переименование
Убраны лишние выводы
Добавлены новые выводы
Добавлены пояснения для команд
Команды (6 штук):
T00 – открыть соединение
T01 – закрыть соединение
T02 – ping
T0A – информация об устройстве
T14 – чтение памяти
T15 – запись памяти
parent 747938cc
This diff is collapsed.
#ifndef LTA_PROTOCOL_H #ifndef CLI_PROTOCOL_H
#define LTA_PROTOCOL_H #define CLI_PROTOCOL_H
#include "lta_protocol_cfg.h" #include "cli_protocol_cfg.h"
#include "l_macro_types.h" #include "l_macro_types.h"
#include <stdbool.h> #include <stdbool.h>
//************************************ Коды команд (по протоколу 1.1) ************************************* //************************************ Коды команд (по протоколу 1.1) *************************************
typedef enum { typedef enum {
LTA_CMD_OPEN = 0x00U, // T00 - открыть соединение (с паролем) CLI_CMD_OPEN = 0x00U, // T00 - открыть соединение
LTA_CMD_CLOSE = 0x01U, // T01 - закрыть соединение CLI_CMD_CLOSE = 0x01U, // T01 - закрыть соединение
LTA_CMD_PING = 0x02U, // T02 - проверка соединения CLI_CMD_PING = 0x02U, // T02 - проверка соединения
LTA_CMD_GET_INFO = 0x0AU, // T0A - информация об устройстве CLI_CMD_GET_INFO = 0x0AU, // T0A - информация об устройстве
LTA_CMD_READ_MEM = 0x14U, // T14 - чтение памяти CLI_CMD_READ_MEM = 0x14U, // T14 - чтение памяти
LTA_CMD_WRITE_MEM = 0x15U, // T15 - запись памяти CLI_CMD_WRITE_MEM = 0x15U, // T15 - запись памяти
} lta_cmd_t; } cli_cmd_t;
//************************************ Коды ошибок ********************************************************** //************************************ Коды ошибок **********************************************************
typedef enum { typedef enum {
LTA_ERR_NONE = 0x00U, CLI_ERR_NONE = 0x00U,
LTA_ERR_UNKNOWN_CMD = 0x01U, CLI_ERR_UNKNOWN_CMD = 0x01U,
LTA_ERR_INVALID_ARG = 0x02U, CLI_ERR_INVALID_ARG = 0x02U,
LTA_ERR_INTERNAL = 0x03U, CLI_ERR_INTERNAL = 0x03U,
LTA_ERR_NOT_CONNECTED = 0x04U, CLI_ERR_NOT_CONNECTED = 0x04U,
LTA_ERR_MEMORY = 0x05U, CLI_ERR_MEMORY = 0x05U,
LTA_ERR_INVALID_ADDR = 0x06U, CLI_ERR_INVALID_ADDR = 0x06U,
LTA_ERR_INVALID_PASS = 0x07U, // Неверный пароль CLI_ERR_INVALID_PASS = 0x07U,
} lta_error_t; } cli_error_t;
//************************************ Информация об устройстве ********************************************** //************************************ Информация об устройстве **********************************************
typedef struct { typedef struct {
char name[32]; char name[32];
char serial[16]; char serial[16];
char version[16]; char version[16];
u8 board_id; // Идентификатор платы (0-255) u8 board_id;
} lta_device_info_t; } cli_device_info_t;
//************************************ Публичные функции **************************************************** //************************************ Публичные функции ****************************************************
fun_res_t lta_protocol_init(void); // Инициализация протокола
fun_res_t lta_protocol_deinit(void); fun_res_t cli_protocol_init(void);
void lta_protocol_process(void);
void lta_send_string(const char* str); // Деинициализация протокола
fun_res_t lta_protocol_set_device_info(const char* name, const char* serial, const char* ver, u8 board_id); fun_res_t cli_protocol_deinit(void);
fun_res_t lta_protocol_set_board_id(u8 board_id);
u8 lta_protocol_get_board_id(void); // Основной цикл обработки
void lta_protocol_set_password(const char* pass); void cli_protocol_process(void);
bool lta_protocol_verify_password(const char* pass);
// Отправка строки
void cli_send_string(const char* str);
// Установка информации об устройстве
fun_res_t cli_protocol_set_device_info(const char* name, const char* serial, const char* ver, u8 board_id);
// Управление board_id
fun_res_t cli_protocol_set_board_id(u8 board_id);
u8 cli_protocol_get_board_id(void);
// Управление паролем
void cli_protocol_set_password(const char* pass);
bool cli_protocol_verify_password(const char* pass);
#endif #endif
\ No newline at end of file
#ifndef LTA_PROTOCOL_CFG_H #ifndef CLI_PROTOCOL_CFG_H
#define LTA_PROTOCOL_CFG_H #define CLI_PROTOCOL_CFG_H
#include "lmcal_uart.h" #include "lmcal_uart.h"
//************************************ Конфигурация UART **************************************************** //************************************ Конфигурация UART ****************************************************
#define LTA_UART_CHANNEL (LMCAL_UART_CHANNEL1) #define CLI_UART_CHANNEL (LMCAL_UART_CHANNEL1)
//************************************ Размеры буферов ****************************************************** //************************************ Размеры буферов ******************************************************
#define LTA_CMD_BUFFER_SIZE (128) // Размер буфера команды #define CLI_CMD_BUFFER_SIZE (128) // Размер буфера команды
#define LTA_DATA_MAX_SIZE (64) // Максимальный размер данных #define CLI_DATA_MAX_SIZE (64) // Максимальный размер данных
//************************************ Таймауты ************************************************************ //************************************ Таймауты ************************************************************
#define LTA_CONNECTION_TIMEOUT_MS (20000U) // Таймаут соединения 20 секунд #define CLI_CONNECTION_TIMEOUT_MS (20000U) // Таймаут соединения 20 секунд
//************************************ Пароль по умолчанию ************************************************** //************************************ Пароль по умолчанию **************************************************
#define LTA_DEFAULT_PASSWORD "1357" #define CLI_DEFAULT_PASSWORD "1357"
#endif #endif
\ No newline at end of file
...@@ -30,8 +30,8 @@ void main(void) ...@@ -30,8 +30,8 @@ void main(void)
//cli_init(); //cli_init();
// Инициализация LTA протокола // Инициализация LTA протокола
lta_protocol_init(); cli_protocol_init();
lta_protocol_set_device_info("LTA27 MCU", "LTA27V2-001", "1.0.0", 0x01); cli_protocol_set_device_info("LTA27 MCU", "LTA27V2-001", "1.0.0", 0x01);
while(1) while(1)
{ {
...@@ -40,13 +40,13 @@ void main(void) ...@@ -40,13 +40,13 @@ void main(void)
tcp_loop(); tcp_loop();
// Обработка команд // Обработка команд
lta_protocol_process(); cli_protocol_process();
if (bsp_loop()) break; if (bsp_loop()) break;
} }
//cli_deinit(); //cli_deinit();
lta_protocol_deinit(); cli_protocol_deinit();
streams_deinit(); streams_deinit();
bsp_deinit(); bsp_deinit();
bsp_jump_to_boot(); bsp_jump_to_boot();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment