note: - модбас не моделируется, в s-function просто передаются константы режимов. - лишние файлы убраны в outdate. - два канала одной фазы переключаются немного криво: на один такт симуляции проскакивает высокий уровень предыдущего канала и только потом включается текущий канал
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef __CONTROL_H_
 | 
						|
#define __CONTROL_H_
 | 
						|
 | 
						|
#include "periph_general.h"
 | 
						|
#include "modbus.h"
 | 
						|
#include "math.h"
 | 
						|
#include "settings.h"
 | 
						|
 | 
						|
#define M_PI           	3.14159265358979323846  /* pi */
 | 
						|
 | 
						|
extern TIM_SettingsTypeDef TIM_CTRL;
 | 
						|
 | 
						|
//---------------------this called from TIM_CTRL_Handler()-----------------------
 | 
						|
/** 
 | 
						|
	* @brief 	Update log parameters.
 | 
						|
	* @note 	Проверка надо ли обновлять параметры логов, и если надо - обновляет их.
 | 
						|
	* @note		This called from TIM_CTRL_Handler
 | 
						|
	*/
 | 
						|
void Update_Params_For_Log(void);
 | 
						|
/** 
 | 
						|
	* @brief 	Filling logs.
 | 
						|
	* @note 	заполнение логов: синус, шим, пила.
 | 
						|
	* @note		this called from TIM_CTRL_Handler
 | 
						|
	*/
 | 
						|
void Fill_Logs_with_Data(void);
 | 
						|
/** 
 | 
						|
	* @brief 	Set up log parameters.
 | 
						|
	* @note 	Устанавливает настройки логов и проверяет их на корректность.
 | 
						|
	*/
 | 
						|
void Set_Log_Params(void);
 | 
						|
 | 
						|
/** 
 | 
						|
	* @brief 	First initialization of Control Timer.
 | 
						|
	* @note 	Первый управляющего таймера. Таймер записывает логи и обновляет параметры ШИМ.
 | 
						|
	* @note		This called from main
 | 
						|
	*/
 | 
						|
void Control_Timer_FirstInit(void);
 | 
						|
 | 
						|
// this called from main while(1)
 | 
						|
/** 
 | 
						|
	* @brief 	reInitialization of control timer.
 | 
						|
	* @param	stim - указатель на настройки таймера.
 | 
						|
	* @note 	Перенастраивает таймер согласно принятным настройкам в log_ctrl.
 | 
						|
	* @note		This called from main while
 | 
						|
	*/
 | 
						|
void Control_Timer_ReInit(TIM_SettingsTypeDef *stim);
 | 
						|
 | 
						|
#endif // __CONTROL_H_
 |