Добавлен модуль для мониторинга сети
This commit is contained in:
parent
3614e8f8c3
commit
75bed20511
@ -1,16 +1,16 @@
|
|||||||
@echo off
|
@echo off
|
||||||
:: Получаем аргументы из командной строки
|
:: Получаем аргументы из командной строки
|
||||||
:: %1 - includes_USER
|
:: %1 - includes_USER
|
||||||
:: %2 - code_USER
|
:: %2 - code_USER
|
||||||
:: %3 - режим (например, debug)
|
:: %3 - режим (например, debug)
|
||||||
|
|
||||||
:: Аргументы:
|
:: Аргументы:
|
||||||
:: %1 — includes строка (в кавычках)
|
:: %1 — includes строка (в кавычках)
|
||||||
:: %2 — sources строка
|
:: %2 — sources строка
|
||||||
:: %3 — defines строка
|
:: %3 — defines строка
|
||||||
:: %4 — режим компиляции (debug/release)
|
:: %4 — режим компиляции (debug/release)
|
||||||
|
|
||||||
:: Сохраняем как переменные
|
:: Сохраняем как переменные
|
||||||
set filename=%~1
|
set filename=%~1
|
||||||
set includes_USER=%~2
|
set includes_USER=%~2
|
||||||
set code_USER=%~3
|
set code_USER=%~3
|
||||||
@ -18,7 +18,7 @@ set defines_USER=%~4
|
|||||||
set defines_CONFIG=%~5
|
set defines_CONFIG=%~5
|
||||||
set compil_mode=%~6
|
set compil_mode=%~6
|
||||||
|
|
||||||
:: Заменяем __EQ__ на =
|
:: Заменяем __EQ__ на =
|
||||||
set defines_USER=%defines_USER:__EQ__==%
|
set defines_USER=%defines_USER:__EQ__==%
|
||||||
set defines_CONFIG=%defines_CONFIG:__EQ__==%
|
set defines_CONFIG=%defines_CONFIG:__EQ__==%
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ set defines_WRAPPER=-D"MATLAB"^ -D"__sizeof_ptr=8"
|
|||||||
|
|
||||||
|
|
||||||
:: -------------------------WRAPPER PATHS AND CODE---------------------------
|
:: -------------------------WRAPPER PATHS AND CODE---------------------------
|
||||||
:: оболочка, которая будет моделировать работу МК в симулинке
|
:: оболочка, которая будет моделировать работу МК в симулинке
|
||||||
:: WRAPPER BAT START
|
:: WRAPPER BAT START
|
||||||
set code_WRAPPER=.\MCU_Wrapper\MCU.c^
|
set code_WRAPPER=.\MCU_Wrapper\MCU.c^
|
||||||
.\MCU_Wrapper\mcu_wrapper.c
|
.\MCU_Wrapper\mcu_wrapper.c
|
||||||
@ -88,7 +88,7 @@ set defines= %defines_WRAPPER% %defines_CONFIG% %defines_USER%
|
|||||||
:: -------OUTPUT FOLDER--------
|
:: -------OUTPUT FOLDER--------
|
||||||
set output= -outdir "." -output %filename%
|
set output= -outdir "." -output %filename%
|
||||||
|
|
||||||
:: если нужен дебаг, до запускаем run_mex с припиской debug
|
:: если нужен дебаг, до запускаем run_mex с припиской debug
|
||||||
IF %compil_mode%==debug (set debug= -g)
|
IF %compil_mode%==debug (set debug= -g)
|
||||||
::-------------------------------------------------------------------------
|
::-------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -145,9 +145,9 @@ if "%7"=="echo_enable" (
|
|||||||
echo ===========================
|
echo ===========================
|
||||||
echo MODE: %compil_mode%
|
echo MODE: %compil_mode%
|
||||||
echo ===========================
|
echo ===========================
|
||||||
:: 1. ПРЕЖДЕ ЧЕМ КОМПИЛИРОВАТЬ - ВЫГРУЗИТЬ СТАРЫЙ ФАЙЛ
|
:: 1. ПРЕЖДЕ ЧЕМ КОМПИЛИРОВАТЬ - ВЫГРУЗИТЬ СТАРЫЙ ФАЙЛ
|
||||||
|
|
||||||
:: 2. Компиляция с флагами для MSVC
|
:: 2. Компиляция с флагами для MSVC
|
||||||
:: set LINK_EMBEDDED=/BASE:0x00000000 /FIXED:NO /FILEALIGN:0x1000 /FORCE:MULTIPLE /DYNAMICBASE:NO
|
:: set LINK_EMBEDDED=/BASE:0x00000000 /FIXED:NO /FILEALIGN:0x1000 /FORCE:MULTIPLE /DYNAMICBASE:NO
|
||||||
set C_EMBEDDED="-w"
|
set C_EMBEDDED="-w"
|
||||||
mex %output% %defines% %includes% %codes% %debug% CFLAGS="$CFLAGS %C_EMBEDDED%" LINKFLAGS="$LINKFLAGS %LINK_EMBEDDED%"
|
mex %output% %defines% %includes% %codes% %debug% CFLAGS="$CFLAGS %C_EMBEDDED%" LINKFLAGS="$LINKFLAGS %LINK_EMBEDDED%"
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
#include "adc.h"
|
#include "adc.h"
|
||||||
#include "upp_main.h"
|
#include "upp_main.h"
|
||||||
#include "adc_tools.h"
|
#include "adc_tools.h"
|
||||||
|
#include "power_monitor.h"
|
||||||
// INCLUDES END
|
// INCLUDES END
|
||||||
|
|
||||||
#endif //_APP_INCLUDES_H_
|
#endif //_APP_INCLUDES_H_
|
||||||
@ -32,15 +32,12 @@ void ThyristorWrite(real_T* Buffer)
|
|||||||
*/
|
*/
|
||||||
void app_readInputs(const real_T* Buffer) {
|
void app_readInputs(const real_T* Buffer) {
|
||||||
// USER APP INPUT START
|
// USER APP INPUT START
|
||||||
ADC_Set_Channel_Value(ADC3, 4, ReadInputArray(0,0));
|
ADC_Set_Channel_Value(ADC3, 4, ReadInputArray(0,0));
|
||||||
ADC_Set_Channel_Value(ADC3, 5, ReadInputArray(0,1));
|
ADC_Set_Channel_Value(ADC3, 5, ReadInputArray(0,1));
|
||||||
ADC_Set_Channel_Value(ADC3, 6, ReadInputArray(0,2));
|
ADC_Set_Channel_Value(ADC3, 6, ReadInputArray(0,2));
|
||||||
ADC_Set_Channel_Value(ADC3, 7, ReadInputArray(0,3));
|
ADC_Set_Channel_Value(ADC3, 7, ReadInputArray(0,3));
|
||||||
ADC_Set_Channel_Value(ADC3, 8, ReadInputArray(0,4));
|
ADC_Set_Channel_Value(ADC3, 8, ReadInputArray(0,4));
|
||||||
ADC_Set_Channel_Value(ADC3, 10, ReadInputArray(0,5));
|
ADC_Set_Channel_Value(ADC3, 10, ReadInputArray(0,5));
|
||||||
|
|
||||||
|
|
||||||
__HAL_TIM_SET_AUTORELOAD(&adc_tim, ReadInputArray(1, 0));
|
|
||||||
|
|
||||||
// USER APP INPUT END
|
// USER APP INPUT END
|
||||||
}
|
}
|
||||||
@ -55,14 +52,14 @@ void app_writeOutputBuffer(real_T* Buffer) {
|
|||||||
//ThyristorWrite(Buffer);
|
//ThyristorWrite(Buffer);
|
||||||
for (int i = 0; i < 2; i++)
|
for (int i = 0; i < 2; i++)
|
||||||
{
|
{
|
||||||
WriteOutputArray(ZC_Detected[i], 0, i);
|
WriteOutputArray(pm.ZC_Detected[i], 0, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
extern ADC_Periodic_t adc;
|
extern ADC_Periodic_t adc;
|
||||||
for(int i = 0; i < 6; i++)
|
for(int i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
WriteOutputArray(adc.Data[i], 1, i);
|
WriteOutputArray(pm.adc.Data[i], 1, i);
|
||||||
}
|
}
|
||||||
// USER APP OUTPUT END
|
// USER APP OUTPUT END
|
||||||
}
|
}
|
||||||
Binary file not shown.
@ -14,8 +14,9 @@
|
|||||||
#define _UPP_CONFIG_H_
|
#define _UPP_CONFIG_H_
|
||||||
#include "stm32f4xx_hal.h"
|
#include "stm32f4xx_hal.h"
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
#define PM_ADC_PERIOD 1800-1
|
||||||
/////////////////////////---CALC DEFINES---//////////////////////////
|
#define PM_ZERO_CROSS_HYSTERESIS_V 10
|
||||||
|
#define PM_ZERO_CROSS_DEBOUNCE_10US 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -25,11 +25,11 @@ static void ADC_InitAllFilters(ADC_Periodic_t *adc)
|
|||||||
Filter_Init(&adc->filter[i], Filter_Coef);
|
Filter_Init(&adc->filter[i], Filter_Coef);
|
||||||
}
|
}
|
||||||
|
|
||||||
FilterLUTInt_Init(&adc->temp_filter[0],
|
FilterLUTInt_Init(&adc->temp_map[0],
|
||||||
(int32_t *)adc_temp_quants,
|
(int32_t *)adc_temp_quants,
|
||||||
(int32_t *)adc_temp_vals,
|
(int32_t *)adc_temp_vals,
|
||||||
sizeof(adc_temp_quants), 0);
|
sizeof(adc_temp_quants), 0);
|
||||||
FilterLUTInt_Init(&adc->temp_filter[1],
|
FilterLUTInt_Init(&adc->temp_map[1],
|
||||||
(int32_t *)adc_temp_quants,
|
(int32_t *)adc_temp_quants,
|
||||||
(int32_t *)adc_temp_vals,
|
(int32_t *)adc_temp_vals,
|
||||||
sizeof(adc_temp_quants), 0);
|
sizeof(adc_temp_quants), 0);
|
||||||
@ -111,8 +111,8 @@ HAL_StatusTypeDef ADC_Start(ADC_Periodic_t *adc, uint16_t Period)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ADC_EnableAllFilters(adc);
|
ADC_EnableAllFilters(adc);
|
||||||
Filter_Start(&adc->temp_filter[0]);
|
Filter_Start(&adc->temp_map[0]);
|
||||||
Filter_Start(&adc->temp_filter[1]);
|
Filter_Start(&adc->temp_map[1]);
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
@ -156,17 +156,20 @@ HAL_StatusTypeDef ADC_Handle(ADC_Periodic_t *adc)
|
|||||||
raw[i] = Filter_Process(&adc->filter[i], raw[i]);
|
raw[i] = Filter_Process(&adc->filter[i], raw[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Перерасчеты Напряжений/Токов в единицы измерения
|
// Перерасчеты Напряжений/Токов в единицы измерения
|
||||||
for(int i = 0; i < ADC_TEMP_CHANNELS_START; i++)
|
for(int i = 0; i < ADC_NUMB_OF_REGULAR_CHANNELS; i++)
|
||||||
{
|
{
|
||||||
ADC_Coefs_t *coefs = &adc->Coefs[i];
|
ADC_Coefs_t *coefs = &adc->Coefs[i];
|
||||||
data[i] = ((float)(raw[i])-coefs->lZero) * coefs->vMax / (coefs->lMax-coefs->lZero);
|
data[i] = ((float)(raw[i])-coefs->lZero) * coefs->vMax / (coefs->lMax-coefs->lZero);
|
||||||
|
ADC_UpdateStatistics(adc, i, ADC_LEVEL_AC);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Преобразования температуры по таблице
|
// Преобразования температуры по таблице
|
||||||
for (int i = ADC_TEMP_CHANNELS_START; i < ADC_NUMB_OF_CHANNELS; i++)
|
for (int i = ADC_TEMP_CHANNELS_START; i < ADC_NUMB_OF_CHANNELS; i++)
|
||||||
{
|
{
|
||||||
data[i] = FilterLUTInt_Process(&adc->temp_filter[i-ADC_TEMP_CHANNELS_START], raw[i]);
|
data[i] = FilterLUTInt_Process(&adc->temp_map[i-ADC_TEMP_CHANNELS_START], raw[i]);
|
||||||
|
ADC_UpdateStatistics(adc, i, ADC_LEVEL_BASE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -181,13 +184,18 @@ HAL_StatusTypeDef ADC_Handle(ADC_Periodic_t *adc)
|
|||||||
/**
|
/**
|
||||||
* @brief Сбор статистики.
|
* @brief Сбор статистики.
|
||||||
*/
|
*/
|
||||||
void ADC_UpdateStatistics(ADC_Periodic_t *adc, uint8_t channel, float value)
|
void ADC_UpdateStatistics(ADC_Periodic_t *adc, uint8_t channel, ADC_StatLevel_t level)
|
||||||
{
|
{
|
||||||
|
if (level < ADC_LEVEL_BASE)
|
||||||
|
return;
|
||||||
if(assert_adc(adc))
|
if(assert_adc(adc))
|
||||||
return;
|
return;
|
||||||
if (channel >= ADC_NUMB_OF_REGULAR_CHANNELS) return;
|
if (channel >= ADC_NUMB_OF_REGULAR_CHANNELS)
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
ADC_Statistics *stat = &adc->Stat[channel];
|
ADC_Statistics *stat = &adc->Stat[channel];
|
||||||
|
float value = adc->Data[channel];
|
||||||
|
|
||||||
// Первая инициализация
|
// Первая инициализация
|
||||||
if (stat->SampleCount == 0) {
|
if (stat->SampleCount == 0) {
|
||||||
@ -201,6 +209,12 @@ void ADC_UpdateStatistics(ADC_Periodic_t *adc, uint8_t channel, float value)
|
|||||||
if (value > stat->Max) stat->Max = value;
|
if (value > stat->Max) stat->Max = value;
|
||||||
if (value < stat->Min) stat->Min = value;
|
if (value < stat->Min) stat->Min = value;
|
||||||
|
|
||||||
|
// если не выбраны характеристики переменного сигнала - уходим
|
||||||
|
if(level < ADC_LEVEL_AC)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Накопление для Avg/RMS
|
// Накопление для Avg/RMS
|
||||||
stat->Sum += value;
|
stat->Sum += value;
|
||||||
stat->SumSquares += value * value;
|
stat->SumSquares += value * value;
|
||||||
|
|||||||
@ -10,8 +10,19 @@
|
|||||||
#define _ADC_TOOLS_H_
|
#define _ADC_TOOLS_H_
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
|
||||||
|
#define ADC_CHANNEL_UBA 0
|
||||||
|
#define ADC_CHANNEL_UAC 1
|
||||||
|
#define ADC_CHANNEL_IC 2
|
||||||
|
#define ADC_CHANNEL_IA 3
|
||||||
|
#define ADC_CHANNEL_TEMP1 4
|
||||||
|
#define ADC_CHANNEL_TEMP2 5
|
||||||
|
|
||||||
|
|
||||||
#define ADC_NUMB_OF_CHANNELS 6
|
#define ADC_NUMB_OF_CHANNELS 6
|
||||||
#define ADC_NUMB_OF_REGULAR_CHANNELS 4
|
#define ADC_NUMB_OF_U_CHANNELS 2
|
||||||
|
#define ADC_NUMB_OF_I_CHANNELS 2
|
||||||
|
#define ADC_NUMB_OF_T_CHANNELS 2
|
||||||
|
#define ADC_NUMB_OF_REGULAR_CHANNELS (ADC_NUMB_OF_U_CHANNELS+ADC_NUMB_OF_I_CHANNELS)
|
||||||
#define ADC_TEMP_CHANNELS_START ADC_NUMB_OF_REGULAR_CHANNELS
|
#define ADC_TEMP_CHANNELS_START ADC_NUMB_OF_REGULAR_CHANNELS
|
||||||
|
|
||||||
#define ADC_TEMPERATURES_QUANTS \
|
#define ADC_TEMPERATURES_QUANTS \
|
||||||
@ -40,10 +51,10 @@
|
|||||||
static const int32_t adc_temp_vals[] = ADC_TEMPERATURES;
|
static const int32_t adc_temp_vals[] = ADC_TEMPERATURES;
|
||||||
static const int32_t adc_temp_quants[] = ADC_TEMPERATURES_QUANTS;
|
static const int32_t adc_temp_quants[] = ADC_TEMPERATURES_QUANTS;
|
||||||
|
|
||||||
#define Filter_t FilterAverageInt_t
|
#define Filter_t FilterMedianInt_t
|
||||||
#define Filter_Init FilterAverageInt_Init
|
#define Filter_Init FilterMedianInt_Init
|
||||||
#define Filter_Process FilterAverageInt_Process
|
#define Filter_Process FilterMedianInt_Process
|
||||||
#define Filter_Coef 10, FILTER_MODE_DEFAULT
|
#define Filter_Coef 10
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Коэфициенты канала АЦП для пересчета в единицы измерения
|
* @brief Коэфициенты канала АЦП для пересчета в единицы измерения
|
||||||
@ -55,6 +66,13 @@ typedef struct
|
|||||||
uint16_t lMax; ///< Максимальный уровень АЦП (в квантах АЦП)
|
uint16_t lMax; ///< Максимальный уровень АЦП (в квантах АЦП)
|
||||||
}ADC_Coefs_t;
|
}ADC_Coefs_t;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
ADC_LEVEL_DISABLE=0, ///< Базовая статистика - Max/Min
|
||||||
|
ADC_LEVEL_BASE, ///< Базовая статистика - Max/Min
|
||||||
|
ADC_LEVEL_AC, ///< Статистика для переменных сигналов - AVG, RMS
|
||||||
|
}ADC_StatLevel_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Статистика АЦП
|
* @brief Статистика АЦП
|
||||||
*/
|
*/
|
||||||
@ -70,6 +88,8 @@ typedef struct
|
|||||||
float SumSquares; ///< Накопитель для RMS
|
float SumSquares; ///< Накопитель для RMS
|
||||||
}ADC_Statistics;
|
}ADC_Statistics;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Хендл АЦП
|
* @brief Хендл АЦП
|
||||||
*/
|
*/
|
||||||
@ -82,17 +102,18 @@ typedef struct
|
|||||||
// Data and calculation
|
// Data and calculation
|
||||||
uint16_t RawData[ADC_NUMB_OF_CHANNELS]; ///< Сырые значения АЦП
|
uint16_t RawData[ADC_NUMB_OF_CHANNELS]; ///< Сырые значения АЦП
|
||||||
ADC_Coefs_t Coefs[ADC_NUMB_OF_REGULAR_CHANNELS]; ///< Коэффициенты @ref ADC_Coefs_t для регулярных каналов (не температуры)
|
ADC_Coefs_t Coefs[ADC_NUMB_OF_REGULAR_CHANNELS]; ///< Коэффициенты @ref ADC_Coefs_t для регулярных каналов (не температуры)
|
||||||
|
|
||||||
Filter_t filter[ADC_NUMB_OF_CHANNELS]; ///< Фильтр от шумов АЦП
|
Filter_t filter[ADC_NUMB_OF_CHANNELS]; ///< Фильтр от шумов АЦП
|
||||||
FilterLUTInt_t temp_filter[2]; ///< Коррекция нелинейности датчиков температуры
|
FilterLUTInt_t temp_map[2]; ///< Коррекция нелинейности датчиков температуры
|
||||||
|
|
||||||
float Data[ADC_NUMB_OF_CHANNELS]; ///< Пересчитанные значения АЦП (в Вольтах/Амперах)
|
float Data[ADC_NUMB_OF_CHANNELS]; ///< Пересчитанные значения АЦП (в Вольтах/Амперах)
|
||||||
ADC_Statistics Stat[ADC_NUMB_OF_REGULAR_CHANNELS]; ///< Статистика для регулярных каналов (не температуры)
|
ADC_Statistics Stat[ADC_NUMB_OF_REGULAR_CHANNELS]; ///< Статистика для регулярных каналов (не температуры)
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
unsigned Initialized:1;
|
unsigned Initialized:1; ///< Флаг инициализированности структуры
|
||||||
unsigned AdcRunning:1;
|
unsigned AdcRunning:1; ///< Флаг АЦП в работе
|
||||||
unsigned DataReady:1;
|
unsigned DataReady:1; ///< Флаг данные АЦП обработаны
|
||||||
}f; ///< Флаги
|
}f; ///< Флаги
|
||||||
uint32_t LastTick; // Время последнего преобразования
|
uint32_t LastTick; // Время последнего преобразования
|
||||||
}ADC_Periodic_t;
|
}ADC_Periodic_t;
|
||||||
@ -107,9 +128,12 @@ HAL_StatusTypeDef ADC_ConfigChannel(ADC_Periodic_t *adc, int ChNumb, uint16_t le
|
|||||||
HAL_StatusTypeDef ADC_Start(ADC_Periodic_t *adc, uint16_t Period);
|
HAL_StatusTypeDef ADC_Start(ADC_Periodic_t *adc, uint16_t Period);
|
||||||
/* Остановка АЦП. */
|
/* Остановка АЦП. */
|
||||||
HAL_StatusTypeDef ADC_Stop(ADC_Periodic_t *adc);
|
HAL_StatusTypeDef ADC_Stop(ADC_Periodic_t *adc);
|
||||||
|
/* Обработка АЦП после получения данных. */
|
||||||
/* Остановка АЦП . */
|
|
||||||
HAL_StatusTypeDef ADC_Handle(ADC_Periodic_t *adc);
|
HAL_StatusTypeDef ADC_Handle(ADC_Periodic_t *adc);
|
||||||
|
|
||||||
|
/* Сбор статистики. */
|
||||||
|
void ADC_UpdateStatistics(ADC_Periodic_t *adc, uint8_t channel, ADC_StatLevel_t level);
|
||||||
|
/* Сброс статистики. */
|
||||||
|
void ADC_ResetStatistics(ADC_Periodic_t *adc, uint8_t channel);
|
||||||
|
|
||||||
#endif //_ADC_TOOLS_H_
|
#endif //_ADC_TOOLS_H_
|
||||||
|
|||||||
63
UPP/Core/PowerMonitor/power_monitor.c
Normal file
63
UPP/Core/PowerMonitor/power_monitor.c
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* @file power_monitor.c
|
||||||
|
* @brief Модуль мониторящий сеть: Напряжение, Токи, Температуры
|
||||||
|
******************************************************************************
|
||||||
|
* @details
|
||||||
|
******************************************************************************/
|
||||||
|
#include "power_monitor.h"
|
||||||
|
#include "adc.h"
|
||||||
|
#include "tim.h"
|
||||||
|
|
||||||
|
|
||||||
|
HAL_StatusTypeDef PowerMonitor_Init(PowerMonitor_t *hpm)
|
||||||
|
{
|
||||||
|
if(ADC_Init(&hpm->adc, &adc_tim, &hadc3) != HAL_OK)
|
||||||
|
return HAL_ERROR;
|
||||||
|
|
||||||
|
if(ADC_ConfigChannel(&hpm->adc, ADC_CHANNEL_UBA, 2048, 1216, 4095) != HAL_OK)
|
||||||
|
return HAL_ERROR;
|
||||||
|
if(ADC_ConfigChannel(&hpm->adc, ADC_CHANNEL_UAC, 2048, 1216, 4095) != HAL_OK)
|
||||||
|
return HAL_ERROR;
|
||||||
|
if(ADC_ConfigChannel(&hpm->adc, ADC_CHANNEL_IC, 2048, 53, 4095) != HAL_OK)
|
||||||
|
return HAL_ERROR;
|
||||||
|
if(ADC_ConfigChannel(&hpm->adc, ADC_CHANNEL_IA, 2048, 53, 4095) != HAL_OK)
|
||||||
|
return HAL_ERROR;
|
||||||
|
|
||||||
|
|
||||||
|
if(ZC_Init(&hpm->zc, ADC_NUMB_OF_U_CHANNELS, PM_ZERO_CROSS_HYSTERESIS_V, PM_ZERO_CROSS_DEBOUNCE_10US) != HAL_OK)
|
||||||
|
return HAL_ERROR;
|
||||||
|
|
||||||
|
if(ZC_ConfigChannel(&hpm->zc, ADC_CHANNEL_UBA, ZC_BOTH_EDGES) != HAL_OK)
|
||||||
|
return HAL_ERROR;
|
||||||
|
if(ZC_ConfigChannel(&hpm->zc, ADC_CHANNEL_UAC, ZC_BOTH_EDGES) != HAL_OK)
|
||||||
|
return HAL_ERROR;
|
||||||
|
|
||||||
|
return HAL_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
HAL_StatusTypeDef PowerMonitor_Start(PowerMonitor_t *hpm)
|
||||||
|
{
|
||||||
|
if(ADC_Start(&hpm->adc, PM_ADC_PERIOD) != HAL_OK)
|
||||||
|
return HAL_ERROR;
|
||||||
|
|
||||||
|
return HAL_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void PowerMonitor_Handle(PowerMonitor_t *hpm)
|
||||||
|
{
|
||||||
|
static uint32_t last_zc_cnt[ADC_NUMB_OF_U_CHANNELS] = {0};
|
||||||
|
ADC_Handle(&hpm->adc);
|
||||||
|
ZC_ProcessAllChannels(&hpm->zc, hpm->adc.Data, uwTick);
|
||||||
|
for(int i = 0; i < ADC_NUMB_OF_U_CHANNELS; i++)
|
||||||
|
{
|
||||||
|
if(last_zc_cnt[i] != ZC_GetCrossCount(&hpm->zc, i))
|
||||||
|
{
|
||||||
|
last_zc_cnt[i] = ZC_GetCrossCount(&hpm->zc, i);
|
||||||
|
hpm->ZC_Detected[i] = !hpm->ZC_Detected[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
32
UPP/Core/PowerMonitor/power_monitor.h
Normal file
32
UPP/Core/PowerMonitor/power_monitor.h
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* @file power_monitor.h
|
||||||
|
* @brief Модуль мониторящий сеть: Напряжение, Токи, Температуры
|
||||||
|
******************************************************************************
|
||||||
|
*****************************************************************************/
|
||||||
|
#ifndef _POWER_MONITOR_H_
|
||||||
|
#define _POWER_MONITOR_H_
|
||||||
|
#include "main.h"
|
||||||
|
#include "adc_tools.h"
|
||||||
|
#include "zero_cross.h"
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
ADC_Periodic_t adc;
|
||||||
|
ZeroCross_Handle_t zc;
|
||||||
|
uint32_t ZC_Detected[ADC_NUMB_OF_U_CHANNELS];
|
||||||
|
|
||||||
|
float U[3];
|
||||||
|
float I[3];
|
||||||
|
float T[3];
|
||||||
|
|
||||||
|
}PowerMonitor_t;
|
||||||
|
extern PowerMonitor_t pm;
|
||||||
|
|
||||||
|
|
||||||
|
HAL_StatusTypeDef PowerMonitor_Init(PowerMonitor_t *hpm);
|
||||||
|
HAL_StatusTypeDef PowerMonitor_Start(PowerMonitor_t *hpm);
|
||||||
|
|
||||||
|
void PowerMonitor_Handle(PowerMonitor_t *hpm);
|
||||||
|
|
||||||
|
#endif /* _POWER_MONITOR_H_ */
|
||||||
@ -188,7 +188,7 @@ void MX_TIM8_Init(void)
|
|||||||
htim8.Instance = TIM8;
|
htim8.Instance = TIM8;
|
||||||
htim8.Init.Prescaler = 0;
|
htim8.Init.Prescaler = 0;
|
||||||
htim8.Init.CounterMode = TIM_COUNTERMODE_UP;
|
htim8.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||||
htim8.Init.Period = 1000;
|
htim8.Init.Period = 1800-1;
|
||||||
htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||||
htim8.Init.RepetitionCounter = 0;
|
htim8.Init.RepetitionCounter = 0;
|
||||||
htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
||||||
|
|||||||
@ -5,22 +5,10 @@
|
|||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @details
|
* @details
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
#include "main.h" // либы из AllLibs и вербальные имена из CubeMX
|
|
||||||
#include "upp_main.h" // всё остальное по работе с УПП
|
#include "upp_main.h" // всё остальное по работе с УПП
|
||||||
#include "adc.h"
|
#include "power_monitor.h" // статистика сети и АЦП
|
||||||
#include "tim.h"
|
|
||||||
|
|
||||||
#include "adc_tools.h"
|
PowerMonitor_t pm;
|
||||||
#include "zero_cross.h"
|
|
||||||
ADC_Periodic_t adc;
|
|
||||||
ZeroCross_Handle_t hzc;
|
|
||||||
uint32_t ZC_Detected[ZC_MAX_CHANNELS] = {0};
|
|
||||||
#define ADC_CHANNEL_UBA 0
|
|
||||||
#define ADC_CHANNEL_UAC 1
|
|
||||||
#define ADC_CHANNEL_IC 2
|
|
||||||
#define ADC_CHANNEL_IA 3
|
|
||||||
#define ADC_CHANNEL_TEMP1 4
|
|
||||||
#define ADC_CHANNEL_TEMP2 5
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Инициализация УПП.
|
* @brief Инициализация УПП.
|
||||||
@ -28,17 +16,7 @@ uint32_t ZC_Detected[ZC_MAX_CHANNELS] = {0};
|
|||||||
*/
|
*/
|
||||||
int UPP_Init(void)
|
int UPP_Init(void)
|
||||||
{
|
{
|
||||||
ADC_Init(&adc, &adc_tim, &hadc3);
|
PowerMonitor_Init(&pm);
|
||||||
|
|
||||||
ADC_ConfigChannel(&adc, ADC_CHANNEL_UBA, 2048, 1216, 4095);
|
|
||||||
ADC_ConfigChannel(&adc, ADC_CHANNEL_UAC, 2048, 1216, 4095);
|
|
||||||
ADC_ConfigChannel(&adc, ADC_CHANNEL_IC, 2048, 53, 4095);
|
|
||||||
ADC_ConfigChannel(&adc, ADC_CHANNEL_IA, 2048, 53, 4095);
|
|
||||||
|
|
||||||
ZC_Init(&hzc, ZC_MAX_CHANNELS, 10, 3);
|
|
||||||
ZC_ConfigChannel(&hzc, 0, ZC_BOTH_EDGES);
|
|
||||||
ZC_ConfigChannel(&hzc, 1, ZC_BOTH_EDGES);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,7 +26,7 @@ int UPP_Init(void)
|
|||||||
*/
|
*/
|
||||||
int UPP_PreWhile(void)
|
int UPP_PreWhile(void)
|
||||||
{
|
{
|
||||||
ADC_Start(&adc, 100);
|
PowerMonitor_Start(&pm);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,15 +42,5 @@ int UPP_While(void)
|
|||||||
|
|
||||||
void UPP_ADC_Handle(void)
|
void UPP_ADC_Handle(void)
|
||||||
{
|
{
|
||||||
static uint32_t last_zc_cnt[ZC_MAX_CHANNELS] = {0};
|
PowerMonitor_Handle(&pm);
|
||||||
ADC_Handle(&adc);
|
|
||||||
ZC_ProcessAllChannels(&hzc, adc.Data, uwTick);
|
|
||||||
for(int i = 0; i < ZC_MAX_CHANNELS; i++)
|
|
||||||
{
|
|
||||||
if(last_zc_cnt[i] != ZC_GetCrossCount(&hzc, i))
|
|
||||||
{
|
|
||||||
last_zc_cnt[i] = ZC_GetCrossCount(&hzc, i);
|
|
||||||
ZC_Detected[i] = !ZC_Detected[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@ -9,8 +9,11 @@
|
|||||||
#ifndef _UPP_MAIN_H
|
#ifndef _UPP_MAIN_H
|
||||||
#define _UPP_MAIN_H
|
#define _UPP_MAIN_H
|
||||||
|
|
||||||
|
#include "main.h" // либы из AllLibs и вербальные имена из CubeMX
|
||||||
#include "upp_config.h"
|
#include "upp_config.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Инициализация УПП */
|
/* Инициализация УПП */
|
||||||
int UPP_Init(void);
|
int UPP_Init(void);
|
||||||
/* Инициализация основного цикла УПП. */
|
/* Инициализация основного цикла УПП. */
|
||||||
@ -19,5 +22,4 @@ int UPP_PreWhile(void);
|
|||||||
int UPP_While(void);
|
int UPP_While(void);
|
||||||
|
|
||||||
void UPP_ADC_Handle(void);
|
void UPP_ADC_Handle(void);
|
||||||
extern uint32_t ZC_Detected[];
|
|
||||||
#endif //_UPP_MAIN_H
|
#endif //_UPP_MAIN_H
|
||||||
@ -342,6 +342,30 @@
|
|||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<bDave2>0</bDave2>
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\Core\PowerMonitor\power_monitor.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>power_monitor.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>3</GroupNumber>
|
||||||
|
<FileNumber>13</FileNumber>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\Core\PowerMonitor\power_monitor.h</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>power_monitor.h</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>3</GroupNumber>
|
||||||
|
<FileNumber>14</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
<PathWithFileName>..\Core\PowerMonitor\adc_tools.c</PathWithFileName>
|
<PathWithFileName>..\Core\PowerMonitor\adc_tools.c</PathWithFileName>
|
||||||
<FilenameWithoutPath>adc_tools.c</FilenameWithoutPath>
|
<FilenameWithoutPath>adc_tools.c</FilenameWithoutPath>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
@ -349,7 +373,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>3</GroupNumber>
|
<GroupNumber>3</GroupNumber>
|
||||||
<FileNumber>13</FileNumber>
|
<FileNumber>15</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -361,7 +385,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>3</GroupNumber>
|
<GroupNumber>3</GroupNumber>
|
||||||
<FileNumber>14</FileNumber>
|
<FileNumber>16</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -373,7 +397,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>3</GroupNumber>
|
<GroupNumber>3</GroupNumber>
|
||||||
<FileNumber>15</FileNumber>
|
<FileNumber>17</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -401,7 +425,7 @@
|
|||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>16</FileNumber>
|
<FileNumber>18</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -413,7 +437,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>17</FileNumber>
|
<FileNumber>19</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -425,7 +449,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>18</FileNumber>
|
<FileNumber>20</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -437,7 +461,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>19</FileNumber>
|
<FileNumber>21</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -449,7 +473,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>20</FileNumber>
|
<FileNumber>22</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -461,7 +485,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>21</FileNumber>
|
<FileNumber>23</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -473,7 +497,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>22</FileNumber>
|
<FileNumber>24</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -485,7 +509,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>23</FileNumber>
|
<FileNumber>25</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -497,7 +521,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>24</FileNumber>
|
<FileNumber>26</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -509,7 +533,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>25</FileNumber>
|
<FileNumber>27</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -521,7 +545,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>26</FileNumber>
|
<FileNumber>28</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -533,7 +557,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>27</FileNumber>
|
<FileNumber>29</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -545,7 +569,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>28</FileNumber>
|
<FileNumber>30</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -565,7 +589,7 @@
|
|||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>6</GroupNumber>
|
<GroupNumber>6</GroupNumber>
|
||||||
<FileNumber>29</FileNumber>
|
<FileNumber>31</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -577,7 +601,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>6</GroupNumber>
|
<GroupNumber>6</GroupNumber>
|
||||||
<FileNumber>30</FileNumber>
|
<FileNumber>32</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -589,7 +613,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>6</GroupNumber>
|
<GroupNumber>6</GroupNumber>
|
||||||
<FileNumber>31</FileNumber>
|
<FileNumber>33</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -601,7 +625,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>6</GroupNumber>
|
<GroupNumber>6</GroupNumber>
|
||||||
<FileNumber>32</FileNumber>
|
<FileNumber>34</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -613,7 +637,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>6</GroupNumber>
|
<GroupNumber>6</GroupNumber>
|
||||||
<FileNumber>33</FileNumber>
|
<FileNumber>35</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -625,7 +649,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>6</GroupNumber>
|
<GroupNumber>6</GroupNumber>
|
||||||
<FileNumber>34</FileNumber>
|
<FileNumber>36</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -637,7 +661,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>6</GroupNumber>
|
<GroupNumber>6</GroupNumber>
|
||||||
<FileNumber>35</FileNumber>
|
<FileNumber>37</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -649,7 +673,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>6</GroupNumber>
|
<GroupNumber>6</GroupNumber>
|
||||||
<FileNumber>36</FileNumber>
|
<FileNumber>38</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -669,7 +693,7 @@
|
|||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>7</GroupNumber>
|
<GroupNumber>7</GroupNumber>
|
||||||
<FileNumber>37</FileNumber>
|
<FileNumber>39</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -681,7 +705,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>7</GroupNumber>
|
<GroupNumber>7</GroupNumber>
|
||||||
<FileNumber>38</FileNumber>
|
<FileNumber>40</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -693,7 +717,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>7</GroupNumber>
|
<GroupNumber>7</GroupNumber>
|
||||||
<FileNumber>39</FileNumber>
|
<FileNumber>41</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -705,7 +729,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>7</GroupNumber>
|
<GroupNumber>7</GroupNumber>
|
||||||
<FileNumber>40</FileNumber>
|
<FileNumber>42</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -717,7 +741,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>7</GroupNumber>
|
<GroupNumber>7</GroupNumber>
|
||||||
<FileNumber>41</FileNumber>
|
<FileNumber>43</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -729,7 +753,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>7</GroupNumber>
|
<GroupNumber>7</GroupNumber>
|
||||||
<FileNumber>42</FileNumber>
|
<FileNumber>44</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -741,7 +765,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>7</GroupNumber>
|
<GroupNumber>7</GroupNumber>
|
||||||
<FileNumber>43</FileNumber>
|
<FileNumber>45</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -753,7 +777,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>7</GroupNumber>
|
<GroupNumber>7</GroupNumber>
|
||||||
<FileNumber>44</FileNumber>
|
<FileNumber>46</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -765,7 +789,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>7</GroupNumber>
|
<GroupNumber>7</GroupNumber>
|
||||||
<FileNumber>45</FileNumber>
|
<FileNumber>47</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -777,7 +801,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>7</GroupNumber>
|
<GroupNumber>7</GroupNumber>
|
||||||
<FileNumber>46</FileNumber>
|
<FileNumber>48</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -789,7 +813,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>7</GroupNumber>
|
<GroupNumber>7</GroupNumber>
|
||||||
<FileNumber>47</FileNumber>
|
<FileNumber>49</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -801,7 +825,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>7</GroupNumber>
|
<GroupNumber>7</GroupNumber>
|
||||||
<FileNumber>48</FileNumber>
|
<FileNumber>50</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -821,7 +845,7 @@
|
|||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>8</GroupNumber>
|
<GroupNumber>8</GroupNumber>
|
||||||
<FileNumber>49</FileNumber>
|
<FileNumber>51</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -833,7 +857,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>8</GroupNumber>
|
<GroupNumber>8</GroupNumber>
|
||||||
<FileNumber>50</FileNumber>
|
<FileNumber>52</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -853,7 +877,7 @@
|
|||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>9</GroupNumber>
|
<GroupNumber>9</GroupNumber>
|
||||||
<FileNumber>51</FileNumber>
|
<FileNumber>53</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -865,7 +889,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>9</GroupNumber>
|
<GroupNumber>9</GroupNumber>
|
||||||
<FileNumber>52</FileNumber>
|
<FileNumber>54</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -877,7 +901,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>9</GroupNumber>
|
<GroupNumber>9</GroupNumber>
|
||||||
<FileNumber>53</FileNumber>
|
<FileNumber>55</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -889,7 +913,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>9</GroupNumber>
|
<GroupNumber>9</GroupNumber>
|
||||||
<FileNumber>54</FileNumber>
|
<FileNumber>56</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -901,7 +925,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>9</GroupNumber>
|
<GroupNumber>9</GroupNumber>
|
||||||
<FileNumber>55</FileNumber>
|
<FileNumber>57</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -921,7 +945,7 @@
|
|||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>56</FileNumber>
|
<FileNumber>58</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -933,7 +957,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>57</FileNumber>
|
<FileNumber>59</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -945,7 +969,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>58</FileNumber>
|
<FileNumber>60</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -957,7 +981,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>59</FileNumber>
|
<FileNumber>61</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -969,7 +993,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>60</FileNumber>
|
<FileNumber>62</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -981,7 +1005,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>61</FileNumber>
|
<FileNumber>63</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -993,7 +1017,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>62</FileNumber>
|
<FileNumber>64</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1005,7 +1029,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>63</FileNumber>
|
<FileNumber>65</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1017,7 +1041,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>64</FileNumber>
|
<FileNumber>66</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1029,7 +1053,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>65</FileNumber>
|
<FileNumber>67</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1041,7 +1065,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>66</FileNumber>
|
<FileNumber>68</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1053,7 +1077,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>67</FileNumber>
|
<FileNumber>69</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1065,7 +1089,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>68</FileNumber>
|
<FileNumber>70</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1077,7 +1101,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>69</FileNumber>
|
<FileNumber>71</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1089,7 +1113,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>70</FileNumber>
|
<FileNumber>72</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1101,7 +1125,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>71</FileNumber>
|
<FileNumber>73</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1113,7 +1137,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>72</FileNumber>
|
<FileNumber>74</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1125,7 +1149,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>73</FileNumber>
|
<FileNumber>75</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1137,7 +1161,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>74</FileNumber>
|
<FileNumber>76</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1149,7 +1173,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>75</FileNumber>
|
<FileNumber>77</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1161,7 +1185,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>76</FileNumber>
|
<FileNumber>78</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1173,7 +1197,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>77</FileNumber>
|
<FileNumber>79</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1185,7 +1209,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>78</FileNumber>
|
<FileNumber>80</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1197,7 +1221,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>79</FileNumber>
|
<FileNumber>81</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1217,7 +1241,7 @@
|
|||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>11</GroupNumber>
|
<GroupNumber>11</GroupNumber>
|
||||||
<FileNumber>80</FileNumber>
|
<FileNumber>82</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1237,7 +1261,7 @@
|
|||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>12</GroupNumber>
|
<GroupNumber>12</GroupNumber>
|
||||||
<FileNumber>81</FileNumber>
|
<FileNumber>83</FileNumber>
|
||||||
<FileType>2</FileType>
|
<FileType>2</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1251,7 +1275,7 @@
|
|||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>::CMSIS</GroupName>
|
<GroupName>::CMSIS</GroupName>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>1</RteFlg>
|
<RteFlg>1</RteFlg>
|
||||||
|
|||||||
@ -450,6 +450,16 @@
|
|||||||
<Group>
|
<Group>
|
||||||
<GroupName>PowerMonitor</GroupName>
|
<GroupName>PowerMonitor</GroupName>
|
||||||
<Files>
|
<Files>
|
||||||
|
<File>
|
||||||
|
<FileName>power_monitor.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\Core\PowerMonitor\power_monitor.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>power_monitor.h</FileName>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<FilePath>..\Core\PowerMonitor\power_monitor.h</FilePath>
|
||||||
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<FileName>adc_tools.c</FileName>
|
<FileName>adc_tools.c</FileName>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
@ -915,6 +925,12 @@
|
|||||||
<targetInfo name="UPP"/>
|
<targetInfo name="UPP"/>
|
||||||
</targetInfos>
|
</targetInfos>
|
||||||
</component>
|
</component>
|
||||||
|
<component Cclass="CMSIS" Cgroup="DSP" Cvariant="Source" Cvendor="ARM" Cversion="1.14.2" condition="CMSISCORE">
|
||||||
|
<package name="CMSIS-DSP" schemaVersion="1.7.7" url="https://www.keil.com/pack/" vendor="ARM" version="1.14.2"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="UPP"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="STDOUT" Cvariant="ITM" Cvendor="Keil" Cversion="1.2.0" condition="ARMCC Cortex-M with ITM">
|
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="STDOUT" Cvariant="ITM" Cvendor="Keil" Cversion="1.2.0" condition="ARMCC Cortex-M with ITM">
|
||||||
<package name="ARM_Compiler" schemaVersion="1.7.7" url="https://www.keil.com/pack/" vendor="Keil" version="1.7.2"/>
|
<package name="ARM_Compiler" schemaVersion="1.7.7" url="https://www.keil.com/pack/" vendor="Keil" version="1.7.2"/>
|
||||||
<targetInfos>
|
<targetInfos>
|
||||||
|
|||||||
@ -474,7 +474,7 @@ TIM3.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3
|
|||||||
TIM3.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4
|
TIM3.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4
|
||||||
TIM3.IPParameters=Channel-PWM Generation3 CH3,Channel-PWM Generation4 CH4
|
TIM3.IPParameters=Channel-PWM Generation3 CH3,Channel-PWM Generation4 CH4
|
||||||
TIM8.IPParameters=Prescaler,Period,TIM_MasterSlaveMode,TIM_MasterOutputTrigger
|
TIM8.IPParameters=Prescaler,Period,TIM_MasterSlaveMode,TIM_MasterOutputTrigger
|
||||||
TIM8.Period=1000
|
TIM8.Period=1800-1
|
||||||
TIM8.Prescaler=0
|
TIM8.Prescaler=0
|
||||||
TIM8.TIM_MasterOutputTrigger=TIM_TRGO_UPDATE
|
TIM8.TIM_MasterOutputTrigger=TIM_TRGO_UPDATE
|
||||||
TIM8.TIM_MasterSlaveMode=TIM_MASTERSLAVEMODE_DISABLE
|
TIM8.TIM_MasterSlaveMode=TIM_MASTERSLAVEMODE_DISABLE
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user