Счетчики

This commit is contained in:
dimoniche 2025-05-20 00:36:25 +03:00
parent b03d399c49
commit 0e6ab22246
9 changed files with 2317 additions and 2200 deletions

View File

@ -207,6 +207,7 @@ void SolarClearAllCounters(void)
/// ñ÷åò÷èêè ïî ðåæèìàì
memset(&counters.solar_m[0], 0, sizeof(SolarCountersRecord) * SOLAR_MODES_COUNT);
memset(&counters.solar_m_test[0], 0, sizeof(SolarCountersRecord) * SOLAR_MODES_COUNT);
memset(&counters.abonement[0], 0, sizeof(AbonentCountersRecord) * 5);
// îòðàáîòàííîå âðåìÿ êîëëàòåí+ìàêñè ïî ñîëÿðèÿì
//CPU_INT32U collaten_time[CHANNELS_NUM];
// îòðàáîòàííîå âðåìÿ óëüòðàôèîëåò+ìàêñè ïî ñîëÿðèÿì

View File

@ -2474,7 +2474,7 @@ TDataDescStruct const CounterRunDesc = {
*************************************/
CPU_INT08U const CounterMoneyName[] = "Äåíüãè,ðóá.";
CPU_INT08U const CounterCardName[] = "Áàíê,ðóá.";
CPU_INT08U const CounterAbonementName[] = "Абонем.,руб.";
TDataDescStruct const CounterMoneyDesc = {
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
@ -2515,6 +2515,27 @@ TDataDescStruct const CounterCardDesc = {
0
};
/*************************************
Общий счетчик абонемента
*************************************/
TDataDescStruct const CounterAbonementDesc = {
DATA_DESC_VIEW, // тип дескриптора
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_NO_ARRAY, // признак массива
0, // размер массива
NULL, // указатель на дескриптор индекса массива
(void*)offsetof(TFramMap, Counters.CounterAbonement), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
0, // смещение между элементами в массиве
CounterAbonementName, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
/*************************************
Îáùèé ñ÷åò÷èê âðåìåíè ðàáîòû
*************************************/
@ -2606,6 +2627,27 @@ TDataDescStruct const CounterLongCardDesc = {
0
};
/*************************************
Общий счетчик абонемента ДЛИННЫЙ
*************************************/
TDataDescStruct const CounterLongAbonementDesc = {
DATA_DESC_VIEW, // тип дескриптора
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_NO_ARRAY, // признак массива
0, // размер массива
NULL, // указатель на дескриптор индекса массива
(void*)offsetof(TFramMap, CountersLong.CounterAbonementLong), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
0, // смещение между элементами в массиве
CounterAbonementName, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
/*************************************
Îáùèé ñ÷åò÷èê âðåìåíè ðàáîòû
*************************************/
@ -2690,6 +2732,27 @@ TDataDescStruct const CounterChannelCardDesc = {
0
};
/*************************************
Канальный счетчик абонемента
*************************************/
TDataDescStruct const CounterChannelAbonementDesc = {
DATA_DESC_VIEW, // тип дескриптора
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
CHANNELS_NUM, // размер массива
&ChannelStIndexDesc, // указатель на дескриптор индекса массива
(void*)offsetof(TFramMap, Counters.CounterChannelAbonement[0]), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
sizeof(CPU_INT32U), // смещение между элементами в массиве
CounterCardName, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
/*************************************
Êàíàëüíûé ñ÷åò÷èê âðåìåíè ðàáîòû
*************************************/
@ -2775,6 +2838,27 @@ TDataDescStruct const CounterChannelCardLongDesc = {
0
};
/*************************************
Канальный счетчик безнала
*************************************/
TDataDescStruct const CounterChannelAbonementLongDesc = {
DATA_DESC_VIEW, // тип дескриптора
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
CHANNELS_NUM, // размер массива
&ChannelStIndexDesc, // указатель на дескриптор индекса массива
(void*)offsetof(TFramMap, CountersLong.CounterChannelAbonementLong[0]), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
sizeof(CPU_INT32U), // смещение между элементами в массиве
CounterAbonementName, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
/*************************************
Êàíàëüíûé ñ÷åò÷èê âðåìåíè ðàáîòû
*************************************/
@ -5093,7 +5177,7 @@ CPU_INT08U const AbonementIndex_str1[] = "
CPU_INT08U const AbonementIndex_str2[] = "ÏËÀÒÈÍÎÂÛé";
CPU_INT08U const AbonementIndex_str3[] = "ÀËÌÀÇÍÛé";
CPU_INT08U const AbonementIndex_str4[] = "ÈÒÎÃÎ";
CPU_INT08U const *AbonementIndexList[] = {AbonementIndex_str0, AbonementIndex_str1/*, AbonementIndex_str2, AbonementIndex_str3*/, AbonementIndex_str4};
CPU_INT08U const *AbonementIndexList[] = {AbonementIndex_str0, AbonementIndex_str1, AbonementIndex_str2, AbonementIndex_str3, AbonementIndex_str4};
TDataDescStruct const AbonementCounterIndexDesc = {
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
@ -7312,9 +7396,12 @@ char const KeyActionDescArrId[] = "KeyActionDesc";
char const MakeSverkaDescArrId[] = "MakeSverkaDesc";
char const MakeSyncDescArrId[] = "MakeSyncDesc";
char const CounterChannelCardDescArrId[] = "CounterChannelCardDesc";
char const CounterChannelAbonementDescArrId[] = "CounterChannelAbonementDesc";
char const CounterCardDescArrId[] = "CounterCardDesc";
char const CounterChannelCardLongDescArrId[] = "CounterChannelCardLongDesc";
char const CounterChannelAbonementLongDescArrId[] = "CounterChannelAbonementLongDesc";
char const CounterLongCardDescArrId[] = "CounterLongCardDesc";
char const CounterLongAbonementDescArrId[] = "CounterLongAbonementDesc";
char const PostTimerDescArrId[] = "PostTimerDesc";
char const PostSignalDescArrId[] = "PostSignalDesc";
char const PostPauseLenCostDescId[] = "PostPauseLenCostDesc";
@ -7417,7 +7504,10 @@ const TDataDescArrayStruct AllDataArray[] =
{&CounterChannelCardDesc, CounterChannelCardDescArrId},
{&CounterCardDesc, CounterCardDescArrId},
{&CounterChannelCardLongDesc, CounterChannelCardLongDescArrId},
{&CounterChannelAbonementLongDesc, CounterChannelAbonementLongDescArrId},
{&CounterLongCardDesc, CounterLongCardDescArrId},
{&CounterChannelAbonementDesc, CounterChannelAbonementDescArrId},
{&CounterLongAbonementDesc, CounterLongAbonementDescArrId},
#if defined(BOARD_SOLARIUM_WEB)
{&SolariumTypeDesc, SolariumTypeDescId},

View File

@ -172,6 +172,7 @@ extern TDataDescStruct const CounterMoneyDesc;
extern TDataDescStruct const CounterTimeDesc;
extern TDataDescStruct const CounterChannelRunDesc;
extern TDataDescStruct const CounterChannelMoneyDesc;
extern TDataDescStruct const CounterChannelAbonementDesc;
extern TDataDescStruct const CounterChannelTimeDesc;
extern TDataDescStruct const ChannelStIndexDesc;
extern TDataDescStruct const ClearStatCmdDesc;
@ -237,8 +238,11 @@ extern TDataDescStruct const MakeSyncDesc;
extern TDataDescStruct const CounterChannelCardDesc;
extern TDataDescStruct const CounterCardDesc;
extern TDataDescStruct const CounterAbonementDesc;
extern TDataDescStruct const CounterChannelCardLongDesc;
extern TDataDescStruct const CounterChannelAbonementLongDesc;
extern TDataDescStruct const CounterLongCardDesc;
extern TDataDescStruct const CounterLongAbonementDesc;
extern int ReadPrecheckText(char *buf, int i);
extern void OnChangeInitByDefault(void);

View File

@ -443,16 +443,15 @@ const TMenuLine line_ChannelCountersMenu_3 = {
NULL // ïàíåëü äëÿ ïåðåõîäà
};
/*
const TMenuLine line_ChannelCountersMenu_4 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterChannelTimeDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
(void*)&CounterChannelAbonementDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
*/
const TMenuLineArray arr_ChannelCountersArray[] = {&line_ChannelCountersMenu_0, &line_ChannelCountersMenu_1, &line_ChannelCountersMenu_2, &line_ChannelCountersMenu_3, NULL};
const TMenuPanel ChannelCountersPanel[] = {arr_ChannelCountersArray, NULL, 4, MENU_PANEL_STATIC};
const TMenuLineArray arr_ChannelCountersArray[] = {&line_ChannelCountersMenu_0, &line_ChannelCountersMenu_1, &line_ChannelCountersMenu_2, &line_ChannelCountersMenu_3, &line_ChannelCountersMenu_4, NULL};
const TMenuPanel ChannelCountersPanel[] = {arr_ChannelCountersArray, NULL, 5, MENU_PANEL_STATIC};
/***********************************
@ -526,6 +525,13 @@ const TMenuLine line_CommonCountersMenu_2 = {
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_CommonCountersMenu_3 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterAbonementDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
#elif defined(BOARD_SOLARIUM_WEB)
const TMenuLine line_CommonCountersMenu_1 = {
@ -545,8 +551,8 @@ const TMenuLine line_CommonCountersMenu_2 = {
#endif
const TMenuLineArray arr_CommonCountersArray[] = {&line_CommonCountersMenu_0, &line_CommonCountersMenu_1, &line_CommonCountersMenu_2, NULL};
const TMenuPanel CommonCountersPanel[] = {arr_CommonCountersArray, NULL, 3, MENU_PANEL_STANDARD};
const TMenuLineArray arr_CommonCountersArray[] = {&line_CommonCountersMenu_0, &line_CommonCountersMenu_1, &line_CommonCountersMenu_2, &line_CommonCountersMenu_3, NULL};
const TMenuPanel CommonCountersPanel[] = {arr_CommonCountersArray, NULL, 4, MENU_PANEL_STANDARD};
/***********************************
ÌÅÍÞ ÎÁÙÀß ÑÒÀÒÈÑÒÈÊÀ ÄËÈÍÍÛÅ Ñ×ÅÒ×ÈÊÈ
@ -576,6 +582,13 @@ const TMenuLine line_CommonCountersLongMenu_2 = {
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_CommonCountersLongMenu_3 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterLongAbonementDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
#elif defined(BOARD_SOLARIUM_WEB)
const TMenuLine line_CommonCountersLongMenu_1 = {
@ -595,8 +608,8 @@ const TMenuLine line_CommonCountersLongMenu_2 = {
#endif
const TMenuLineArray arr_CommonCountersLongArray[] = {&line_CommonCountersLongMenu_0, &line_CommonCountersLongMenu_1, &line_CommonCountersLongMenu_2, NULL};
const TMenuPanel CommonCountersLongPanel[] = {arr_CommonCountersLongArray, NULL, 3, MENU_PANEL_STANDARD};
const TMenuLineArray arr_CommonCountersLongArray[] = {&line_CommonCountersLongMenu_0, &line_CommonCountersLongMenu_1, &line_CommonCountersLongMenu_2, &line_CommonCountersLongMenu_3, NULL};
const TMenuPanel CommonCountersLongPanel[] = {arr_CommonCountersLongArray, NULL, 4, MENU_PANEL_STANDARD};
/***********************************
ÌÅÍÞ ÍÀÑÒÐÎÉÊÈ
@ -2584,8 +2597,15 @@ const TMenuLine line_ChannelCountersLongMenu_3 = {
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLineArray arr_ChannelCountersLongArray[] = {&line_ChannelCountersLongMenu_0, &line_ChannelCountersLongMenu_1, &line_ChannelCountersLongMenu_2, &line_ChannelCountersLongMenu_3, NULL};
const TMenuPanel ChannelCountersLongPanel[] = {arr_ChannelCountersLongArray, NULL, 4, MENU_PANEL_STANDARD};
const TMenuLine line_ChannelCountersLongMenu_4 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterChannelAbonementLongDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLineArray arr_ChannelCountersLongArray[] = {&line_ChannelCountersLongMenu_0, &line_ChannelCountersLongMenu_1, &line_ChannelCountersLongMenu_2, &line_ChannelCountersLongMenu_3, &line_ChannelCountersLongMenu_4, NULL};
const TMenuPanel ChannelCountersLongPanel[] = {arr_ChannelCountersLongArray, NULL, 5, MENU_PANEL_STANDARD};
#if defined(BOARD_SOLARIUM_WEB)
@ -3311,8 +3331,6 @@ const TMenuPanel SolarChannelsCountersPanel[] = {arr_SolarChannelsCountersArray,
/***********************************
ÌÅÍÞ ñ÷åò÷èêîâ ïî àáîíåìåíòàì
***********************************/
const CPU_INT08U str_AbonementCounters_0[] = "ÑÁÐÎÑ Ñ×ÅÒ×ÈÊÎÂ";
const TMenuLine line_AbonementsCountersMenu_0 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
MENU_FIXED_LINE|MENU_INDEX_LINE, // äîï. ôëàãè

View File

@ -25,7 +25,7 @@ if not "%~1" == "" goto debugFile
@echo on
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
@echo off
goto end
@ -34,7 +34,7 @@ goto end
@echo on
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" "--debug_file=%~1" --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" "--debug_file=%~1" --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
@echo off
:end

View File

@ -23,9 +23,9 @@
if ($debugfile -eq "")
{
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
}
else
{
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --debug_file=$debugfile --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --debug_file=$debugfile --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
}

View File

@ -2,7 +2,7 @@
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\arm\bin\armJLINK.dll"
"C:\git_work\solarium.vlad\Solarium Vlad\Exe\sk_mlpc2368.out"
"C:\work\solarium.vlad\Solarium Vlad\Exe\sk_mlpc2368.out"
--plugin="C:\Program Files\IAR Systems\Embedded Workbench 9.0\arm\bin\armbat.dll"

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff