matlab_23550/Inu/Src2/551/main/synhro_tools.c
Razvalyaev 7e0063eee0 #3 Скомпилилось, но пока ничего не вызывается
Все основные файлы подтянуты без изменений

Изменены (только папка main_matlab):
- заглушки для ненужных функций (main_matlab.c)
- iq библиотека (IQmathLib_matlab.c)
- библиотеки DSP281x
2025-01-13 11:09:58 +03:00

145 lines
3.6 KiB
C

/*
* synhro_tools.c
*
* Created on: 13 íîÿá. 2024 ã.
* Author: Evgeniy_Sokolov
*/
#include <edrk_main.h>
#include <params.h>
#include <params_alg.h>
#include <params_norma.h>
#include <params_pwm24.h>
#include <params_temper_p.h>
#include <project.h>
#include "IQmathLib.h"
#include "mathlib.h"
#include "optical_bus.h"
#include "sync_tools.h"
//////////////////////////////////////////////////////////
unsigned int wait_synhro_optical_bus(void)
{
static unsigned int cmd = 0;
static unsigned int count_wait_synhro = 0;
//
// switch(cmd)
// {
// 0 : if (optical_read_data.data.cmd.bit.wdog_tick == 0)
// cmd = 1;
//
// break;
//
// 1 : optical_write_data.data.cmd.bit.wdog_tick = 1;
// break;
//
//
// default: break
// }
return 0;
}
//////////////////////////////////////////////////////////
void clear_wait_synhro_optical_bus(void)
{
// optical_read_data.data.cmd.bit.wdog_tick = 0;
// optical_write_data.data.cmd.bit.wdog_tick = 0;
}
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
void who_select_sync_signal(void)
{
if (sync_data.what_main_pch)
{
if (sync_data.what_main_pch==2)
{
// ïðèíóäèòåëüíî âñåãäà !!!
if (edrk.flag_second_PCH)
sync_data.enable_do_sync = 1;
else
sync_data.enable_do_sync = 0;
return;
}
if (sync_data.what_main_pch==1)
{
// ïðèíóäèòåëüíî âñåãäà !!!
if (edrk.flag_second_PCH)
sync_data.enable_do_sync = 0;
else
sync_data.enable_do_sync = 1;
return;
}
}
// if (optical_read_data.status == 1)
sync_data.global_flag_sync_1_2 = (sync_data.local_flag_sync_1_2 || optical_read_data.data.cmd.bit.sync_1_2);
// else
// sync_data.global_flag_sync_1_2 = (sync_data.local_flag_sync_1_2);
if (sync_data.timeout_sync_signal && optical_read_data.data.cmd.bit.sync_line_detect)
{
// ýòîò ÁÑ íå ïðèíèìàåò ñèíõðî, à âòîðîé ïðèíèìàåò, çíà÷èò íà ýòîì îòêëþ÷àåì ñèíõðîíèçàöèþ
// ñèíõðîíèçèðóåòñÿ òîò áîðò ñàì.
sync_data.enable_do_sync = 0;
return;
}
if (sync_data.timeout_sync_signal==0 && optical_read_data.data.cmd.bit.sync_line_detect==0)
{
// ýòîò ÁÑ ïðèíèìàåò ñèíõðî, à âòîðîé íå ïðèíèìàåò, çíà÷èò íà ýòîì ïðèíóäèòåëüíî âêëþ÷àåì ñèíõðîíèçàöèþ
// ñèíõðîíèçèðóåòñÿ ýòîò áîðò ñàì.
sync_data.enable_do_sync = 1;
return;
}
if (sync_data.sync_ready && sync_data.timeout_sync_signal==0 && optical_read_data.data.cmd.bit.sync_line_detect)
{
if (optical_read_data.data.cmd.bit.sync_1_2 && sync_data.enable_do_sync==0)
{
// óæå åñòü ñèíõðîí, äðóãîé ÁÑ ñìîã ýòî ñäåëàòü è îí ñàì ýòî ñäåëàë
}
else
if (optical_read_data.data.cmd.bit.sync_1_2 && sync_data.enable_do_sync==1)
{
// óæå åñòü ñèíõðîí, äðóãîé ÁÑ ñìîã ýòî ñäåëàòü è îí íå ñàì ýòî ñäåëàë, à îò íàñ
}
else
{
// íåò ñèíõðîíèçàöèè, çíà÷èò âûáèðàåì êòî ýòî áóäåò äåëàòü â àâòîìàòå
// ýòîò ÁÑ ïðèíèìàåò ñèíõðî è âòîðîé ïðèíèìàåò, çíà÷èò ñèíõðîíèçàöèÿ
// âûáèðàåòñÿ â çàâèñèìîñòè îò íîìåðà ÁÑ.
if (edrk.flag_second_PCH==0)
sync_data.enable_do_sync = 1;
else
sync_data.enable_do_sync = 0;
}
return;
}
}
//////////////////////////////////////////////////////////