Рефакторинг

Переименование
Убраны лишние выводы
Добавлены новые выводы
Добавлены пояснения для команд
Команды (6 штук):
T00 – открыть соединение
T01 – закрыть соединение
T02 – ping
T0A – информация об устройстве
T14 – чтение памяти
T15 – запись памяти
parent 747938cc
This diff is collapsed.
#ifndef LTA_PROTOCOL_H
#define LTA_PROTOCOL_H
#ifndef CLI_PROTOCOL_H
#define CLI_PROTOCOL_H
#include "lta_protocol_cfg.h"
#include "cli_protocol_cfg.h"
#include "l_macro_types.h"
#include <stdbool.h>
//************************************ Коды команд (по протоколу 1.1) *************************************
typedef enum {
LTA_CMD_OPEN = 0x00U, // T00 - открыть соединение (с паролем)
LTA_CMD_CLOSE = 0x01U, // T01 - закрыть соединение
LTA_CMD_PING = 0x02U, // T02 - проверка соединения
LTA_CMD_GET_INFO = 0x0AU, // T0A - информация об устройстве
LTA_CMD_READ_MEM = 0x14U, // T14 - чтение памяти
LTA_CMD_WRITE_MEM = 0x15U, // T15 - запись памяти
} lta_cmd_t;
CLI_CMD_OPEN = 0x00U, // T00 - открыть соединение
CLI_CMD_CLOSE = 0x01U, // T01 - закрыть соединение
CLI_CMD_PING = 0x02U, // T02 - проверка соединения
CLI_CMD_GET_INFO = 0x0AU, // T0A - информация об устройстве
CLI_CMD_READ_MEM = 0x14U, // T14 - чтение памяти
CLI_CMD_WRITE_MEM = 0x15U, // T15 - запись памяти
} cli_cmd_t;
//************************************ Коды ошибок **********************************************************
typedef enum {
LTA_ERR_NONE = 0x00U,
LTA_ERR_UNKNOWN_CMD = 0x01U,
LTA_ERR_INVALID_ARG = 0x02U,
LTA_ERR_INTERNAL = 0x03U,
LTA_ERR_NOT_CONNECTED = 0x04U,
LTA_ERR_MEMORY = 0x05U,
LTA_ERR_INVALID_ADDR = 0x06U,
LTA_ERR_INVALID_PASS = 0x07U, // Неверный пароль
} lta_error_t;
CLI_ERR_NONE = 0x00U,
CLI_ERR_UNKNOWN_CMD = 0x01U,
CLI_ERR_INVALID_ARG = 0x02U,
CLI_ERR_INTERNAL = 0x03U,
CLI_ERR_NOT_CONNECTED = 0x04U,
CLI_ERR_MEMORY = 0x05U,
CLI_ERR_INVALID_ADDR = 0x06U,
CLI_ERR_INVALID_PASS = 0x07U,
} cli_error_t;
//************************************ Информация об устройстве **********************************************
typedef struct {
char name[32];
char serial[16];
char version[16];
u8 board_id; // Идентификатор платы (0-255)
} lta_device_info_t;
u8 board_id;
} cli_device_info_t;
//************************************ Публичные функции ****************************************************
fun_res_t lta_protocol_init(void);
fun_res_t lta_protocol_deinit(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 lta_protocol_set_board_id(u8 board_id);
u8 lta_protocol_get_board_id(void);
void lta_protocol_set_password(const char* pass);
bool lta_protocol_verify_password(const char* pass);
// Инициализация протокола
fun_res_t cli_protocol_init(void);
// Деинициализация протокола
fun_res_t cli_protocol_deinit(void);
// Основной цикл обработки
void cli_protocol_process(void);
// Отправка строки
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
\ No newline at end of file
#ifndef LTA_PROTOCOL_CFG_H
#define LTA_PROTOCOL_CFG_H
#ifndef CLI_PROTOCOL_CFG_H
#define CLI_PROTOCOL_CFG_H
#include "lmcal_uart.h"
//************************************ Конфигурация UART ****************************************************
#define LTA_UART_CHANNEL (LMCAL_UART_CHANNEL1)
#define CLI_UART_CHANNEL (LMCAL_UART_CHANNEL1)
//************************************ Размеры буферов ******************************************************
#define LTA_CMD_BUFFER_SIZE (128) // Размер буфера команды
#define LTA_DATA_MAX_SIZE (64) // Максимальный размер данных
#define CLI_CMD_BUFFER_SIZE (128) // Размер буфера команды
#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
\ No newline at end of file
......@@ -30,8 +30,8 @@ void main(void)
//cli_init();
// Инициализация LTA протокола
lta_protocol_init();
lta_protocol_set_device_info("LTA27 MCU", "LTA27V2-001", "1.0.0", 0x01);
cli_protocol_init();
cli_protocol_set_device_info("LTA27 MCU", "LTA27V2-001", "1.0.0", 0x01);
while(1)
{
......@@ -40,13 +40,13 @@ void main(void)
tcp_loop();
// Обработка команд
lta_protocol_process();
cli_protocol_process();
if (bsp_loop()) break;
}
//cli_deinit();
lta_protocol_deinit();
cli_protocol_deinit();
streams_deinit();
bsp_deinit();
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