Сделана документация на то, что есть сейчас

This commit is contained in:
2024-10-16 16:03:37 +03:00
parent 6a08b0462d
commit 8939ab257f
750 changed files with 10725 additions and 350180 deletions

View File

@@ -1,10 +1,25 @@
/**************************************************************************
/**
**************************************************************************
* @dir ../MCU_Wrapper
* @brief <b> Папка с исходным кодом оболочки МК. </b>
* @details
В этой папке содержаться оболочка(англ. wrapper) для запуска и контроля
эмуляции микроконтроллеров в MATLAB (любого МК, не только STM).
Оболочка представляет собой S-Function - блок в Simulink, который работает
по скомпилированому коду. Компиляция происходит с помощью MSVC-компилятора.
**************************************************************************/
/**
**************************************************************************
* @file mcu_wrapper_conf.h
* @brief Заголовочный файл для оболочки МК.
**************************************************************************
@details
Главный заголовочный файл для матлаба. Включает дейфайны для S-Function,
объявляет базовые функции для симуляции МК и подключает базовые библиотеки:
для симуляции "stm32fxxx_matlab_conf.h"
для S-Function "simstruc.h"
для потоков <process.h>
- для симуляции "stm32fxxx_matlab_conf.h"
- для S-Function "simstruc.h"
- для потоков <process.h>
**************************************************************************/
#ifndef _CONTROLLER_H_
#define _CONTROLLER_H_
@@ -16,15 +31,15 @@
/**
* @addtogroup MCU_WRAPPER
* @brief Stuff for running MCU app in MATLAB
* @defgroup MCU_WRAPPER MCU Wrapper
* @brief Всякое для оболочки МК
*/
/**
* @addtogroup WRAPPER_CONF
* @addtogroup WRAPPER_CONF Wrapper Configuration
* @ingroup MCU_WRAPPER
* @brief Configurations for wrapper to simulating MCU
* @details Здесь дефайнами задается параметры оболочки, которая управляет кодом МК
* @brief Параметры конфигурации для оболочки МК
* @details Здесь дефайнами задается параметры оболочки, которые определяют как она будет работать
* @{
*/
@@ -49,11 +64,10 @@
/**
* @ingroup MCU_WRAPPER
* @addtogroup MCU_WRAPPER
* @{
*/
typedef void* HANDLE; ///< MCU handle typedef
/**
@@ -69,7 +83,7 @@ typedef struct {
double SIM_Sample_Time; ///< sample time of simulation
}SIM__MCUHandleTypeDef;
extern SIM__MCUHandleTypeDef hmcu; ///< extern для видимости переменной во всех файлах
extern SIM__MCUHandleTypeDef hmcu; // extern для видимости переменной во всех файлах
//-------------------------------------------------------------//
//------------------ SIMULINK WHILE DEFINES -----------------//
@@ -89,7 +103,7 @@ extern SIM__MCUHandleTypeDef hmcu; ///< extern для видимо
* При выставлении флага окончания симуляции, все while будут пропускаться
* и поток сможет дойти до конца функции main и завершить себя.
*/
#define sim_while(_expression_) while((_expression_)&&(hmcu.MCU_Stop == 0))
#define sim_while(_expression_) while((_expression_)&&(hmcu.fMCU_Stop == 0))
/* DEFAULT WHILE */
/**
@@ -107,25 +121,25 @@ extern SIM__MCUHandleTypeDef hmcu; ///< extern для видимо
//-------------------------------------------------------------//
//---------------- SIMULATE FUNCTIONS PROTOTYPES -------------//
/* step simulation */
/* Step simulation */
void MCU_Step_Simulation(SimStruct *S, time_T time);
/* MCU peripheral simulation */
void MCU_Periph_Simulation(void);
/* initialize MCU simulation */
/* Initialize MCU simulation */
void SIM_Initialize_Simulation(void);
/* deinitialize MCU simulation */
/* Deinitialize MCU simulation */
void SIM_deInitialize_Simulation(void);
/* read inputs S-function */
void MCU_readInputs(real_T* in);
/* Read inputs S-function */
void MCU_readInputs(SimStruct* S);
/* write outputs S-function (disc states) */
void MCU_writeOutputs(real_T* disc);
/* Write pre-outputs S-function (out_buff states) */
void MCU_writeOutputs(SimStruct* S);
/* write outputs of block of S-Function*/
/* Write outputs of block of S-Function*/
void SIM_writeOutput(SimStruct* S);
//---------------- SIMULATE FUNCTIONS PROTOTYPES -------------//
//-------------------------------------------------------------//
@@ -133,4 +147,17 @@ void SIM_writeOutput(SimStruct* S);
/** MCU_WRAPPER
* @}
*/
#endif // _CONTROLLER_H_
#endif // _CONTROLLER_H_
//-------------------------------------------------------------//
//---------------------BAT FILE DESCRIBTION--------------------//
/**
* @file run_mex.bat
* @brief Батник для компиляции оболочки МК.
* @details
* Вызывается в матлабе из mexing.m.
*
* Исходный код батника:
* @include F:\Work\Projects\MATLAB\matlab_stm_emulate\MCU_Wrapper\run_mex.bat
*/