добавил комментарии для правок

parent 8df5e7e1
...@@ -127,7 +127,7 @@ T15 – запись памяти ...@@ -127,7 +127,7 @@ T15 – запись памяти
### 4. API библиотеки для ПК ### 4. API библиотеки для ПК
` ```
class CLIProtocol: class CLIProtocol:
def __init__(self, port: str, baudrate: int = 115200): def __init__(self, port: str, baudrate: int = 115200):
"""Инициализация""" """Инициализация"""
...@@ -179,4 +179,5 @@ class CLIProtocol: ...@@ -179,4 +179,5 @@ class CLIProtocol:
def write_memory(self, addr: int, data: bytes) -> bool: def write_memory(self, addr: int, data: bytes) -> bool:
"""Запись памяти (T15)""" """Запись памяти (T15)"""
pass pass
` ```
\ No newline at end of file
...@@ -26,8 +26,10 @@ ...@@ -26,8 +26,10 @@
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>
// todo - убрать зависимость от МК
// Включаем заголовок для доступа к регистрам USART (только для ожидания TC) // Включаем заголовок для доступа к регистрам USART (только для ожидания TC)
#include "gd32f4xx_usart.h" // #include "gd32f4xx_usart.h"
//************************************ Локальные константы ************************************************** //************************************ Локальные константы **************************************************
#define CLI_CMD_PREFIX 'T' // Префикс команды #define CLI_CMD_PREFIX 'T' // Префикс команды
...@@ -119,8 +121,11 @@ void cli_send_string(const char* str) ...@@ -119,8 +121,11 @@ void cli_send_string(const char* str)
} }
// Ждём завершения передачи, чтобы не смешивать вывод // Ждём завершения передачи, чтобы не смешивать вывод
uart_wait_tx_done(); uart_wait_tx_done();
//! TODO - МОЖНО БЫЛО ИСПОЛЬЗОВАТЬ lmcal_uart_get_status()
} }
//----------------------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------------------
// Ожидание завершения передачи UART (флаг TC) // Ожидание завершения передачи UART (флаг TC)
// Используем прямой доступ к регистрам, т.к. LMCAL не предоставляет такой функции. // Используем прямой доступ к регистрам, т.к. LMCAL не предоставляет такой функции.
......
...@@ -42,6 +42,10 @@ typedef struct { ...@@ -42,6 +42,10 @@ typedef struct {
typedef void (*cli_cmd_handler_t)(const u8* data, u8 len); typedef void (*cli_cmd_handler_t)(const u8* data, u8 len);
//************************************ Структура регистрируемой команды ************************************** //************************************ Структура регистрируемой команды **************************************
// TODO - че, прям реально от 0x00–0xFF, а как же встроенные команды?
//! @brief Структура для регистрации пользовательской команды //! @brief Структура для регистрации пользовательской команды
typedef struct { typedef struct {
u8 code; // Код команды (0x00–0xFF) u8 code; // Код команды (0x00–0xFF)
...@@ -64,11 +68,17 @@ fun_res_t cli_protocol_deinit(void); ...@@ -64,11 +68,17 @@ fun_res_t cli_protocol_deinit(void);
//! @brief Основной цикл обработки (вызывать в главном цикле программы) //! @brief Основной цикл обработки (вызывать в главном цикле программы)
void cli_protocol_process(void); void cli_protocol_process(void);
// TODO - сделать с параметром - блок\ не блок
//--------------------------------------------------------------------- //---------------------------------------------------------------------
//! @brief Отправка строки через UART (с ожиданием завершения передачи) //! @brief Отправка строки через UART (с ожиданием завершения передачи)
//! @param str Указатель на нуль-терминированную строку //! @param str Указатель на нуль-терминированную строку
void cli_send_string(const char* str); void cli_send_string(const char* str);
//--------------------------------------------------------------------- //---------------------------------------------------------------------
//! @brief Установка информации об устройстве //! @brief Установка информации об устройстве
//! @param name Имя устройства (до 31 символа) //! @param name Имя устройства (до 31 символа)
...@@ -78,23 +88,33 @@ void cli_send_string(const char* str); ...@@ -78,23 +88,33 @@ void cli_send_string(const char* str);
//! @return ERR_OK при успехе //! @return ERR_OK при успехе
fun_res_t cli_protocol_set_device_info(const char* name, const char* serial, const char* ver, u8 board_id); fun_res_t cli_protocol_set_device_info(const char* name, const char* serial, const char* ver, u8 board_id);
// todo - а зачем
//--------------------------------------------------------------------- //---------------------------------------------------------------------
//! @brief Установка board_id устройства //! @brief Установка board_id устройства
//! @param board_id Идентификатор платы (0–254) //! @param board_id Идентификатор платы (0–254)
//! @return ERR_OK при успехе //! @return ERR_OK при успехе
fun_res_t cli_protocol_set_board_id(u8 board_id); fun_res_t cli_protocol_set_board_id(u8 board_id);
// todo - а зачем
//--------------------------------------------------------------------- //---------------------------------------------------------------------
//! @brief Получение текущего board_id устройства //! @brief Получение текущего board_id устройства
//! @return Идентификатор платы //! @return Идентификатор платы
u8 cli_protocol_get_board_id(void); u8 cli_protocol_get_board_id(void);
//--------------------------------------------------------------------- //---------------------------------------------------------------------
//! @brief Установка пароля для открытия соединения //! @brief Установка пароля для открытия соединения
//! @param pass Указатель на массив байт пароля (до 15 байт) //! @param pass Указатель на массив байт пароля (до 15 байт)
//! @param len Длина пароля в байтах //! @param len Длина пароля в байтах
void cli_protocol_set_password(const u8* pass, u8 len); void cli_protocol_set_password(const u8* pass, u8 len);
// todo - а зачем
//--------------------------------------------------------------------- //---------------------------------------------------------------------
//! @brief Проверка пароля //! @brief Проверка пароля
//! @param pass Указатель на массив байт пароля //! @param pass Указатель на массив байт пароля
...@@ -102,6 +122,9 @@ void cli_protocol_set_password(const u8* pass, u8 len); ...@@ -102,6 +122,9 @@ void cli_protocol_set_password(const u8* pass, u8 len);
//! @return true – пароль верен, false – неверен //! @return true – пароль верен, false – неверен
bool cli_protocol_verify_password(const u8* pass, u8 len); bool cli_protocol_verify_password(const u8* pass, u8 len);
// todo - а где реализация: cli_protocol_reset_block
//--------------------------------------------------------------------- //---------------------------------------------------------------------
//! @brief Сброс блокировки после превышения попыток ввода пароля //! @brief Сброс блокировки после превышения попыток ввода пароля
void cli_protocol_reset_block(void); void cli_protocol_reset_block(void);
......
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