Рефакторинг Doxygen
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen 1.14.0"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>MyLibs: MyLibs</title>
|
||||
<title>MyLibs: Обзор ExtendedLibs</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
@@ -97,101 +97,83 @@ $(function(){initNavTree('index.html','',''); });
|
||||
</div>
|
||||
|
||||
<div><div class="header">
|
||||
<div class="headertitle"><div class="title">MyLibs </div></div>
|
||||
<div class="headertitle"><div class="title">Обзор <span class="tt">ExtendedLibs</span> </div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><h1 class="doxsection"><a class="anchor" id="overview"></a>
|
||||
Обзор</h1>
|
||||
<p>MyLibs - это набор библиотек для удобной работы с STM32.</p>
|
||||
<p>
|
||||
<a href="https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs/src/branch/release">Актуальная версия</a>
|
||||
</p>
|
||||
<h2 class="doxsection"><a class="anchor" id="features"></a>
|
||||
Основные возможности</h2>
|
||||
<h3 class="doxsection"><a class="anchor" id="utils_module"></a>
|
||||
Общие утилиты (<a class="el" href="group___m_y_l_i_b_s___d_e_f_i_n_e_s.html">General Tools</a>)</h3>
|
||||
<div class="textblock"><p><a class="anchor" id="md__e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m___libs_2_s_t_m32___extended_libs_2_r_e_a_d_m_e"></a></p>
|
||||
<p>ExtendedLibs - это набор библиотек для удобной работы с STM32. Данный субмодуль подключается напрямую из Git и содержит набор вспомогательных библиотек для работы МК, в частности STM32 и SEGGER RTT.</p>
|
||||
<h1 class="doxsection"><a class="anchor" id="основные-возможности"></a>
|
||||
Основные возможности</h1>
|
||||
<h3 class="doxsection"><a class="anchor" id="общие-утилиты-mylibs-ref-mylibs_tools"></a>
|
||||
Общие утилиты MyLibs (<a class="el" href="group___m_y_l_i_b_s___t_o_o_l_s.html">General Tools</a>)</h3>
|
||||
<ul>
|
||||
<li>Макросы для задержек и утилит (<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html">Delays defines</a> и <a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html">Utils defines</a>)</li>
|
||||
<li>Трекеры для статистики и отладки (<a class="el" href="group___t_r_a_c_k_e_r_s.html">Trackers defines</a> и <a class="el" href="group___t_r_a_c_e.html">Trace defines</a>)</li>
|
||||
<li>Эволюционный алгоритм для оптимизации параметров (<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html">Genetic optimizer</a>)</li>
|
||||
<li>Макросы для задержек (<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html">Delays defines</a>)</li>
|
||||
<li>Утилиты для работы с всяким (<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html">Utils defines</a>)</li>
|
||||
<li>Битовый доступ к регистрам через union (<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html">Bit access defines</a>)</li>
|
||||
</ul>
|
||||
<h3 class="doxsection"><a class="anchor" id="trace_module"></a>
|
||||
Трассировка <a class="el" href="group___t_r_a_c_e.html">Trace defines</a></h3>
|
||||
<h3 class="doxsection"><a class="anchor" id="отладка-ref-mylibs_debug_tools"></a>
|
||||
Отладка* (<a class="el" href="group___m_y_l_i_b_s___d_e_b_u_g___t_o_o_l_s.html">Debug Tools</a>)</h3>
|
||||
<ul>
|
||||
<li>Serial трассировка через SWO и RTT (<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html">Serial trace defines</a>)</li>
|
||||
<li>GPIO трассировка для отладки (<a class="el" href="group___t_r_a_c_e___g_p_i_o.html">GPIO trace defines</a>)</li>
|
||||
<li>Сохранение логов в Flash память (<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html">Flash RTT Buffer</a>)</li>
|
||||
<li>Обработка HardFault с сохранением контекста (<a class="el" href="group___t_r_a_c_e___h_a_r_d_f_a_u_l_t.html">Hardfault trace defines</a>)</li>
|
||||
<li>Трассировка (<a class="el" href="group___t_r_a_c_e.html">Trace defines</a>)</li>
|
||||
<li>Измерение временных интервалов (<a class="el" href="group___b_e_n_c_h___t_i_m_e.html">Time measurement</a>)</li>
|
||||
<li>Генетический алгоритм для оптимизации параметров (<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html">Genetic optimizer</a>)</li>
|
||||
<li>Трекеры для статистики и отладки (<a class="el" href="group___t_r_a_c_k_e_r_s.html">Trackers defines</a>)</li>
|
||||
</ul>
|
||||
<h3 class="doxsection"><a class="anchor" id="gpio_module"></a>
|
||||
Модуль GPIO <a class="el" href="group___m_y___l_i_b_s___g_p_i_o.html">GPIO Tools</a></h3>
|
||||
<ul>
|
||||
<li>Инициализация портов и тактирования (<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html">General tools</a>)</li>
|
||||
<li>Управление светодиодами (включение/выключение, моргание, плавное затухание) (<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html">LED tools</a>)</li>
|
||||
<li>Работа с кнопками (чтение состояния, фильтрация дребезга) (<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___s_w_i_t_c_h.html">Switch tools</a>)</li>
|
||||
</ul>
|
||||
<h3 class="doxsection"><a class="anchor" id="tim_module"></a>
|
||||
Модуль таймеров <a class="el" href="group___m_y___l_i_b_s___t_i_m.html">TIM Tools</a></h3>
|
||||
<ul>
|
||||
<li>Базовая инициализация таймеров (<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html">General tools</a>)</li>
|
||||
<li>Формирование задержек (блокирующие и неблокирующие) (<a class="el" href="group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html">Delay tools</a>)</li>
|
||||
<li>Работа с энкодерами (чтение положения, обработка кнопок) (<a class="el" href="group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html">Encoder tools</a>)</li>
|
||||
<li>Настройка ШИМ и Output Compare (<a class="el" href="group___m_y_l_i_b_s___t_i_m___o_c.html">PWM/OC Channels tools</a>)</li>
|
||||
</ul>
|
||||
<h3 class="doxsection"><a class="anchor" id="uart_module"></a>
|
||||
Модуль UART <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html">UART Tools</a></h3>
|
||||
<ul>
|
||||
<li>Базовая инициализация UART и его пинов одной функцией (<a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154">UART_Base_Init</a>)</li>
|
||||
</ul>
|
||||
<h3 class="doxsection"><a class="anchor" id="spi_module"></a>
|
||||
Модуль SPI <a class="el" href="group___m_y___l_i_b_s___s_p_i.html">SPI Tools</a></h3>
|
||||
<ul>
|
||||
<li>Базовая инициализация SPI и пинов одной функцией (<a class="el" href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a>)</li>
|
||||
</ul>
|
||||
<h2 class="doxsection"><a class="anchor" id="structure"></a>
|
||||
Структура проекта</h2>
|
||||
<div class="fragment"><div class="line">ProjectRoot/</div>
|
||||
<p><em>*Модули отладки независимы от MyLibs и могут быть использованы отдельно</em></p>
|
||||
<h1 class="doxsection"><a class="anchor" id="структура-библиотеки"></a>
|
||||
Структура библиотеки</h1>
|
||||
<p>*Note: Файлы начинающиеся с <span class="tt">__</span> и которых нет в этом дереве являются **внутренними/непротестированными/недокументированными*** </p><div class="fragment"><div class="line">ProjectRoot/</div>
|
||||
<div class="line">├── MyLibs/ # Общие библиотеки, независимые от платформы (или почти)</div>
|
||||
<div class="line">│ ├── inc/</div>
|
||||
<div class="line">│ │ ├── mylibs_include.h # Главный include файл</div>
|
||||
<div class="line">│ │ ├── mylibs_config.h # Конфигурация библиотек</div>
|
||||
<div class="line">│ │ ├── __mylibs_include.h # Главный include файл</div>
|
||||
<div class="line">│ │ ├── __mylibs_config.h # Конфигурация библиотек</div>
|
||||
<div class="line">│ │ ├── mylibs_defs.h # Общие определения и макросы</div>
|
||||
<div class="line">│ │ ├── bit_access.h # Битовый доступ к регистрам</div>
|
||||
<div class="line">│ │ ├── gen_optimizer.h # Оптимизатор (генетический алгоритм)</div>
|
||||
<div class="line">│ │ ├── gen_optimizer.h # Оптимизатор (генетический алгоритм)</div>
|
||||
<div class="line">│ │ ├── trackers.h # Трекеры для отладки</div>
|
||||
<div class="line">│ │ └── trace.h # Трассировка и логирование</div>
|
||||
<div class="line">│ └── src/</div>
|
||||
<div class="line">│</div>
|
||||
<div class="line">├──RTT # Библиотека RTT</div>
|
||||
<div class="line">│ ├── __SEGGER_RTT_Conf.h # Конфигурационный файл RTT</div>
|
||||
<div class="line">│ ├── SEGGER_RTT.c # Основной модуль RTT</div>
|
||||
<div class="line">│ ├── SEGGER_RTT.h # Основной заголовок RTT</div>
|
||||
<div class="line">│ ├── SEGGER_RTT_ASM_ARMv7M.S # Ассемблерная оптимизация для ARMv7M</div>
|
||||
<div class="line">│ └── SEGGER_RTT_printf.c # Реализация printf() через RTT</div>
|
||||
<div class="line">│</div>
|
||||
<div class="line">└── STM32_General <span class="preprocessor"># Работа с периферией STM32</span></div>
|
||||
<div class="line"> ├── inc/</div>
|
||||
<div class="line"> │ ├── general_gpio.h # Работа с GPIO</div>
|
||||
<div class="line"> │ ├── general_spi.h # Работа с SPI</div>
|
||||
<div class="line"> │ ├── general_tim.h # Работа с таймерами</div>
|
||||
<div class="line"> │ └── general_uart.h # Работа с UART</div>
|
||||
<div class="line"> └── src/</div>
|
||||
<div class="line"> ├── general_gpio.c # Реализация GPIO</div>
|
||||
<div class="line"> ├── general_spi.c # Реализация SPI</div>
|
||||
<div class="line"> ├── general_tim.c # Реализация TIM</div>
|
||||
<div class="line"> └── general_uart.c # Реализация UART</div>
|
||||
</div><!-- fragment --><h2 class="doxsection"><a class="anchor" id="usage_basic"></a>
|
||||
Использование</h2>
|
||||
<p>Инструкция по подключению:</p>
|
||||
<div class="line">└──RTT # Библиотека RTT</div>
|
||||
<div class="line"> ├── __SEGGER_RTT_Conf.h # Конфигурационный файл RTT</div>
|
||||
<div class="line"> ├── SEGGER_RTT.c # Основной модуль RTT</div>
|
||||
<div class="line"> ├── SEGGER_RTT.h # Основной заголовок RTT</div>
|
||||
<div class="line"> ├── SEGGER_RTT_ASM_ARMv7M.S # Ассемблерная оптимизация для ARMv7M</div>
|
||||
<div class="line"> └── SEGGER_RTT_printf.c # Реализация printf() через RTT</div>
|
||||
</div><!-- fragment --><h1 class="doxsection"><a class="anchor" id="инструкция-по-подключению"></a>
|
||||
Инструкция по подключению</h1>
|
||||
<ol type="1">
|
||||
<li>Настройте конфигурацию <a class="el" href="group___m_y_l_i_b_s___c_o_n_f_i_g.html">Configs</a> в <a class="el" href="mylibs__config_8h.html">mylibs_config.h</a></li>
|
||||
<li>Подключите главный заголовочный файл: <div class="fragment"><div class="line"><span class="preprocessor">#include "<a class="code" href="mylibs__include_8h.html">mylibs_include.h</a>"</span></div>
|
||||
<div class="ttc" id="amylibs__include_8h_html"><div class="ttname"><a href="mylibs__include_8h.html">mylibs_include.h</a></div><div class="ttdoc">Заголочный файл для всех библиотек</div></div>
|
||||
</div><!-- fragment --></li>
|
||||
<li>Используйте нужные модули в своем коде. Примеры использования приведены в соответствующей теме </li>
|
||||
<li><b>Склонируйте субмодуль</b> в ваш проект:</li>
|
||||
</ol>
|
||||
</div></div><!-- PageDoc -->
|
||||
<div class="fragment"><div class="line">git submodule add https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs path/to/ExtendedLibs</div>
|
||||
<div class="line">git submodule update --init --recursive</div>
|
||||
</div><!-- fragment --><ol type="1">
|
||||
<li><b>Скопируйте файлы конфигурации и главный include</b> в отдельную папку в вашем проекте (вне субмодуля) и удалите <span class="tt">__</span>:</li>
|
||||
</ol>
|
||||
<div class="fragment"><div class="line">ProjectRoot/</div>
|
||||
<div class="line">├── Configs/</div>
|
||||
<div class="line">│ ├── mylibs_include.h</div>
|
||||
<div class="line">│ └── mylibs_config.h</div>
|
||||
<div class="line">│ └── SEGGER_RTT_Conf.h</div>
|
||||
</div><!-- fragment --><ol type="1">
|
||||
<li><b>Настройте конфигурацию</b> под ваш проект:</li>
|
||||
</ol>
|
||||
<ul>
|
||||
<li><span class="tt">mylibs_config.h</span> — задайте нужные параметры библиотек.</li>
|
||||
<li><span class="tt">mylibs_include.h</span> — укажите пути к вашим заголовочным файлам и подключаемым модулям.</li>
|
||||
<li><span class="tt">SEGGER_RTT_Conf.h</span> — настройки RTT.</li>
|
||||
</ul>
|
||||
<ol type="1">
|
||||
<li><b>Подключайте библиотеки в вашем коде</b> через главный include файл:</li>
|
||||
</ol>
|
||||
<div class="fragment"><div class="line"><span class="preprocessor">#include "<a class="code" href="mylibs__include_8h.html">mylibs_include.h</a>"</span></div>
|
||||
<div class="ttc" id="amylibs__include_8h_html"><div class="ttname"><a href="mylibs__include_8h.html">mylibs_include.h</a></div><div class="ttdoc">Заголочный файл для всех библиотек</div></div>
|
||||
</div><!-- fragment --><ol type="1">
|
||||
<li><b>Обновление библиотеки</b>:</li>
|
||||
</ol>
|
||||
<p>После обновления субмодуля из Git, исходные файлы библиотеки будут обновлены, но ваши конфиги останутся в целевой папке и не перезапишутся:</p>
|
||||
<div class="fragment"><div class="line">git submodule update --remote</div>
|
||||
</div><!-- fragment --> </div></div><!-- PageDoc -->
|
||||
<a href="doxygen_crawl.html"></a>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
|
||||
Reference in New Issue
Block a user