mirror of
https://github.com/dimoniche/solarium.vlad.git
synced 2026-01-30 04:53:30 +03:00
7656 lines
349 KiB
C
7656 lines
349 KiB
C
#include <includes.h>
|
||
#include "data.h"
|
||
#include "datadesc.h"
|
||
#include "menu.h"
|
||
#include "menudesc.h"
|
||
#include "fram_map.h"
|
||
#include <stdlib.h>
|
||
#include <stdio.h>
|
||
#include <string.h>
|
||
#include <stddef.h>
|
||
#include "control.h"
|
||
#include "fiscal.h"
|
||
#include "time.h"
|
||
#include "CRC16.h"
|
||
#include "modem_task.h"
|
||
#include "modem.h"
|
||
#include "keyboard.h"
|
||
#include "fram.h"
|
||
#include "host_app.h"
|
||
#include "music_tsk.h"
|
||
#include "score_tsk.h"
|
||
#include "mode.h"
|
||
#include "ftp_app.h"
|
||
|
||
extern CPU_INT32U modem_status;
|
||
extern CPU_INT08U start_pass_ok;
|
||
extern int player_conn;
|
||
extern void PlayMusicFile(int file_index);
|
||
|
||
/*************************************
|
||
Èíäåêñ êàíàëà
|
||
*************************************/
|
||
CPU_INT32U ChannelIndex=0;
|
||
TRangeValueULONG const ChannelIndexRange = {0, CHANNELS_NUM-1};
|
||
#if defined(BOARD_SOLARIUM_VLAD)
|
||
CPU_INT08U const ChannelIndexName[] = " ÑÎËßÐÈé";
|
||
#else
|
||
CPU_INT08U const ChannelIndexName[] = " ÏÎÑÒ";
|
||
#endif
|
||
CPU_INT08U const* ChannelItems[] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
|
||
|
||
void OnChangeChannelIndex()
|
||
{
|
||
#if defined(BOARD_CENTRAL_CARWASH)
|
||
PostUserEvent(EVENT_REREAD_SIGNAL_LEVEL);
|
||
#endif
|
||
}
|
||
|
||
TDataDescStruct const ChannelIndexDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&ChannelIndex, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ChannelIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeChannelIndex, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ChannelIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ChannelItems, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Èíäåêñ êàíàëà â ìåíþ êàíàëüíîé ñòàòèñòèè
|
||
*************************************/
|
||
CPU_INT08U const ChannelStIndexName[] = "ÊÎÐ.Ñ×.ÏÎÑÒ";
|
||
|
||
TDataDescStruct const ChannelStIndexDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&ChannelIndex, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ChannelIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ChannelStIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ChannelItems, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Èíäåêñ êàíàëà â ìåíþ êàíàëüíîé ñòàòèñòèè
|
||
*************************************/
|
||
CPU_INT08U const ChannelStLongIndexName[] = "ÄË.Ñ×.ÊÀÍÀË";
|
||
|
||
TDataDescStruct const ChannelStLongIndexDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&ChannelIndex, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ChannelIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ChannelStLongIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ChannelItems, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Ïîñëåäíåå âðåìÿ îòïðàâêè email
|
||
*************************************/
|
||
extern TRangeValueULONG const WorkTimeRange;
|
||
|
||
TDataDescStruct const LastEmailSendTime = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, LastEmailTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&WorkTimeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Âêëþ÷åíèå êàíàëà
|
||
*************************************/
|
||
TRangeValueULONG const EnableChannelRange = {0, 1};
|
||
CPU_INT08U const EnableChannelName[] = "Âêëþ÷èòü";
|
||
CPU_INT08U const EnableChannelList_str0[] = "íåò";
|
||
CPU_INT08U const EnableChannelList_str1[] = "äà";
|
||
CPU_INT08U const *EnableChannelList[] = {EnableChannelList_str0, EnableChannelList_str1};
|
||
|
||
|
||
TDataDescStruct const EnableChannelDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.Enable), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableChannelRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
EnableChannelName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnableChannelList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
IP-àäðåñ ïîñòà
|
||
*************************************/
|
||
CPU_INT08U const PostIpAddrName[] = "IP";
|
||
|
||
TDataDescStruct const PostIpAddrDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_IP_ADDR, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.post_ip), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PostIpAddrName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0xC0A80065
|
||
};
|
||
|
||
/*************************************
|
||
Ñòàòóñ ñâÿçè ñ ïîñòîì
|
||
*************************************/
|
||
CPU_INT08U const PostIpStatusName[] = "Ñòàòóñ";
|
||
TRangeValueULONG const PostIpStatusNameRange = {0, 1};
|
||
CPU_INT08U const PostIpStatusNameList_str0[] = "îôôëàéí";
|
||
CPU_INT08U const PostIpStatusNameList_str1[] = "îíëàéí";
|
||
CPU_INT08U const *PostIpStatusNameList[] = {PostIpStatusNameList_str0, PostIpStatusNameList_str1};
|
||
CPU_INT32U PostStatus[CHANNELS_NUM];
|
||
|
||
TDataDescStruct const PostIpStatusDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&PostStatus, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PostIpStatusNameRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PostIpStatusName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
(void*)&PostIpStatusNameList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
IP-àäðåñ áàíêîâñêîãî òåðìèíàëà
|
||
*************************************/
|
||
CPU_INT08U const TerminalIpAddrName[] = "IP";
|
||
|
||
TDataDescStruct const TerminalIpAddrDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_IP_ADDR, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
1, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.terminal_ip), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
TerminalIpAddrName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0xC0A8006E
|
||
};
|
||
|
||
/*************************************
|
||
Èñïîëüçîâàòü çàïðåò âûáîðà ïîñòà
|
||
*************************************/
|
||
TRangeValueULONG const SelectProtectNameRange = {0, 1};
|
||
CPU_INT08U const SelectProtectNameName[] = "Çàïðåò âûáîðà";
|
||
CPU_INT08U const SelectProtectNameList_str0[] = "íåò";
|
||
CPU_INT08U const SelectProtectNameList_str1[] = "äà";
|
||
CPU_INT08U const *SelectProtectNameList[] = {SelectProtectNameList_str0, SelectProtectNameList_str1};
|
||
|
||
|
||
TDataDescStruct const SelectProtectDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.select_protect), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SelectProtectNameRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SelectProtectNameName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
SelectProtectNameList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
1
|
||
};
|
||
|
||
/*************************************
|
||
Öåíà èìïóëüñà êîíòðîëëåðà ÏÎÑÒÀ
|
||
*************************************/
|
||
TRangeValueULONG const PostImpCostRange = {1, 9999};
|
||
CPU_INT08U const PostImpCostName[] = "Ðóá./èìï.";
|
||
|
||
TDataDescStruct const PostImpCostDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.imp_cost), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PostImpCostRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PostImpCostName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
10 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Äëèíà èìïóëüñà êîíòðîëëåðà ÏÎÑÒÀ
|
||
*************************************/
|
||
TRangeValueULONG const PostImpLenRange = {1, 9999};
|
||
CPU_INT08U const PostImpLenName[] = "Äë.èìï.,ìñ";
|
||
|
||
TDataDescStruct const PostLenCostDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.imp_len), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PostImpLenRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PostImpLenName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
50 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Äëèíà ïàóçû èìïóëüñà êîíòðîëëåðà ÏÎÑÒÀ
|
||
*************************************/
|
||
TRangeValueULONG const PostImpPauseLenRange = {0, 9999};
|
||
CPU_INT08U const PostImpPauseLenName[] = "Äë.ïàóçû,ìñ";
|
||
|
||
TDataDescStruct const PostPauseLenCostDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.pause_len), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PostImpPauseLenRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PostImpPauseLenName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
150 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Ïàóçà äî âûäà÷è èìïóëüñîâ êîíòðîëëåðà ÏÎÑÒÀ
|
||
*************************************/
|
||
TRangeValueULONG const PostPauseRange = {0, 60};
|
||
CPU_INT08U const PostPauseName[] = "Ïàóçà";
|
||
|
||
TDataDescStruct const PostPauseDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.pause), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PostPauseRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PostPauseName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Öåíà ìèíóòû
|
||
*************************************/
|
||
TRangeValueULONG const PostMinutePriceRange = {1, 999};
|
||
CPU_INT08U const PostMinutePriceName[] = "Ñòîèì.ìèí.";
|
||
|
||
TDataDescStruct const PostMinutePriceDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.minute_cost), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PostMinutePriceRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PostMinutePriceName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
20 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Íàçâàíèå êàíàëà
|
||
*************************************/
|
||
TRangeValueULONG const NameChannelRange = {0, 2};
|
||
CPU_INT08U const NameChannelName[] = "Íàçâàíèå";
|
||
CPU_INT08U const NameChannelList_str0[] = "#";
|
||
CPU_INT08U const NameChannelList_str1[] = "Ñîëÿðèé";
|
||
CPU_INT08U const NameChannelList_str2[] = "Óñòðîéñòâî";
|
||
CPU_INT08U const *NameChannelList[] = {NameChannelList_str0, NameChannelList_str1, NameChannelList_str2};
|
||
|
||
|
||
TDataDescStruct const NameChannelDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.Name), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&NameChannelRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NameChannelName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NameChannelList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Íàçâàíèå êíîïêè ÑÒÀÐÒ (ÑÒÀÐÒ èëè ÏÓÑÊ)
|
||
*************************************/
|
||
TRangeValueULONG const StartButtonNameRange = {0, 1};
|
||
CPU_INT08U const StartButtonNameName[] = "Êíîïêà";
|
||
CPU_INT08U const StartButtonNameList_str0[] = "ÑÒÀÐÒ";
|
||
CPU_INT08U const StartButtonNameList_str1[] = "ÏÓÑÊ";
|
||
CPU_INT08U const *StartButtonNameList[] = {StartButtonNameList_str0, StartButtonNameList_str1};
|
||
|
||
|
||
TDataDescStruct const StartButtonNameDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, StartButtonName), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&StartButtonNameRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
StartButtonNameName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
StartButtonNameList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Âêëþ÷åíèå êóïþðîïðèåìíèêà
|
||
*************************************/
|
||
TRangeValueULONG const EnableValidatorRange = {0, 1};
|
||
CPU_INT08U const EnableValidatorName[] = "Êóïþðîïð-ê";
|
||
CPU_INT08U const OnOffList_str0[] = "âûêë.";
|
||
CPU_INT08U const OnOffList_str1[] = "âêë.";
|
||
CPU_INT08U const *EnableValidatorList[] = {OnOffList_str0, OnOffList_str1};
|
||
|
||
|
||
TDataDescStruct const EnableValidatorDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.EnableValidator), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableValidatorRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
EnableValidatorName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnableValidatorList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Âêëþ÷åíèå ìîäåìà
|
||
*************************************/
|
||
TRangeValueULONG const EnableModemRange = {0, 1};
|
||
CPU_INT08U const EnableModemName[] = "Ìîäåì";
|
||
CPU_INT08U const *EnableModemList[] = {OnOffList_str0, OnOffList_str1};
|
||
|
||
void OnchangeEnableModem(void)
|
||
{
|
||
CPU_INT32U en = 0;
|
||
GetData(&EnableModemDesc, &en, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
|
||
if (en)
|
||
{
|
||
if (!IsModemConn())
|
||
{
|
||
modem_status = 2;
|
||
}
|
||
else if (!IsModemConf())
|
||
{
|
||
modem_status = 1;
|
||
}
|
||
PostModemTask(MODEM_TASK_RECONNECT);
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const EnableModemDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.EnableModem), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableModemRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnchangeEnableModem, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
EnableModemName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnableModemList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Âêëþ÷èòü îïîâåùåíèå îá îøèáêàõ ïî e-mail
|
||
*************************************/
|
||
TRangeValueULONG const EnableEmailErrorSendRange = {0, 1};
|
||
CPU_INT08U const EnableEmailErrorSendName[] = "Îïîâ.îá îø.";
|
||
CPU_INT08U const *EnableEmailErrorSendList[] = {OnOffList_str0, OnOffList_str1};
|
||
|
||
TDataDescStruct const EnableEmailErrorSendDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.EnableEmailErrorSend), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableEmailErrorSendRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
EnableEmailErrorSendName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnableEmailErrorSendList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Ñòàòóñ ïîäêëþ÷åíèÿ ìîäåìà
|
||
*************************************/
|
||
CPU_INT08U const ModemStatusName[] = "Ñòàòóñ";
|
||
CPU_INT08U const ModemStatusList_str0[] = "OK";
|
||
CPU_INT08U const ModemStatusList_str1[] = "Îø.êîíô.";
|
||
CPU_INT08U const ModemStatusList_str2[] = "Íåò ñâÿçè";
|
||
CPU_INT08U const *ModemStatusList[] = {ModemStatusList_str0, ModemStatusList_str1, ModemStatusList_str2};
|
||
|
||
TDataDescStruct const ModemStatusDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&modem_status, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ModemStatusName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ModemStatusList,// óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Âêëþ÷èòü îòïðàâêó æóðíàëîâ ïî e-mail
|
||
*************************************/
|
||
CPU_INT08U const EnableEmailJournalSendName[] = "Îòïð.æóðíàëû";
|
||
|
||
TDataDescStruct const EnableEmailJournalSendDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.EnableEmailJournalSend), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableEmailErrorSendRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
EnableEmailJournalSendName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnableEmailErrorSendList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Î÷èùàòü æóðíàë ïîñëå îòïðàâêè ïî e-mail ÍÅ ÈÑÏÎËÜÇÓÅÒÑß
|
||
*************************************/
|
||
CPU_INT08U const ClearJournalAfterSendName[] = "Î÷.æóðíàëû";
|
||
|
||
TDataDescStruct const ClearJournalAfterSendDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.ClearJournalAfterSend), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableEmailErrorSendRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ClearJournalAfterSendName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnableEmailErrorSendList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Âðåìÿ îòïðàâêè ñòàòèñòèêè, ÷àñ : ìèí
|
||
*************************************/
|
||
TRangeValueULONG const StatSendHourRange = {0, 60*24 - 1};
|
||
CPU_INT08U const StatSendHourName[] = "Tîòïð.";
|
||
|
||
TDataDescStruct const StatSendHourMinDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_HOUR_MIN, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.StatSendHourMin), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&StatSendHourRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
StatSendHourName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
9
|
||
};
|
||
|
||
/*************************************
|
||
Âêëþ÷åíèå ìîíåòîïðèåìíèêà
|
||
*************************************/
|
||
TRangeValueULONG const EnableCoinRange = {0, 1};
|
||
CPU_INT08U const EnableCoinName[] = "Ìîíåòîïð-ê";
|
||
CPU_INT08U const *EnableCoinList[] = {OnOffList_str0, OnOffList_str1};
|
||
|
||
void OnchangeEnableCoin(void)
|
||
{
|
||
}
|
||
|
||
TDataDescStruct const EnableCoinDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.EnableCoinAcceptor), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableCoinRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnchangeEnableCoin, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
EnableCoinName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnableCoinList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Âêëþ÷åíèå àáîíåìåíòà
|
||
*************************************/
|
||
TRangeValueULONG const EnableAbonementRange = {0, 1};
|
||
CPU_INT08U const EnableAbonementName[] = "Àáîíåìåíò";
|
||
CPU_INT08U const *EnableAbonementList[] = {OnOffList_str0, OnOffList_str1};
|
||
|
||
void OnchangeEnableAbonement(void)
|
||
{
|
||
}
|
||
|
||
TDataDescStruct const EnableAbonementDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.EnableAbonementAcceptor), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableAbonementRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnchangeEnableAbonement, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
EnableAbonementName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnableAbonementList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Öåíà èìïóëüñà ìîíåòîïðèåìíèêà
|
||
*************************************/
|
||
TRangeValueULONG const CoinPerPulseRange = {1, 9999};
|
||
CPU_INT08U const CoinPerPulseName[] = "Ðóá./èìï.";
|
||
|
||
TDataDescStruct const CoinPerPulseDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.CoinPerPulse), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&CoinPerPulseRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CoinPerPulseName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
10 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Äëèíà èìïóëüñà ìîíåòîïðèåìíèêà
|
||
*************************************/
|
||
TRangeValueULONG const CoinPulseLenRange = {10, 1000};
|
||
CPU_INT08U const CoinPulseLenName[] = "Äëèíà èìï.,ìñ";
|
||
|
||
TDataDescStruct const CoinPulseLenDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, CoinPulseLen), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&CoinPulseLenRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CoinPulseLenName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
50 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
char const CoinPulseLenDescId[] = "CoinPulseLenDesc";
|
||
|
||
/*************************************
|
||
Äëèíà ïàóçû ìîíåòîïðèåìíèêà
|
||
*************************************/
|
||
TRangeValueULONG const CoinPauseLenRange = {5, 1000};
|
||
CPU_INT08U const CoinPauseLenName[] = "Äëèíà ïàóçû,ìñ";
|
||
|
||
TDataDescStruct const CoinPauseLenDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, CoinPauseLen), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&CoinPauseLenRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CoinPauseLenName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
20 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
char const CoinPauseLenDescId[] = "CoinPauseLenDesc";
|
||
|
||
/*************************************
|
||
Äîïóñê äëèíû èìïóëüñà ìîíåòîïðèåìíèêà
|
||
*************************************/
|
||
TRangeValueULONG const CoinPulseDeltaRange = {10, 1000};
|
||
CPU_INT08U const CoinPulseDeltaName[] = "Äîïóñê,ìñ";
|
||
|
||
TDataDescStruct const CoinPulseDeltaDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, CoinPulseDelta), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&CoinPulseDeltaRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CoinPulseDeltaName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
20 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
char const CoinPulseDeltaDescId[] = "CoinPulseDeltaDesc";
|
||
|
||
/*************************************
|
||
Âêëþ÷åíèå ÔÐ
|
||
*************************************/
|
||
TRangeValueULONG const EnableFiscalRange = {0, 1};
|
||
CPU_INT08U const EnableFiscalName[] = "ÔÐ";
|
||
CPU_INT08U const *EnableFiscalList[] = {OnOffList_str0, OnOffList_str1};
|
||
|
||
TDataDescStruct const EnableFiscalDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.EnableFiscal), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableFiscalRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
EnableFiscalName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnableFiscalList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Èãíîð îøèáîê ÔÐ
|
||
*************************************/
|
||
TRangeValueULONG const DisableFiscalErrorsRange = {0, 1};
|
||
CPU_INT08U const DisableFiscalErrorsName[] = "Èãíîðèð.îø.ÔÐ";
|
||
CPU_INT08U const DisableFiscalErrorsList_str0[] = "íåò";
|
||
CPU_INT08U const DisableFiscalErrorsList_str1[] = "äà";
|
||
CPU_INT08U const *DisableFiscalErrorsList[] = {DisableFiscalErrorsList_str0, DisableFiscalErrorsList_str1};
|
||
|
||
TDataDescStruct const DisableFiscalErrorsDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.DisableFiscalErrors), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DisableFiscalErrorsRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DisableFiscalErrorsName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
DisableFiscalErrorsList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Âðåìÿ èäóùåãî ñåàíñà
|
||
*************************************/
|
||
CPU_INT32U WorkTime[CHANNELS_NUM];
|
||
TRangeValueULONG const WorkTimeRange = {0, 0xffffffffL};
|
||
CPU_INT08U const WorkTimeName[] = "Âð.ðàáîòû";
|
||
|
||
TDataDescStruct const WorkTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&WorkTime, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&WorkTimeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
WorkTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Òàéì-àóò ïåðåä çàïóñêîì ïîêàíàëüíî
|
||
*************************************/
|
||
TRangeValueULONG const TimeOutBeforeRange = {0, 999};
|
||
CPU_INT08U const TimeOutBeforeName[] = "Ïàóçà äî,ñåê.";
|
||
|
||
TDataDescStruct const TimeOutBeforeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.TimeOutBefore), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&TimeOutBeforeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
TimeOutBeforeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
30
|
||
};
|
||
|
||
/*************************************
|
||
Òàéì-àóò ïîñëå ðàáîòû ïîêàíàëüíî
|
||
*************************************/
|
||
TRangeValueULONG const TimeOutAfterRange = {0, 99};
|
||
CPU_INT08U const TimeOutAfterName[] = "Ïàóçà ïîñëå,ìèí.";
|
||
|
||
TDataDescStruct const TimeOutAfterDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.TimeOutAfter), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&TimeOutAfterRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
TimeOutAfterName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
3
|
||
};
|
||
|
||
/*************************************
|
||
Ìàêñèìàëüíîå âðåìÿ ïîêàíàëüíî, ìèí.
|
||
*************************************/
|
||
TRangeValueULONG const MaxWorkTimeRange = {1, 999};
|
||
CPU_INT08U const MaxWorkTimeName[] = "Tmax,ìèí.";
|
||
|
||
TDataDescStruct const MaxWorkTimeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.MaxWorkTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&MaxWorkTimeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
MaxWorkTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
20
|
||
};
|
||
|
||
/*************************************
|
||
Ìèíèìàëüíîå âðåìÿ ïîêàíàëüíî, ìèí.
|
||
*************************************/
|
||
TRangeValueULONG const MinWorkTimeRange = {1, 999};
|
||
CPU_INT08U const MinWorkTimeName[] = "Tmin,ìèí.";
|
||
|
||
TDataDescStruct const MinWorkTimeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.MinWorkTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&MinWorkTimeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
MinWorkTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
5
|
||
};
|
||
|
||
/*************************************
|
||
Íàñòðîéêà âûõîäíûõ
|
||
*************************************/
|
||
TRangeValueULONG const WeekEndRange = {0, 4};
|
||
CPU_INT08U const WeekEndName[] = "Âûõîäíûå:";
|
||
CPU_INT08U const WeekEndList_str0[] = "íåò";
|
||
CPU_INT08U const WeekEndList_str1[] = "ïò-âñ";
|
||
CPU_INT08U const WeekEndList_str2[] = "ñá-âñ";
|
||
CPU_INT08U const WeekEndList_str3[] = "ïò-ñá";
|
||
CPU_INT08U const WeekEndList_str4[] = "ïò-ïí";
|
||
CPU_INT08U const *WeekEndList[] = {WeekEndList_str0, WeekEndList_str1, WeekEndList_str2, WeekEndList_str3, WeekEndList_str4, NULL};
|
||
|
||
TDataDescStruct const WeekEndDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.WeekEnd), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&WeekEndRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
WeekEndName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
WeekEndList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Íàñòðîéêà îòëîæåííîãî ñòàðòà
|
||
*************************************/
|
||
TRangeValueULONG const DeferredStartRange = {0, 1};
|
||
CPU_INT08U const DeferredStartName[] = "Îòëîæ.ñòàðò";
|
||
CPU_INT08U const DeferredStart_str0[] = "íåò";
|
||
CPU_INT08U const DeferredStart_str1[] = "äà";
|
||
CPU_INT08U const *DeferredStartList[] = {DeferredStart_str0, DeferredStart_str1, NULL};
|
||
|
||
TDataDescStruct const DeferredStartDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DefferedStartEnabled), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DeferredStartRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DeferredStartName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
DeferredStartList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Èíäåêñ ïðè íàñòðîéêå öåí
|
||
*************************************/
|
||
TRangeValueULONG const PeriodIndexRange = {0, 0xffffffff/*CHANNELS_NUM*PRICE_PERIODS_NUM-1*/};
|
||
CPU_INT08U const PeriodIndexName[] = "";
|
||
CPU_INT08U const *PeriodWeekendIndexList[] = {
|
||
"ÊÀÍ.1 ÏÅÐ.1 ÂÛÕ.",
|
||
"ÊÀÍ.1 ÏÅÐ.2 ÂÛÕ.",
|
||
"ÊÀÍ.1 ÏÅÐ.3 ÂÛÕ.",
|
||
"ÊÀÍ.1 ÏÅÐ.4 ÂÛÕ.",
|
||
"ÊÀÍ.2 ÏÅÐ.1 ÂÛÕ.",
|
||
"ÊÀÍ.2 ÏÅÐ.2 ÂÛÕ.",
|
||
"ÊÀÍ.2 ÏÅÐ.3 ÂÛÕ.",
|
||
"ÊÀÍ.2 ÏÅÐ.4 ÂÛÕ.",
|
||
"ÊÀÍ.3 ÏÅÐ.1 ÂÛÕ.",
|
||
"ÊÀÍ.3 ÏÅÐ.2 ÂÛÕ.",
|
||
"ÊÀÍ.3 ÏÅÐ.3 ÂÛÕ.",
|
||
"ÊÀÍ.3 ÏÅÐ.4 ÂÛÕ.",
|
||
"ÊÀÍ.4 ÏÅÐ.1 ÂÛÕ.",
|
||
"ÊÀÍ.4 ÏÅÐ.2 ÂÛÕ.",
|
||
"ÊÀÍ.4 ÏÅÐ.3 ÂÛÕ.",
|
||
"ÊÀÍ.4 ÏÅÐ.4 ÂÛÕ.",
|
||
"ÊÀÍ.5 ÏÅÐ.1 ÂÛÕ.",
|
||
"ÊÀÍ.5 ÏÅÐ.2 ÂÛÕ.",
|
||
"ÊÀÍ.5 ÏÅÐ.3 ÂÛÕ.",
|
||
"ÊÀÍ.5 ÏÅÐ.4 ÂÛÕ.",
|
||
"ÊÀÍ.6 ÏÅÐ.1 ÂÛÕ.",
|
||
"ÊÀÍ.6 ÏÅÐ.2 ÂÛÕ.",
|
||
"ÊÀÍ.6 ÏÅÐ.3 ÂÛÕ.",
|
||
"ÊÀÍ.6 ÏÅÐ.4 ÂÛÕ.",
|
||
"ÊÀÍ.7 ÏÅÐ.1 ÂÛÕ.",
|
||
"ÊÀÍ.7 ÏÅÐ.2 ÂÛÕ.",
|
||
"ÊÀÍ.7 ÏÅÐ.3 ÂÛÕ.",
|
||
"ÊÀÍ.7 ÏÅÐ.4 ÂÛÕ.",
|
||
"ÊÀÍ.8 ÏÅÐ.1 ÂÛÕ.",
|
||
"ÊÀÍ.8 ÏÅÐ.2 ÂÛÕ.",
|
||
"ÊÀÍ.8 ÏÅÐ.3 ÂÛÕ.",
|
||
"ÊÀÍ.8 ÏÅÐ.4 ÂÛÕ.",
|
||
"ÊÀÍ.9 ÏÅÐ.1 ÂÛÕ.",
|
||
"ÊÀÍ.9 ÏÅÐ.2 ÂÛÕ.",
|
||
"ÊÀÍ.9 ÏÅÐ.3 ÂÛÕ.",
|
||
"ÊÀÍ.9 ÏÅÐ.4 ÂÛÕ.",
|
||
"ÊÀÍ.10 ÏÅÐ.1 ÂÛÕ.",
|
||
"ÊÀÍ.10 ÏÅÐ.2 ÂÛÕ.",
|
||
"ÊÀÍ.10 ÏÅÐ.3 ÂÛÕ.",
|
||
"ÊÀÍ.10 ÏÅÐ.4 ÂÛÕ.",
|
||
NULL};
|
||
|
||
CPU_INT32U PeriodIndex = 0;
|
||
|
||
void OnChangePeriodIndex(void)
|
||
{
|
||
if ((PeriodIndex == 0xffffffff) || (PeriodIndex < ChannelIndex*PRICE_PERIODS_NUM)) PeriodIndex = (ChannelIndex+1)*PRICE_PERIODS_NUM-1;
|
||
else if (PeriodIndex >= (ChannelIndex+1)*PRICE_PERIODS_NUM) PeriodIndex = (ChannelIndex)*PRICE_PERIODS_NUM;
|
||
}
|
||
|
||
TDataDescStruct const PeriodWeekendIndexDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&PeriodIndex, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PeriodIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangePeriodIndex, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PeriodIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
PeriodWeekendIndexList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
CPU_INT08U const *PeriodWeekdaysIndexList[] = {
|
||
"ÊÀÍ.1 ÏÅÐ.1 ÁÓÄ.",
|
||
"ÊÀÍ.1 ÏÅÐ.2 ÁÓÄ.",
|
||
"ÊÀÍ.1 ÏÅÐ.3 ÁÓÄ.",
|
||
"ÊÀÍ.1 ÏÅÐ.4 ÁÓÄ.",
|
||
"ÊÀÍ.2 ÏÅÐ.1 ÁÓÄ.",
|
||
"ÊÀÍ.2 ÏÅÐ.2 ÁÓÄ.",
|
||
"ÊÀÍ.2 ÏÅÐ.3 ÁÓÄ.",
|
||
"ÊÀÍ.2 ÏÅÐ.4 ÁÓÄ.",
|
||
"ÊÀÍ.3 ÏÅÐ.1 ÁÓÄ.",
|
||
"ÊÀÍ.3 ÏÅÐ.2 ÁÓÄ.",
|
||
"ÊÀÍ.3 ÏÅÐ.3 ÁÓÄ.",
|
||
"ÊÀÍ.3 ÏÅÐ.4 ÁÓÄ.",
|
||
"ÊÀÍ.4 ÏÅÐ.1 ÁÓÄ.",
|
||
"ÊÀÍ.4 ÏÅÐ.2 ÁÓÄ.",
|
||
"ÊÀÍ.4 ÏÅÐ.3 ÁÓÄ.",
|
||
"ÊÀÍ.4 ÏÅÐ.4 ÁÓÄ.",
|
||
"ÊÀÍ.5 ÏÅÐ.1 ÁÓÄ.",
|
||
"ÊÀÍ.5 ÏÅÐ.2 ÁÓÄ.",
|
||
"ÊÀÍ.5 ÏÅÐ.3 ÁÓÄ.",
|
||
"ÊÀÍ.5 ÏÅÐ.4 ÁÓÄ.",
|
||
"ÊÀÍ.6 ÏÅÐ.1 ÁÓÄ.",
|
||
"ÊÀÍ.6 ÏÅÐ.2 ÁÓÄ.",
|
||
"ÊÀÍ.6 ÏÅÐ.3 ÁÓÄ.",
|
||
"ÊÀÍ.6 ÏÅÐ.4 ÁÓÄ.",
|
||
"ÊÀÍ.7 ÏÅÐ.1 ÁÓÄ.",
|
||
"ÊÀÍ.7 ÏÅÐ.2 ÁÓÄ.",
|
||
"ÊÀÍ.7 ÏÅÐ.3 ÁÓÄ.",
|
||
"ÊÀÍ.7 ÏÅÐ.4 ÁÓÄ.",
|
||
"ÊÀÍ.8 ÏÅÐ.1 ÁÓÄ.",
|
||
"ÊÀÍ.8 ÏÅÐ.2 ÁÓÄ.",
|
||
"ÊÀÍ.8 ÏÅÐ.3 ÁÓÄ.",
|
||
"ÊÀÍ.8 ÏÅÐ.4 ÁÓÄ.",
|
||
"ÊÀÍ.9 ÏÅÐ.1 ÁÓÄ.",
|
||
"ÊÀÍ.9 ÏÅÐ.2 ÁÓÄ.",
|
||
"ÊÀÍ.9 ÏÅÐ.3 ÁÓÄ.",
|
||
"ÊÀÍ.9 ÏÅÐ.4 ÁÓÄ.",
|
||
"ÊÀÍ.10 ÏÅÐ.1 ÁÓÄ.",
|
||
"ÊÀÍ.10 ÏÅÐ.2 ÁÓÄ.",
|
||
"ÊÀÍ.10 ÏÅÐ.3 ÁÓÄ.",
|
||
"ÊÀÍ.10 ÏÅÐ.4 ÁÓÄ.",
|
||
NULL};
|
||
TDataDescStruct const PeriodWeekdaysIndexDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&PeriodIndex, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PeriodIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangePeriodIndex, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PeriodIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
PeriodWeekdaysIndexList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Öåíà ïî âûõîäíûì
|
||
*************************************/
|
||
TRangeValueULONG const PriceWeekendRange = {1, MAX_PRICE};
|
||
CPU_INT08U const PriceWeekendName[] = "Öåíà,ðóá.";
|
||
|
||
TDataDescStruct const PriceWeekendDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM*PRICE_PERIODS_NUM, // ðàçìåð ìàññèâà
|
||
&PeriodWeekendIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.Price_Weekend), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PriceWeekendRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PriceWeekendName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
15
|
||
};
|
||
|
||
/*************************************
|
||
Öåíà ïî áóäíÿì
|
||
*************************************/
|
||
TRangeValueULONG const PriceWeekdaysRange = {1, MAX_PRICE};
|
||
CPU_INT08U const PriceWeekdaysName[] = "Öåíà,ðóá.";
|
||
|
||
TDataDescStruct const PriceWeekdaysDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM*PRICE_PERIODS_NUM, // ðàçìåð ìàññèâà
|
||
&PeriodWeekdaysIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.Price_Weekdays), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PriceWeekdaysRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PriceWeekdaysName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
15
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Âðåìÿ çà öåíó ïî âûõîäíûì
|
||
*************************************/
|
||
TRangeValueULONG const PriceTimeWeekendRange = {1, 999};
|
||
CPU_INT08U const PriceTimeWeekendName[] = "Çà âðåìÿ,ìèí.";
|
||
|
||
TDataDescStruct const PriceTimeWeekendDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM*PRICE_PERIODS_NUM, // ðàçìåð ìàññèâà
|
||
&PeriodWeekendIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.PriceTime_Weekend), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PriceTimeWeekendRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PriceTimeWeekendName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
1
|
||
};
|
||
|
||
/*************************************
|
||
Âðåìÿ çà öåíó ïî áóäíÿì
|
||
*************************************/
|
||
TRangeValueULONG const PriceTimeWeekdaysRange = {1, 999};
|
||
CPU_INT08U const PriceTimeWeekdaysName[] = "Çà âðåìÿ,ìèí.";
|
||
|
||
TDataDescStruct const PriceTimeWeekdaysDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM*PRICE_PERIODS_NUM, // ðàçìåð ìàññèâà
|
||
&PeriodWeekdaysIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.PriceTime_Weekdays), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PriceTimeWeekdaysRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PriceTimeWeekdaysName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
1
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Íà÷àëî ïåðèîäîâ ïî áóäíÿì
|
||
*************************************/
|
||
TRangeValueULONG const T_Start_WeekdaysRange = {0, 24};
|
||
CPU_INT08U const T_Start_WeekdaysName[] = "Íà÷àëî,÷";
|
||
|
||
TDataDescStruct const T_Start_WeekdaysDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM*PRICE_PERIODS_NUM, // ðàçìåð ìàññèâà
|
||
&PeriodWeekdaysIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.T_Start_Weekdays), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&T_Start_WeekdaysRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
T_Start_WeekdaysName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Êîíåö ïåðèîäîâ ïî áóäíÿì
|
||
*************************************/
|
||
TRangeValueULONG const T_End_WeekdaysRange = {0, 24};
|
||
CPU_INT08U const T_End_WeekdaysName[] = "Êîíåö,÷";
|
||
|
||
TDataDescStruct const T_End_WeekdaysDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM*PRICE_PERIODS_NUM, // ðàçìåð ìàññèâà
|
||
&PeriodWeekdaysIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.T_End_Weekdays), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&T_End_WeekdaysRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
T_End_WeekdaysName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
24
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Íà÷àëî ïåðèîäîâ ïî âûõîäíûì
|
||
*************************************/
|
||
TRangeValueULONG const T_Start_WeekendRange = {0, 24};
|
||
CPU_INT08U const T_Start_WeekendName[] = "Íà÷àëî,÷";
|
||
|
||
TDataDescStruct const T_Start_WeekendDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM*PRICE_PERIODS_NUM, // ðàçìåð ìàññèâà
|
||
&PeriodWeekendIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.T_Start_Weekend), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&T_Start_WeekendRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
T_Start_WeekendName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Êîíåö ïåðèîäîâ ïî âûõîäíûì
|
||
*************************************/
|
||
TRangeValueULONG const T_End_WeekendRange = {0, 24};
|
||
CPU_INT08U const T_End_WeekendName[] = "Êîíåö,÷";
|
||
|
||
TDataDescStruct const T_End_WeekendDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM*PRICE_PERIODS_NUM, // ðàçìåð ìàññèâà
|
||
&PeriodWeekendIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.T_End_Weekend), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&T_End_WeekendRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
T_End_WeekendName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
24
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Êîìàíäà èíèöèàëèçàöèè ïî óìîë÷àíèþ
|
||
*************************************/
|
||
CPU_INT32U InitByDefault = 0;
|
||
|
||
TRangeValueULONG const InitByDefaultRange = {0, 1};
|
||
CPU_INT08U const InitByDefaultName[] = "Èíèöèàëèçàöèÿ";
|
||
CPU_INT08U const InitByDefaultList_str0[] = "íåò";
|
||
CPU_INT08U const InitByDefaultList_str1[] = "äà";
|
||
CPU_INT08U const *InitByDefaultList[] = {InitByDefaultList_str0, InitByDefaultList_str1};
|
||
|
||
extern void ClearTerminalInfo();
|
||
|
||
void ClearPrecheckText()
|
||
{
|
||
#if defined(BOARD_CENTRAL_CARWASH)
|
||
CPU_INT16U crc_calc;
|
||
SetArrayFram((unsigned short)offsetof(TFramMap, precheck_text), PRETEXT_LINE_COUNT * 40, 0x00);
|
||
crc_calc = crc16_fram((unsigned short)offsetof(TFramMap, precheck_text), PRETEXT_LINE_COUNT * 40);
|
||
WriteArrayFram((unsigned short)offsetof(TFramMap, precheck_crc), sizeof(CPU_INT16U), (unsigned char *)&crc_calc);
|
||
#endif
|
||
}
|
||
|
||
void InitPrecheckText()
|
||
{
|
||
#if defined(BOARD_CENTRAL_CARWASH)
|
||
CPU_INT16U crc_calc, crc_read;
|
||
|
||
crc_calc = crc16_fram((unsigned short)offsetof(TFramMap, precheck_text), PRETEXT_LINE_COUNT * 40);
|
||
ReadArrayFram((unsigned short)offsetof(TFramMap, precheck_crc), sizeof(CPU_INT16U), (unsigned char *)&crc_read);
|
||
|
||
if (crc_calc != crc_read)
|
||
{
|
||
ClearPrecheckText();
|
||
}
|
||
#endif
|
||
}
|
||
|
||
int ReadPrecheckText(char *buf, int i)
|
||
{
|
||
#if defined(BOARD_CENTRAL_CARWASH)
|
||
ReadArrayFram((unsigned short)offsetof(TFramMap, precheck_text) + 40 * i, 40, (unsigned char *)buf);
|
||
buf[40] = 0;
|
||
return strlen(buf);
|
||
#else
|
||
return 0;
|
||
#endif
|
||
}
|
||
|
||
void OnChangeInitByDefault(void)
|
||
{
|
||
int i = 0;
|
||
if (InitByDefault == 0) return;
|
||
while (AllDataArray[i].ptr != NULL)
|
||
{
|
||
if (AllDataArray[i].ptr != &SystemTimeEditDesc)
|
||
InitDescByDefault(AllDataArray[i].ptr);
|
||
i++;
|
||
}
|
||
|
||
CPU_INT32U ip;
|
||
|
||
ip = 0xC0A80065;
|
||
SetData(&PostIpAddrDesc, &ip, 0, DATA_FLAG_DIRECT_INDEX);
|
||
ip = 0xC0A80066;
|
||
SetData(&PostIpAddrDesc, &ip, 1, DATA_FLAG_DIRECT_INDEX);
|
||
ip = 0xC0A80067;
|
||
SetData(&PostIpAddrDesc, &ip, 2, DATA_FLAG_DIRECT_INDEX);
|
||
ip = 0xC0A80068;
|
||
SetData(&PostIpAddrDesc, &ip, 3, DATA_FLAG_DIRECT_INDEX);
|
||
ip = 0xC0A80069;
|
||
SetData(&PostIpAddrDesc, &ip, 4, DATA_FLAG_DIRECT_INDEX);
|
||
ip = 0xC0A8006A;
|
||
SetData(&PostIpAddrDesc, &ip, 5, DATA_FLAG_DIRECT_INDEX);
|
||
ip = 0xC0A8006B;
|
||
SetData(&PostIpAddrDesc, &ip, 6, DATA_FLAG_DIRECT_INDEX);
|
||
ip = 0xC0A8006C;
|
||
SetData(&PostIpAddrDesc, &ip, 7, DATA_FLAG_DIRECT_INDEX);
|
||
|
||
ClearTerminalInfo();
|
||
|
||
CPU_INT32U money;
|
||
|
||
money = 50;
|
||
SetData(&SelectedMoneyDesc, &money, 0, DATA_FLAG_DIRECT_INDEX);
|
||
money = 100;
|
||
SetData(&SelectedMoneyDesc, &money, 1, DATA_FLAG_DIRECT_INDEX);
|
||
money = 150;
|
||
SetData(&SelectedMoneyDesc, &money, 2, DATA_FLAG_DIRECT_INDEX);
|
||
money = 200;
|
||
SetData(&SelectedMoneyDesc, &money, 3, DATA_FLAG_DIRECT_INDEX);
|
||
money = 250;
|
||
SetData(&SelectedMoneyDesc, &money, 4, DATA_FLAG_DIRECT_INDEX);
|
||
money = 300;
|
||
SetData(&SelectedMoneyDesc, &money, 5, DATA_FLAG_DIRECT_INDEX);
|
||
money = 0;
|
||
SetData(&SelectedMoneyDesc, &money, 6, DATA_FLAG_DIRECT_INDEX);
|
||
money = 0;
|
||
SetData(&SelectedMoneyDesc, &money, 7, DATA_FLAG_DIRECT_INDEX);
|
||
|
||
CPU_INT32U action;
|
||
|
||
action = KEY_ACTION_UP;
|
||
SetData(&KeyActionDesc, &action, 0, DATA_FLAG_DIRECT_INDEX);
|
||
action = KEY_ACTION_DOWN;
|
||
SetData(&KeyActionDesc, &action, 1, DATA_FLAG_DIRECT_INDEX);
|
||
action = KEY_ACTION_EMPTY;
|
||
SetData(&KeyActionDesc, &action, 2, DATA_FLAG_DIRECT_INDEX);
|
||
action = KEY_ACTION_LEFT;
|
||
SetData(&KeyActionDesc, &action, 3, DATA_FLAG_DIRECT_INDEX);
|
||
action = KEY_ACTION_RIGHT;
|
||
SetData(&KeyActionDesc, &action, 4, DATA_FLAG_DIRECT_INDEX);
|
||
action = KEY_ACTION_EMPTY;
|
||
SetData(&KeyActionDesc, &action, 5, DATA_FLAG_DIRECT_INDEX);
|
||
action = KEY_ACTION_EMPTY;
|
||
SetData(&KeyActionDesc, &action, 6, DATA_FLAG_DIRECT_INDEX);
|
||
action = KEY_ACTION_EMPTY;
|
||
SetData(&KeyActionDesc, &action, 7, DATA_FLAG_DIRECT_INDEX);
|
||
|
||
ClearPrecheckText();
|
||
|
||
#if defined(BOARD_SOLARIUM_VLAD)
|
||
|
||
for (i = 0; i < SOLAR_MODES_COUNT; i++)
|
||
{
|
||
CPU_INT32U temp32;
|
||
temp32 = 18;
|
||
SetData(&SolarLampsCountDesc, &temp32, SOLAR_MODES_COUNT * i + SOLAR_MODE_COLLATEN, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 36;
|
||
SetData(&SolarLampsCountDesc, &temp32, SOLAR_MODES_COUNT * i + SOLAR_MODE_UF, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 54;
|
||
SetData(&SolarLampsCountDesc, &temp32, SOLAR_MODES_COUNT * i + SOLAR_MODE_MAX, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 1800;
|
||
SetData(&SolarPricePerMinuteDesc, &temp32, SOLAR_MODES_COUNT * i + SOLAR_MODE_COLLATEN, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 2100;
|
||
SetData(&SolarPricePerMinuteDesc, &temp32, SOLAR_MODES_COUNT * i + SOLAR_MODE_UF, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 3900;
|
||
SetData(&SolarPricePerMinuteDesc, &temp32, SOLAR_MODES_COUNT * i + SOLAR_MODE_MAX, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 20;
|
||
SetData(&SolarMaximumTimeMinutesDesc, &temp32, SOLAR_MODES_COUNT * i + SOLAR_MODE_COLLATEN, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 16;
|
||
SetData(&SolarMaximumTimeMinutesDesc, &temp32, SOLAR_MODES_COUNT * i + SOLAR_MODE_UF, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 14;
|
||
SetData(&SolarMaximumTimeMinutesDesc, &temp32, SOLAR_MODES_COUNT * i + SOLAR_MODE_MAX, DATA_FLAG_DIRECT_INDEX);
|
||
}
|
||
|
||
CPU_INT32U temp32;
|
||
temp32 = 0;
|
||
SetData(&DiscountBeginHourDesc, &temp32, 0, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 7;
|
||
SetData(&DiscountEndHourDesc, &temp32, 0, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 8;
|
||
SetData(&DiscountBeginHourDesc, &temp32, 1, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 11;
|
||
SetData(&DiscountEndHourDesc, &temp32, 1, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 12;
|
||
SetData(&DiscountBeginHourDesc, &temp32, 2, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 19;
|
||
SetData(&DiscountEndHourDesc, &temp32, 2, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 20;
|
||
SetData(&DiscountBeginHourDesc, &temp32, 3, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 23;
|
||
SetData(&DiscountEndHourDesc, &temp32, 3, DATA_FLAG_DIRECT_INDEX);
|
||
|
||
temp32 = 1;
|
||
SetData(&ScoreRs485AddressDesc, &temp32, 0, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 2;
|
||
SetData(&ScoreRs485AddressDesc, &temp32, 1, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 3;
|
||
SetData(&ScoreRs485AddressDesc, &temp32, 2, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 16;
|
||
SetData(&ScoreRs485AddressDesc, &temp32, 3, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 19;
|
||
SetData(&ScoreRs485AddressDesc, &temp32, 4, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 22;
|
||
SetData(&ScoreRs485AddressDesc, &temp32, 5, DATA_FLAG_DIRECT_INDEX);
|
||
|
||
temp32 = 10;
|
||
SetData(&SkinCollatenMaxTimeDesc, &temp32, 0, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 20;
|
||
SetData(&SkinCollatenMaxTimeDesc, &temp32, 1, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 40;
|
||
SetData(&SkinCollatenMaxTimeDesc, &temp32, 2, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 60;
|
||
SetData(&SkinCollatenMaxTimeDesc, &temp32, 3, DATA_FLAG_DIRECT_INDEX);
|
||
|
||
temp32 = 5;
|
||
SetData(&SkinUFMaxTimeDesc, &temp32, 0, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 10;
|
||
SetData(&SkinUFMaxTimeDesc, &temp32, 1, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 18;
|
||
SetData(&SkinUFMaxTimeDesc, &temp32, 2, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 25;
|
||
SetData(&SkinUFMaxTimeDesc, &temp32, 3, DATA_FLAG_DIRECT_INDEX);
|
||
|
||
temp32 = 2;
|
||
SetData(&SkinMaximalMaxTimeDesc, &temp32, 0, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 5;
|
||
SetData(&SkinMaximalMaxTimeDesc, &temp32, 1, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 10;
|
||
SetData(&SkinMaximalMaxTimeDesc, &temp32, 2, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 15;
|
||
SetData(&SkinMaximalMaxTimeDesc, &temp32, 3, DATA_FLAG_DIRECT_INDEX);
|
||
|
||
temp32 = 0;
|
||
SetData(&SolarControlChannelDesc, &temp32, 0, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 1;
|
||
SetData(&SolarControlChannelDesc, &temp32, 1, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 2;
|
||
SetData(&SolarControlChannelDesc, &temp32, 2, DATA_FLAG_DIRECT_INDEX);
|
||
|
||
temp32 = 3000;
|
||
SetData(&AbonementMoneyDesc, &temp32, 0, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 600;
|
||
SetData(&AbonementBonusDesc, &temp32, 0, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 45;
|
||
SetData(&AbonementBestBeforeDesc, &temp32, 0, DATA_FLAG_DIRECT_INDEX);
|
||
|
||
temp32 = 6000;
|
||
SetData(&AbonementMoneyDesc, &temp32, 1, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 1800;
|
||
SetData(&AbonementBonusDesc, &temp32, 1, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 90;
|
||
SetData(&AbonementBestBeforeDesc, &temp32, 1, DATA_FLAG_DIRECT_INDEX);
|
||
|
||
temp32 = 12000;
|
||
SetData(&AbonementMoneyDesc, &temp32, 2, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 4800;
|
||
SetData(&AbonementBonusDesc, &temp32, 2, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 180;
|
||
SetData(&AbonementBestBeforeDesc, &temp32, 2, DATA_FLAG_DIRECT_INDEX);
|
||
|
||
temp32 = 24000;
|
||
SetData(&AbonementMoneyDesc, &temp32, 3, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 10800;
|
||
SetData(&AbonementBonusDesc, &temp32, 3, DATA_FLAG_DIRECT_INDEX);
|
||
temp32 = 360;
|
||
SetData(&AbonementBestBeforeDesc, &temp32, 3, DATA_FLAG_DIRECT_INDEX);
|
||
|
||
#endif
|
||
|
||
InitByDefault = 0;
|
||
}
|
||
|
||
|
||
TDataDescStruct const InitByDefaultDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&InitByDefault, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&InitByDefaultRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeInitByDefault, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
InitByDefaultName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
InitByDefaultList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Êîìàíäà âûïîëíèòü ñâåðêó
|
||
*************************************/
|
||
CPU_INT32U MakeSverkaCmd = 0;
|
||
|
||
TRangeValueULONG const MakeSverkaRange = {0, 1};
|
||
CPU_INT08U const MakeSverkaName[] = "Ñâåðêà";
|
||
CPU_INT08U const *MakeSverkaList[] = {InitByDefaultList_str0, InitByDefaultList_str1};
|
||
|
||
void OnChangeMakeSverka()
|
||
{
|
||
if (MakeSverkaCmd)
|
||
{
|
||
MakeSverkaCmd = 0;
|
||
SetTermCommand(TERM_COMMAND_MAKE_SVERKA, NULL);
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const MakeSverkaDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&MakeSverkaCmd, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&MakeSverkaRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeMakeSverka, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
MakeSverkaName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
MakeSverkaList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Êîìàíäà âûïîëíèòü ñèíõðîíèçàöèþ
|
||
*************************************/
|
||
CPU_INT32U MakeSyncCmd = 0;
|
||
|
||
CPU_INT08U const MakeSyncName[] = "Ñèíõðîíèçàöèÿ";
|
||
|
||
void OnChangeMakeSync()
|
||
{
|
||
if (MakeSyncCmd)
|
||
{
|
||
MakeSyncCmd = 0;
|
||
SetTermCommand(TERM_COMMAND_MAKE_SYNCHRO, NULL);
|
||
}
|
||
}
|
||
|
||
|
||
TDataDescStruct const MakeSyncDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&MakeSyncCmd, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&MakeSverkaRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeMakeSync, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
MakeSyncName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
MakeSverkaList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Êîìàíäà íà ïå÷àòü Z-îò÷åòà
|
||
*************************************/
|
||
CPU_INT32U PrintZReportCmd = 0;
|
||
|
||
CPU_INT08U const PrintZReportName[] = "Z-îò÷åò";
|
||
CPU_INT08U const PrintZReportList_str0[] = "íåò";
|
||
CPU_INT08U const PrintZReportList_str1[] = "ïå÷àòü";
|
||
CPU_INT08U const *PrintZReportList[] = {PrintZReportList_str0, PrintZReportList_str1};
|
||
|
||
|
||
void OnChangePrintZReportCmd(void)
|
||
{
|
||
}
|
||
|
||
TDataDescStruct const PrintZReportDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&PrintZReportCmd, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&InitByDefaultRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangePrintZReportCmd, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PrintZReportName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
PrintZReportList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Êîìàíäà íà ïå÷àòü X-îò÷åòà
|
||
*************************************/
|
||
CPU_INT32U PrintXReportCmd = 0;
|
||
|
||
CPU_INT08U const PrintXReportName[] = "X-îò÷åò";
|
||
|
||
void OnChangePrintXReportCmd(void)
|
||
{
|
||
}
|
||
|
||
TDataDescStruct const PrintXReportDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&PrintXReportCmd, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&InitByDefaultRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangePrintXReportCmd, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PrintXReportName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
PrintZReportList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Îøèáêà â æóðíàëå îøèáîê
|
||
*************************************/
|
||
TRangeValueULONG const ErrorNumberRange = {0, JOURNAL_EVENTS_COUNT - 1};
|
||
CPU_INT08U const *ErrorNumberList0[JOURNAL_EVENTS_COUNT] = {"íåò", "", "", "",
|
||
"", "", "", "",
|
||
"", "", "", "",
|
||
"", "", "", "", "", "",
|
||
"", "", "", "", "", "", "",
|
||
"îøèáêà ñâÿçè ñ",
|
||
"îøèáêà ðàáîòû",
|
||
"1Ch60h-âûáð.êóïþðû",
|
||
"1Ch61h-âûáð.êóïþðû",
|
||
"1Ch64h-âûáð.êóïþðû",
|
||
"1Ch65h-âûáð.êóïþðû",
|
||
"1Ch66h-âûáð.êóïþðû",
|
||
"1Ch67h-âûáð.êóïþðû",
|
||
"1Ch68h-âûáð.êóïþðû",
|
||
"1Ch69h-âûáð.êóïþðû",
|
||
"1Ch6Ch-âûáð.êóïþðû",
|
||
"ê/ï:41h-êàññåòà",
|
||
"ê/ï:42h-êàññåòà",
|
||
"ê/ï:43h-çàìèí â ",
|
||
"ê/ï:44h-çàìèí",
|
||
"ê/ï:45h-ïîïûòêà",
|
||
"ê/ï:50h-îøèáêà",
|
||
"ê/ï:51h-îøèáêà ñêîð.",
|
||
"ê/ï:52h-îøèáêà",
|
||
"ê/ï:53h-îøèáêà ìåõ.",
|
||
"ê/ï:54h-êàññåòà",
|
||
"ê/ï:65h-îøèáêà",
|
||
"ê/ï:66h-îøèáêà",
|
||
"ê/ï:67h-îøèáêà åìê.",
|
||
"îøèáêà",
|
||
"",
|
||
"îøèáêà",
|
||
"îøèáêà",
|
||
|
||
"ÔÐ:01h-Íåèçâåñòíàÿ",
|
||
"ÔÐ:02h-Íåâåðíîå",
|
||
"ÔÐ:03h-Îøèáêà ÔÍ",
|
||
"ÔÐ:04h-Îøèáêà ÊÑ",
|
||
"ÔÐ:05h-Çàêîí÷åí ñðîê",
|
||
"ÔÐ:06h-Àðõèâ ÔÍ",
|
||
"ÔÐ:07h-Íåâåðíûå äàòà",
|
||
"ÔÐ:08h-Íåò ",
|
||
"ÔÐ:09h-Íåêîðð.",
|
||
"ÔÐ:10h-Ïðåâûøåíèå",
|
||
"ÔÐ:11h-Íåò",
|
||
"ÔÐ:12h-Èñ÷åðïàí",
|
||
"ÔÐ:14h-Èñ÷åðïàí",
|
||
"ÔÐ:15h-Èñ÷åðïàí",
|
||
"ÔÐ:16h-Ñìåíà áîëåå",
|
||
"ÔÐ:17h-Íåâåðíàÿ",
|
||
"ÔÐ:20h-Ñîîáùåíèå",
|
||
"ÔÐ:2Fh-Òàéìàóò ",
|
||
"ÔÐ:30h-ÔÍ ",
|
||
"ÔÐ:33h-Íåêîððåêòíûå",
|
||
"ÔÐ:34h-Íåò",
|
||
"ÔÐ:35h-Íåêîððåêòíûé",
|
||
"ÔÐ:36h-Íåêîððåêòíûå",
|
||
"ÔÐ:37h-Êîìàíäà",
|
||
"ÔÐ:38h-Îøèáêà",
|
||
"ÔÐ:39h-Âíóòðåííÿÿ",
|
||
"ÔÐ:3Ah-Ïåðåïîëíåíèå",
|
||
"ÔÐ:3Ch-Ñìåíà",
|
||
"ÔÐ:3Dh-Ñìåíà",
|
||
"ÔÐ:3Eh-Ïåðåïîëíåíèå",
|
||
"ÔÐ:3Fh-Ïåðåïîëíåíèå",
|
||
"ÔÐ:40h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:41h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:42h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:43h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:44h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:45h-Cóììà",
|
||
"ÔÐ:46h-Íå õâàòàåò",
|
||
"ÔÐ:47h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:48h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:49h-Îïåð.íåâîçì.",
|
||
"ÔÐ:4Ah-Îòêðûò ÷åê",
|
||
"ÔÐ:4Bh-Áóôåð ÷åêà",
|
||
"ÔÐ:4Ch-Ïåðåïîëíåíèå",
|
||
"ÔÐ:4Dh-Âíîñèìàÿ",
|
||
"ÔÐ:4Eh-Ñìåíà",
|
||
"ÔÐ:4Fh-Íåâåðíûé ïàðîëü",
|
||
"ÔÐ:50h-Èäåò ïå÷àòü",
|
||
"ÔÐ:51h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:52h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:53h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:54h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:55h-×åê çàêðûò",
|
||
"ÔÐ:56h-Íåò äîê.",
|
||
"ÔÐ:58h-Îæèäàíèå",
|
||
"ÔÐ:59h-Äîêóìåíò",
|
||
"ÔÐ:5Bh-Ïåðåïîëíåíèå",
|
||
"ÔÐ:5Ch-Ïîíèæåíî",
|
||
"ÔÐ:5Dh-Òàáëèöà",
|
||
"ÔÐ:5Eh-Íåêîððåêòíàÿ",
|
||
"ÔÐ:5Fh-Îòðèö.",
|
||
"ÔÐ:60h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:61h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:62h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:63h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:65h-Íå õâàòàåò",
|
||
"ÔÐ:66h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:68h-Íå õâàòàåò",
|
||
"ÔÐ:69h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:6Ah-Îøèáêà",
|
||
"ÔÐ:6Bh-Íåò ÷åêîâîé",
|
||
"ÔÐ:6Ch-Íåò êîíòð.",
|
||
"ÔÐ:6Dh-Íå õâàòàåò",
|
||
"ÔÐ:6Eh-Ïåðåïîëíåíèå",
|
||
"ÔÐ:6Fh-Ïåðåïîëíåíèå",
|
||
"ÔÐ:71h-Îøèáêà",
|
||
"ÔÐ:72h-Êîìàíäà íå",
|
||
"ÔÐ:73h-Êîìàíäà íå",
|
||
"ÔÐ:74h-Îøèáêà ÎÇÓ",
|
||
"ÔÐ:75h-Îøèáêà",
|
||
"ÔÐ:77h-Ïðèíòåð:",
|
||
"ÔÐ:78h-Çàìåíà ÏÎ",
|
||
"ÔÏ:7Ah-Ïîëå íå",
|
||
"ÔÐ:7Bh-Îøèáêà",
|
||
"ÔÐ:7Ch-Íå ñîâïàäàåò",
|
||
"ÔÐ:7Dh-Íåâåðíûé",
|
||
"ÔÐ:7Eh-Íåâåðíîå",
|
||
"ÔÐ:7Fh-Ïåðåïîëíåíèå",
|
||
"ÔÐ:84h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:85h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:86h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:87h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:88h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:89h-Ïåðåïîëíåíèå",
|
||
"ÔÐ:8Ah-Ïåðåïîëíåíèå",
|
||
"ÔÐ:8Bh-Ïåðåïîëíåíèå",
|
||
"ÔÐ:8Ch-Îòðèö.",
|
||
"ÔÐ:8Dh-Îòðèöàòåëüíûé",
|
||
"ÔÐ:8Eh-Íóëåâîé èòîã",
|
||
"ÔÐ:90h-Ïîëå ïðåâ.",
|
||
"ÔÐ:91h-Âûõîä çà",
|
||
"ÔÐ:92h-Íàëîæåíèå",
|
||
"ÔÐ:93h-Âîññòàíîâëåíèå",
|
||
"ÔÐ:94h-Èñ÷åðïàí",
|
||
"ÔÐ:C0h-Êîíòðîëü",
|
||
"ÔÐ:C2h-Ïðåâûøåíèå",
|
||
"ÔÐ:C4h-Íåñîâïàäåíèå",
|
||
"ÔÐ:C7h-Ïîëå íå",
|
||
"ÔÐ:Ñ8h-Îòñóòñòâóþò"
|
||
|
||
};
|
||
|
||
TDataDescStruct const JournalErrorNumberDesc0 = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
EVENT_RECORDS_COUNT, // ðàçìåð ìàññèâà
|
||
&EventJournalIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, EventRecords[0].event), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ErrorNumberRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(TEventRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
(void*)ErrorNumberList0, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
CPU_INT08U const *ErrorNumberList1[JOURNAL_EVENTS_COUNT] = {"", "", "", "",
|
||
"", "", "", "",
|
||
"", "", "", "",
|
||
"", "", "", "", "", "",
|
||
"", "", "", "", "", "", "",
|
||
"êóïþðîïðèåìíèêîì",
|
||
"êóïþðîïðèåìíèêà",
|
||
"ïðè çàìèíå",
|
||
"ïî ìàã.äàò÷èêó",
|
||
"ïðè òðàíñïîðò.",
|
||
"ïî èäåíòèôèêàöèè",
|
||
"ïî âåðèôèêàöèè ",
|
||
"ïî îïòè÷.äàò÷èêó ",
|
||
"ïî çàïðåòó",
|
||
"ïî åìêîñò.äàò÷èêó",
|
||
"ïî äëèíå",
|
||
"çàïîëíåíà",
|
||
"îòñóòñòâóåò",
|
||
"êóïþðîïðèåìíèêå",
|
||
"â êàññåòå",
|
||
"îáìàíà",
|
||
"ñòåêåðíîãî ìîòîðà",
|
||
"òðàíñïîðò.ìîòîðà",
|
||
"òðàíñïîðò.ìîòîðà",
|
||
"âûðàâíèâàíèÿ",
|
||
"îòñóòñòâóåò",
|
||
"îïòèêè",
|
||
"ìàã.äàò÷èêà",
|
||
"äàò÷èêà",
|
||
"ìîäåìà",
|
||
"",
|
||
"ñâÿçè ñ ÔÐ",
|
||
"",
|
||
|
||
"êîìàíäà", // ÔÐ:01h
|
||
"ñîñòîÿíèå ÔÍ",
|
||
"",
|
||
"",
|
||
"ýêñïëóàòàöèè ÔÍ",
|
||
"ïåðåïîëíåí",
|
||
"è/èëè âðåìÿ",
|
||
"çàïðîøåííûõ äàííûõ",
|
||
"çíà÷.ïàð.ê-äû",
|
||
"ðàçì.TLV äàííûõ",
|
||
"òðàíñï.ñîåä.",
|
||
"ðåñóðñ ÊÑ",
|
||
"ðåñóðñ õðàíåíèÿ",
|
||
"ðåñóðñ îæèäàíèÿ",
|
||
"24 ÷àñîâ",
|
||
"ðàçíèöà âî âðåìåíè",
|
||
"îò ÎÔÄ íå ïðèíÿòî",
|
||
"îáìåíà ñ ÔÍ",
|
||
"íå îòâå÷àåò",
|
||
"ïàðàìåòðû â ê-äå",
|
||
"äàííûõ",
|
||
"ïàðàìåòð",
|
||
"ïàðàìåòðû", // 36h
|
||
"íå ïîääåðæèâàåòñÿ",
|
||
"â ÏÇÓ",
|
||
"îøèáêà ÏÎ ÊÊÒ",
|
||
"íàê.ïî íàäá.",
|
||
"îòêð.-îïåðàöèÿ íåâîçì.",
|
||
"çàêð.-îïåðàöèÿ íåâîçì.", //3Dh
|
||
"íàêîï.ïî ñåêöèÿì",
|
||
"íàêîï.ïî ñêèäêàì",
|
||
"äèàïàçîíà ñêèäîê",
|
||
"äèàïàçîíà îïëàòû",
|
||
"äèàïàçîíà îïëàòû 2",
|
||
"äèàïàçîíà îïëàòû 3",
|
||
"äèàïàçîíà îïëàòû 4",
|
||
"ìåíüøå èòîãà ÷åêà",
|
||
"íàëè÷íîñòè â êàññå",
|
||
"íàêîïëåíèÿ ïî íàëîãàì",
|
||
"èòîãà ÷åêà",
|
||
"â îòêð.÷åêå",
|
||
"îïåðàöèÿ íåâîçìîæíà",
|
||
"ïåðåïîëíåí",
|
||
"íàêîï.ïî íàëîãàì",
|
||
"áåçíàë.ñóììà áîëüøå",
|
||
"ïðåâûñèëà 24 ÷àñà",
|
||
"",
|
||
"ïðåä.êîìàíäû",
|
||
"íàêîïëåíèé â ñìåíå",
|
||
"íàêîïëåíèé 2 â ñìåíå",
|
||
"íàêîïëåíèé 3 â ñìåíå",
|
||
"íàêîïëåíèé 4 â ñìåíå",
|
||
"îïåðàöèÿ íåâîçì.",
|
||
"äëÿ ïîâòîðà",
|
||
"êîìàíäû ïðîäîëæåíèÿ",
|
||
"îòêðûò äðóãèì îï.",
|
||
"äèàïàçîíà íàäáàâîê",
|
||
"íàïðÿæåíèå 24Â",
|
||
"íå îïðåäåëåíà",
|
||
"îïåðàöèÿ",
|
||
"èòîã ÷åêà",
|
||
"ïðè óìíîæåíèè",
|
||
"äèàïàçîíà öåíû",
|
||
"äèàïàçîíà êîë-âà",
|
||
"äèàïàçîíà îòäåëà",
|
||
"äåíåã â ñåêöèè",
|
||
"äåíåã â ñåêöèè",
|
||
"äåíåã ïî íàëîãàì",
|
||
"äåíåã ïî íàëîãàì",
|
||
"ïèòàíèÿ",
|
||
"ëåíòû",
|
||
"ëåíòû",
|
||
"äåíåã ïî íàëîãó",
|
||
"äåíåã ïî íàëîãó",
|
||
"ïî âûïëàòå â ñìåíå",
|
||
"îòðåç÷èêà",
|
||
"ïîääåðæ.",
|
||
"ïîääåðæ.",
|
||
"",
|
||
"ïèòàíèÿ",
|
||
"íåò ñèãíàëà",
|
||
"",
|
||
"ðåäàêòèðóåòñÿ",
|
||
"îáîðóäîâàíèÿ",
|
||
"äàòà",
|
||
"ôîðìàò äàòû",
|
||
"çíà÷åíèå â ïîëå äëèíû",
|
||
"äèàïàçîíà èòîãà ÷åêà",
|
||
"íàëè÷íîñòè",
|
||
"ïî ïðîäàæàì",
|
||
"ïî ïîêóïêàì",
|
||
"ïî âîçâðàòàì ïðîäàæ",
|
||
"ïî âîçâðàòàì ïîêóïîê",
|
||
"ïî âíåñåíèþ â ñìåíå",
|
||
"ïî íàäáàâêàì â ÷åêå",
|
||
"ïî ñêèäêàì â ÷åêå",
|
||
"èòîã íàäáàâêè",
|
||
"èòîã ñêèäêè â ÷åêå",
|
||
"÷åêà",
|
||
"ðàçìåð â íàñòðîéêàõ",
|
||
"ãðàíèöó ïîëÿ ïå÷àòè",
|
||
"ïîëåé",
|
||
"ÎÇÓ ïðîøëî óñïåøíî",
|
||
"ëèìèò îïåðàöèé â ÷åêå",
|
||
"äàòû è âðåìåíè",
|
||
"íàïðÿæåíèÿ",
|
||
"íîìåðîâ ñìåí",
|
||
"ðåäàêòèðóåòñÿ",
|
||
"èìïóëüñû òàõî."
|
||
};
|
||
|
||
TDataDescStruct const JournalErrorNumberDesc1 = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
EVENT_RECORDS_COUNT, // ðàçìåð ìàññèâà
|
||
&EventJournalIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, EventRecords[0].event), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ErrorNumberRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(TEventRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
(void*)ErrorNumberList1, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Ñòðîêà ñ îøèáêîé ïî-àíãëèéñêè
|
||
*************************************/
|
||
CPU_INT08U const *ErrorNumberListEng[JOURNAL_EVENTS_COUNT] =
|
||
{
|
||
"Net oshibki", "", "", "",
|
||
"", "", "", "",
|
||
"", "", "", "",
|
||
"", "", "", "",
|
||
"", "", "", "",
|
||
"", "", "", "", "",
|
||
"Oshibka svyazi c kupuropriemnikom",
|
||
"Kriticheskaya oshibka kupuropriemnika",
|
||
"Vybros kupury po mag.datchiku",
|
||
"Vybros kupury pri transportirovke",
|
||
"Vybros kupury po identifikacii",
|
||
"Vybros kupury po verifikacii",
|
||
"Vybros kupury po opt.datchiku",
|
||
"Vybros kupury po zapretu",
|
||
"Vybros kupury po emk.datchiku",
|
||
"Vybros kupury po dline",
|
||
"Kasseta zapolnena",
|
||
"Kasseta otsutstvuet",
|
||
"Zamin v kupuropriemnike",
|
||
"Zamin v kassete",
|
||
"Popytka obmana",
|
||
"Oshibka stekernogo motora",
|
||
"Oshibka skorosti transp.motora",
|
||
"Oshibka transp.motora",
|
||
"Oshibka mehanizmavyravnivaniya",
|
||
"Kasseta otsutstvuet",
|
||
"Oshibka optiki",
|
||
"Oshibka magn.datchika",
|
||
"Oshibka emk.datchika",
|
||
"Nekriticheskaya oshibka kupuropriemnika",
|
||
|
||
"Oshibka svyazi s modemom",
|
||
"",
|
||
"Oshibka svyazi s FR",
|
||
"Oshibka FR 0x01",
|
||
"Oshibka FR 0x02",
|
||
"Oshibka FR 0x03",
|
||
"Oshibka FR 0x04",
|
||
"Oshibka FR 0x05",
|
||
"Oshibka FR 0x06",
|
||
"Oshibka FR 0x07",
|
||
"Oshibka FR 0x08",
|
||
"Oshibka FR 0x09",
|
||
"Oshibka FR 0x10",
|
||
"Oshibka FR 0x11",
|
||
"Oshibka FR 0x12",
|
||
"Oshibka FR 0x14",
|
||
"Oshibka FR 0x15",
|
||
"Oshibka FR 0x16",
|
||
"Oshibka FR 0x17",
|
||
"Oshibka FR 0x20",
|
||
"Oshibka FR 0x2F",
|
||
"Oshibka FR 0x30",
|
||
"Oshibka FR 0x33",
|
||
"Oshibka FR 0x34",
|
||
"Oshibka FR 0x35",
|
||
"Oshibka FR 0x36",
|
||
"Oshibka FR 0x37",
|
||
"Oshibka FR 0x38",
|
||
"Oshibka FR 0x39",
|
||
"Oshibka FR 0x3A",
|
||
"Oshibka FR 0x3C",
|
||
"Oshibka FR 0x3D",
|
||
"Oshibka FR 0x3E",
|
||
"Oshibka FR 0x3F",
|
||
"Oshibka FR 0x40",
|
||
"Oshibka FR 0x41",
|
||
"Oshibka FR 0x42",
|
||
"Oshibka FR 0x43",
|
||
"Oshibka FR 0x44",
|
||
"Oshibka FR 0x45",
|
||
"Oshibka FR 0x46",
|
||
"Oshibka FR 0x47",
|
||
"Oshibka FR 0x48",
|
||
"Oshibka FR 0x49",
|
||
"Oshibka FR 0x4A",
|
||
"Oshibka FR 0x4B",
|
||
"Oshibka FR 0x4C",
|
||
"Oshibka FR 0x4D",
|
||
"Oshibka FR 0x4E",
|
||
"Oshibka FR 0x4F",
|
||
"Oshibka FR 0x50",
|
||
"Oshibka FR 0x51",
|
||
"Oshibka FR 0x52",
|
||
"Oshibka FR 0x53",
|
||
"Oshibka FR 0x54",
|
||
"Oshibka FR 0x55",
|
||
"Oshibka FR 0x56",
|
||
"Oshibka FR 0x58",
|
||
"Oshibka FR 0x59",
|
||
"Oshibka FR 0x5B",
|
||
"Oshibka FR 0x5C",
|
||
"Oshibka FR 0x5D",
|
||
"Oshibka FR 0x5E",
|
||
"Oshibka FR 0x5F",
|
||
"Oshibka FR 0x60",
|
||
"Oshibka FR 0x61",
|
||
"Oshibka FR 0x62",
|
||
"Oshibka FR 0x63",
|
||
"Oshibka FR 0x65",
|
||
"Oshibka FR 0x66",
|
||
"Oshibka FR 0x68",
|
||
"Oshibka FR 0x69",
|
||
"Oshibka FR 0x6A",
|
||
"Oshibka FR 0x6B",
|
||
"Oshibka FR 0x6C",
|
||
"Oshibka FR 0x6D",
|
||
"Oshibka FR 0x6E",
|
||
"Oshibka FR 0x6F",
|
||
"Oshibka FR 0x71",
|
||
"Oshibka FR 0x72",
|
||
"Oshibka FR 0x73",
|
||
"Oshibka FR 0x74",
|
||
"Oshibka FR 0x75",
|
||
"Oshibka FR 0x77",
|
||
"Oshibka FR 0x78",
|
||
"Oshibka FR 0x7A",
|
||
"Oshibka FR 0x7B",
|
||
"Oshibka FR 0x7C",
|
||
"Oshibka FR 0x7D",
|
||
"Oshibka FR 0x7E",
|
||
"Oshibka FR 0x7F",
|
||
"Oshibka FR 0x84",
|
||
"Oshibka FR 0x85",
|
||
"Oshibka FR 0x86",
|
||
"Oshibka FR 0x87",
|
||
"Oshibka FR 0x88",
|
||
"Oshibka FR 0x89",
|
||
"Oshibka FR 0x8A",
|
||
"Oshibka FR 0x8B",
|
||
"Oshibka FR 0x8C",
|
||
"Oshibka FR 0x8D",
|
||
"Oshibka FR 0x8E",
|
||
"Oshibka FR 0x90",
|
||
"Oshibka FR 0x91",
|
||
"Oshibka FR 0x92",
|
||
"Oshibka FR 0x93",
|
||
"Oshibka FR 0x94",
|
||
"Oshibka FR 0xC0",
|
||
"Oshibka FR 0xC2",
|
||
"Oshibka FR 0xC4",
|
||
"Oshibka FR 0xC7",
|
||
"Oshibka FR 0xC8"
|
||
};
|
||
|
||
TDataDescStruct const JournalErrorNumberDescEng = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
EVENT_RECORDS_COUNT, // ðàçìåð ìàññèâà
|
||
&EventJournalIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, EventRecords[0].event), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ErrorNumberRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(TEventRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
(void*)ErrorNumberList1, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
|
||
TDataDescStruct const JournalErrorNumberDescCode = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
EVENT_RECORDS_COUNT, // ðàçìåð ìàññèâà
|
||
&EventJournalIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, EventRecords[0].event), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(TEventRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
TDataDescStruct const JournalErrorNumberDescTime = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
EVENT_RECORDS_COUNT, // ðàçìåð ìàññèâà
|
||
&EventJournalIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, EventRecords[0].time), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(TEventRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Èíäåêñ ïðè ïðîñìîòðå æóðíàëà ñîáûòèé
|
||
*************************************/
|
||
TRangeValueULONG const EventJournalIndexRange = {0, 0xffffffff};
|
||
#if defined(BOARD_SOLARIUM_WEB)
|
||
CPU_INT08U const EventJournalIndexName[] = "ÇÀÏÈÑÜ #";
|
||
#else
|
||
CPU_INT08U const EventJournalIndexName[] = "Çàïèñü #";
|
||
#endif
|
||
CPU_INT32U EventJournalIndex = 0;
|
||
|
||
void OnChangeEventJournalIndex(void)
|
||
{
|
||
TEventRecord record;
|
||
|
||
if (EventJournalIndex == 0xffffffff) EventJournalIndex = EVENT_RECORDS_COUNT - 1;
|
||
else if (EventJournalIndex > EVENT_RECORDS_COUNT - 1) EventJournalIndex = 0;
|
||
|
||
GetEventRecord(&record, EventJournalIndex);
|
||
PrintEventJournalRecord(&record, str_EventNumber, str_EventData);
|
||
}
|
||
|
||
TDataDescStruct const EventJournalIndexDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&EventJournalIndex, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EventJournalIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeEventJournalIndex, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
EventJournalIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Âðåìÿ ñîáûòèÿ â æóðíàëå ñîáûòèé
|
||
*************************************/
|
||
TDataDescStruct const JournalEventTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
EVENT_RECORDS_COUNT, // ðàçìåð ìàññèâà
|
||
&EventJournalIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, EventRecords[0].time), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(TEventRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Ñèñòåìíîå âðåìÿ
|
||
*************************************/
|
||
extern CPU_INT32U SystemTime;
|
||
|
||
TDataDescStruct const SystemTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&SystemTime, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
|
||
void OnSetTime(void)
|
||
{
|
||
TRTC_Data rtc;
|
||
Sec2Date(&rtc, SystemTime);
|
||
RTC_SetTime(&rtc);
|
||
}
|
||
|
||
TDataDescStruct const SystemTimeEditDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&SystemTime, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnSetTime, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Êîìàíäà íà î÷èñòêó æóðíàëîâ
|
||
*************************************/
|
||
CPU_INT32U ClearJournalCmd = 0;
|
||
|
||
CPU_INT08U const ClearJournalCmdName[] = "Î÷èñòêà";
|
||
CPU_INT08U const ClearJournalCmdList_str0[] = "íåò";
|
||
CPU_INT08U const ClearJournalCmdList_str1[] = "äà";
|
||
CPU_INT08U const *ClearJournalCmdList[] = {ClearJournalCmdList_str0, ClearJournalCmdList_str1};
|
||
|
||
void OnChangeClearJournalCmd(void)
|
||
{
|
||
if (ClearJournalCmd)
|
||
{
|
||
ClearEventJournal();
|
||
ClearJournalCmd = 0;
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const ClearJournalCmdDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&ClearJournalCmd, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&InitByDefaultRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeClearJournalCmd, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ClearJournalCmdName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ClearJournalCmdList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Îáùèé ñ÷åò÷èê ÷èñëà çàïóñêîâ
|
||
*************************************/
|
||
#if defined(BOARD_SOLARIUM_WEB)
|
||
CPU_INT08U const CounterRunName[] = "ÇÀÏÓÑÊÈ";
|
||
#else
|
||
CPU_INT08U const CounterRunName[] = "Çàïóñêè";
|
||
#endif
|
||
|
||
TDataDescStruct const CounterRunDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, Counters.CounterRun), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterRunName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Îáùèé ñ÷åò÷èê äåíåã
|
||
*************************************/
|
||
CPU_INT08U const CounterMoneyName[] = "Äåíüãè,ðóá.";
|
||
CPU_INT08U const CounterCardName[] = "Áàíê,ðóá.";
|
||
CPU_INT08U const CounterAbonementName[] = "Àáîíåì.,ðóá.";
|
||
|
||
TDataDescStruct const CounterMoneyDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, Counters.CounterMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Îáùèé ñ÷åò÷èê áåçíàëà
|
||
*************************************/
|
||
TDataDescStruct const CounterCardDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, Counters.CounterCard), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterCardName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
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
|
||
};
|
||
|
||
/*************************************
|
||
Îáùèé ñ÷åò÷èê âðåìåíè ðàáîòû
|
||
*************************************/
|
||
#if defined(BOARD_SOLARIUM_WEB)
|
||
CPU_INT08U const CounterTimeName[] = "ÂÐ.ÐÀÁ.";
|
||
#else
|
||
CPU_INT08U const CounterTimeName[] = "Âð.ðàá.";
|
||
#endif
|
||
|
||
TDataDescStruct const CounterTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME_COUNT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, Counters.CounterTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Îáùèé ñ÷åò÷èê ÷èñëà çàïóñêîâ ÄËÈÍÍÛÉ
|
||
*************************************/
|
||
TDataDescStruct const CounterLongRunDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, CountersLong.CounterRunLong), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterRunName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Îáùèé ñ÷åò÷èê äåíåã ÄËÈÍÍÛÉ
|
||
*************************************/
|
||
TDataDescStruct const CounterLongMoneyDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, CountersLong.CounterMoneyLong), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Îáùèé ñ÷åò÷èê áåçíàëà ÄËÈÍÍÛÉ
|
||
*************************************/
|
||
TDataDescStruct const CounterLongCardDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, CountersLong.CounterCardLong), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterCardName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
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
|
||
};
|
||
|
||
/*************************************
|
||
Îáùèé ñ÷åò÷èê âðåìåíè ðàáîòû
|
||
*************************************/
|
||
TDataDescStruct const CounterLongTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME_COUNT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, CountersLong.CounterTimeLong), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Êàíàëüíûé ñ÷åò÷èê ÷èñëà çàïóñêîâ
|
||
*************************************/
|
||
TDataDescStruct const CounterChannelRunDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelStIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, Counters.CounterChannelRun[0]), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterRunName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Êàíàëüíûé ñ÷åò÷èê äåíåã
|
||
*************************************/
|
||
TDataDescStruct const CounterChannelMoneyDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelStIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, Counters.CounterChannelMoney[0]), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Êàíàëüíûé ñ÷åò÷èê áåçíàëà
|
||
*************************************/
|
||
TDataDescStruct const CounterChannelCardDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelStIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, Counters.CounterChannelCard[0]), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterCardName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
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
|
||
};
|
||
|
||
/*************************************
|
||
Êàíàëüíûé ñ÷åò÷èê âðåìåíè ðàáîòû
|
||
*************************************/
|
||
TDataDescStruct const CounterChannelTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME_COUNT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelStIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, Counters.CounterChannelTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Êàíàëüíûé ñ÷åò÷èê ÷èñëà çàïóñêîâ
|
||
*************************************/
|
||
TDataDescStruct const CounterChannelRunLongDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelStIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, CountersLong.CounterChannelRunLong[0]), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterRunName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Êàíàëüíûé ñ÷åò÷èê äåíåã
|
||
*************************************/
|
||
TDataDescStruct const CounterChannelMoneyLongDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelStIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, CountersLong.CounterChannelMoneyLong[0]), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Êàíàëüíûé ñ÷åò÷èê áåçíàëà
|
||
*************************************/
|
||
TDataDescStruct const CounterChannelCardLongDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelStIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, CountersLong.CounterChannelCardLong[0]), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterCardName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
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
|
||
};
|
||
|
||
/*************************************
|
||
Êàíàëüíûé ñ÷åò÷èê âðåìåíè ðàáîòû
|
||
*************************************/
|
||
TDataDescStruct const CounterChannelTimeLongDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME_COUNT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelStIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, CountersLong.CounterChannelTimeLong), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Êîìàíäà íà î÷èñòêó ñòàòèñòèêè
|
||
*************************************/
|
||
CPU_INT32U ClearStatCmd = 0;
|
||
|
||
CPU_INT08U const ClearStatCmdName[] = "Î÷èñòêà";
|
||
|
||
#if defined(BOARD_SOLARIUM_VLAD)
|
||
extern void SolarClearAllCounters(void);
|
||
extern void SolarClearLampsCounters(CPU_INT08U ch);
|
||
#endif
|
||
|
||
void OnChangeClearStatCmd(void)
|
||
{
|
||
if (ClearStatCmd)
|
||
{
|
||
ClearCounters();
|
||
#if defined(BOARD_SOLARIUM_VLAD)
|
||
SolarClearAllCounters();
|
||
#endif
|
||
ClearStatCmd = 0;
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const ClearStatCmdDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&ClearStatCmd, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&InitByDefaultRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeClearStatCmd, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ClearJournalCmdName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ClearJournalCmdList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Ðàçðåøåíèå àâòîìàòè÷åñêîãî çàêðûòèÿ ñìåí
|
||
*************************************/
|
||
TRangeValueULONG const EnableFiscalDayClearRange = {0, 1};
|
||
CPU_INT08U const EnableFiscalDayClearName[] = "Çàêð.ñìåíû";
|
||
CPU_INT08U const *EnableFiscalDayClearList[] = {"Ðó÷.", "Àâòî", "Áóôåð"};
|
||
|
||
TDataDescStruct const EnableFiscalDayClearDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.EnableFiscalDayClear), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableFiscalDayClearRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
EnableFiscalDayClearName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnableFiscalDayClearList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Íàñòðîéêà ÷åêà
|
||
*************************************/
|
||
TRangeValueULONG const BillFormatRange = {0, 1};
|
||
CPU_INT08U const BillFormatName[] = "×åê:";
|
||
CPU_INT08U const BillFormatList_str0[] = "êîë-âî*öåíà";
|
||
CPU_INT08U const BillFormatList_str1[] = "ñóììà";
|
||
CPU_INT08U const *BillFormatList[] = {BillFormatList_str0, BillFormatList_str1};
|
||
|
||
TDataDescStruct const BillFormatDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.BillFormat), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&BillFormatRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
BillFormatName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
BillFormatList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Ñèñòåìà íàëîãîîáëîæåíèÿ
|
||
*************************************/
|
||
TRangeValueULONG const TaxSystemRange = {0, 5};
|
||
CPU_INT08U const TaxSystemName[] = "Ñèñòåìà íàë.";
|
||
CPU_INT08U const TaxSystemList_str0[] = "ÎÑÍ";
|
||
CPU_INT08U const TaxSystemList_str1[] = "ÓÑÍ ä";
|
||
CPU_INT08U const TaxSystemList_str2[] = "ÓÑÍ ä-ð";
|
||
CPU_INT08U const TaxSystemList_str3[] = "ÅÍÂÄ";
|
||
CPU_INT08U const TaxSystemList_str4[] = "ÅÑÏ";
|
||
CPU_INT08U const TaxSystemList_str5[] = "ÏÑÍ";
|
||
|
||
CPU_INT08U const *TaxSystemList[] = {TaxSystemList_str0, TaxSystemList_str1, TaxSystemList_str2, TaxSystemList_str3, TaxSystemList_str4, TaxSystemList_str5};
|
||
|
||
TDataDescStruct const TaxSystemDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, TaxSystem), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&TaxSystemRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
TaxSystemName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
TaxSystemList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Èíäåêñ íàëîãà
|
||
*************************************/
|
||
TRangeValueULONG const TaxFormatRange = {0, 6};
|
||
CPU_INT08U const TaxFormatName[] = "Íàëîã:";
|
||
CPU_INT08U const TaxFormatList_str0[] = "îòêë.";
|
||
CPU_INT08U const TaxFormatList_str1[] = " 1 ";
|
||
CPU_INT08U const TaxFormatList_str2[] = " 2 ";
|
||
CPU_INT08U const TaxFormatList_str3[] = " 3 ";
|
||
CPU_INT08U const TaxFormatList_str4[] = " 4 ";
|
||
CPU_INT08U const TaxFormatList_str5[] = " 5 ";
|
||
CPU_INT08U const TaxFormatList_str6[] = " 6 ";
|
||
CPU_INT08U const *TaxFormatList[] = {TaxFormatList_str0, TaxFormatList_str1, TaxFormatList_str2, TaxFormatList_str3, TaxFormatList_str4, TaxFormatList_str5, TaxFormatList_str6};
|
||
|
||
TDataDescStruct const TaxFormatDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, TaxFormat), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&TaxFormatRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
TaxFormatName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
TaxFormatList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Ïðåäìåò ðàñ÷åòà
|
||
*************************************/
|
||
TRangeValueULONG const SubjSellRange = {0, 2};
|
||
CPU_INT08U const SubjSellName[] = "Ïðåäì.ðàñ÷åòà";
|
||
CPU_INT08U const SubjSellList_str0[] = "ÒÎÂÀÐ";
|
||
CPU_INT08U const SubjSellList_str1[] = "ÐÀÁÎÒÀ";
|
||
CPU_INT08U const SubjSellList_str2[] = "ÓÑËÓÃÀ";
|
||
CPU_INT08U const *SubjSellList[] = {SubjSellList_str0, SubjSellList_str1, SubjSellList_str2};
|
||
|
||
TDataDescStruct const SubjSellDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SubjSell), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SubjSellRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SubjSellName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
SubjSellList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Òèï êîìàíä ðàáîòû ñ ÷åêîì
|
||
*************************************/
|
||
TRangeValueULONG const CommandV2Range = {0, 1};
|
||
CPU_INT08U const CommandV2Name[] = "Òèï êîìàíä";
|
||
CPU_INT08U const CommandV2List_str0[] = "ñòàðûé";
|
||
CPU_INT08U const CommandV2List_str1[] = "V2";
|
||
CPU_INT08U const *CommandV2List[] = {CommandV2List_str0, CommandV2List_str1};
|
||
|
||
TDataDescStruct const CommandV2Desc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, CommandV2), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&CommandV2Range, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CommandV2Name, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
CommandV2List, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
1
|
||
};
|
||
|
||
/*************************************
|
||
Íàçâàíèå óñëóãè
|
||
*************************************/
|
||
TRangeValueULONG const ServiceNameRange = {0, 1};
|
||
CPU_INT08U const ServiceNameName[] = "";
|
||
#if defined(BOARD_SOLARIUM_VLAD)
|
||
CPU_INT08U const *ServiceNameList[] = {"Óñëóãè çàãàðà â ñîëÿðèè", "Óñëóãè"};
|
||
#else
|
||
CPU_INT08U const *ServiceNameList[] = {"Óñëóãè ìîéêè", "Óñëóãè"};
|
||
#endif
|
||
|
||
TDataDescStruct const ServiceNameDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.ServiceName), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ServiceNameRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ServiceNameName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ServiceNameList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Äåñêðèïòîð äëÿ ýíåðãîíåçàâèñèìîãî ñîõðàíåíèÿ òåêóùèõ äåíåã
|
||
*************************************/
|
||
TDataDescStruct const AcceptedMoneyDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, FRAM_AcceptedMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Äåñêðèïòîð Crc16 ýíåðãîíåçàâèñèìîãî ñîõðàíåíèÿ òåêóùèõ äåíåã
|
||
*************************************/
|
||
TDataDescStruct const AcceptedMoneyCRC16Desc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, crc_AcceptedMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Äåñêðèïòîð ïàðîëÿ
|
||
*************************************/
|
||
TRangeValueULONG const PassRange = {0, 9999};
|
||
CPU_INT08U const PassName[] = "ÏÀÐÎËb";
|
||
|
||
void OnChangePass(void)
|
||
{
|
||
// îáíîâèì CRC ïàðîëÿ
|
||
CPU_INT32U pass,crc;
|
||
GetData(&PassDesc, &pass, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
crc = crc16((unsigned char*)&pass, sizeof(CPU_INT32U));
|
||
SetData(&PassCRCDesc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
}
|
||
|
||
TDataDescStruct const PassDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, Pass), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PassRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangePass, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
(void*)&PassName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
DEFAULT_PASSWORD
|
||
};
|
||
|
||
CPU_INT08U const PassNameAdmin[] = "ÀÄÌÈÍ.";
|
||
|
||
TDataDescStruct const PassDescAdmin = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, Pass), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PassRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangePass, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
(void*)&PassNameAdmin, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
DEFAULT_PASSWORD
|
||
};
|
||
|
||
/*************************************
|
||
Äåñêðèïòîð CRC ïàðîëÿ
|
||
*************************************/
|
||
TDataDescStruct const PassCRCDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, crc_Pass), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Äåñêðèïòîð âðåìåííîãî ïàðîëÿ
|
||
*************************************/
|
||
CPU_INT32U TempPass = 0;
|
||
|
||
#if defined(BOARD_SOLARIUM_VLAD)
|
||
extern void PrintHelloMenu(void);
|
||
extern void PrintSelectChMenu(CPU_INT08U blink);
|
||
#endif
|
||
|
||
void OnChangeTempPass(void)
|
||
{
|
||
CPU_INT32U pass;
|
||
GetData(&PassDesc, &pass, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
|
||
if (GetCurrentMenu() == SetPassMenuPanel)
|
||
{
|
||
#if defined(BOARD_SOLARIUM_VLAD)
|
||
// óñòàíîâêà íîâîãî ïàðîëÿ
|
||
if (pass != TempPass)
|
||
{
|
||
SaveEventRecord(0, JOURNAL_EVENT_PASS_FAIL, TempPass);
|
||
GoToPreviousMenu(); GoToMenu(ErrorPassPanel);
|
||
}
|
||
else {GoToPreviousMenu(); GoToMenu(AllPasswordsMenuPanel);}
|
||
#else
|
||
// óñòàíîâêà íîâîãî ïàðîëÿ
|
||
if (pass != TempPass)
|
||
{
|
||
SaveEventRecord(0, JOURNAL_EVENT_PASS_FAIL, TempPass);
|
||
GoToPreviousMenu(); GoToMenu(ErrorPassPanel);
|
||
}
|
||
else {GoToPreviousMenu(); GoToMenu(SetNewPassMenuPanel);}
|
||
#endif
|
||
}
|
||
else if (GetCurrentMenu() == ResetSettingsMenuPanel)
|
||
{ // ñáðîñ íàñòðîåê
|
||
if (pass != TempPass)
|
||
{
|
||
SaveEventRecord(0, JOURNAL_EVENT_PASS_FAIL, TempPass);
|
||
GoToPreviousMenu(); GoToMenu(ErrorPassPanel);
|
||
}
|
||
else {InitByDefault = 1; OnChangeInitByDefault(); GoToPreviousMenu(); GoToMenu(SettingsIsReset);}
|
||
}
|
||
else if (GetCurrentMenu() == ClearStatMenu)
|
||
{ // î÷èñòêà ñòàòèñòèêè
|
||
if (pass != TempPass)
|
||
{
|
||
SaveEventRecord(0, JOURNAL_EVENT_PASS_FAIL, TempPass);
|
||
GoToPreviousMenu(); GoToMenu(ErrorPassPanel);
|
||
}
|
||
else
|
||
{
|
||
#ifdef CONFIG_FTP_CLIENT_ENABLE
|
||
CPU_INT32U enabled;
|
||
GetData(&FtpEnableDesc, &enabled, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
if (enabled)
|
||
{
|
||
time_to_ftp |= FTP_FLAG_SEND_COUNTERS | FTP_FLAG_CLEAR_COUNTERS;
|
||
GoToPreviousMenu();
|
||
GoToMenu(FtpUploadInProgressMenu);
|
||
}
|
||
else
|
||
#endif
|
||
{
|
||
ClearStatCmd = 1;
|
||
OnChangeClearStatCmd();
|
||
GoToPreviousMenu();
|
||
GoToMenu(StatIsReset);
|
||
}
|
||
}
|
||
}
|
||
else if (GetCurrentMenu() == ClearJournalMenuPanel)
|
||
{ // î÷èñòêà æóðíàëà
|
||
if (pass != TempPass)
|
||
{
|
||
SaveEventRecord(0, JOURNAL_EVENT_PASS_FAIL, TempPass);
|
||
GoToPreviousMenu(); GoToMenu(ErrorPassPanel);
|
||
}
|
||
else
|
||
{
|
||
#ifdef CONFIG_FTP_CLIENT_ENABLE
|
||
CPU_INT32U enabled;
|
||
GetData(&FtpEnableDesc, &enabled, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
if (enabled)
|
||
{
|
||
time_to_ftp |= FTP_FLAG_SEND_COUNTERS | FTP_FLAG_CLEAR_LOGS;
|
||
GoToPreviousMenu();
|
||
GoToMenu(FtpUploadInProgressMenu);
|
||
}
|
||
else
|
||
#endif
|
||
{
|
||
ClearJournalCmd = 1;
|
||
OnChangeClearJournalCmd();
|
||
GoToPreviousMenu();
|
||
GoToMenu(JournalIsReset);
|
||
}
|
||
}
|
||
}
|
||
#if defined(BOARD_SOLARIUM_VLAD)
|
||
else if (GetCurrentMenu() == ReqCleaningPassMenuPanel)
|
||
{
|
||
GetData(&PassDescCleaning, &pass, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
if (pass == TempPass)
|
||
{
|
||
PostUserEvent(EVENT_PASS_OK);
|
||
}
|
||
else
|
||
{
|
||
PostUserEvent(EVENT_PASS_FAIL);
|
||
}
|
||
}
|
||
else if (GetCurrentMenu() == ReqServicePassMenuPanel)
|
||
{
|
||
GetData(&PassDescService, &pass, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
if (pass == TempPass)
|
||
{
|
||
PostUserEvent(EVENT_PASS_OK);
|
||
}
|
||
else
|
||
{
|
||
PostUserEvent(EVENT_PASS_FAIL);
|
||
}
|
||
}
|
||
else if (GetCurrentMenu() == ReqTestPassMenuPanel)
|
||
{
|
||
GetData(&PassDescTest, &pass, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
if (pass == TempPass)
|
||
{
|
||
PostUserEvent(EVENT_PASS_OK);
|
||
}
|
||
else
|
||
{
|
||
PostUserEvent(EVENT_PASS_FAIL);
|
||
}
|
||
}
|
||
else if (GetCurrentMenu() == ClearLampsMenu)
|
||
{
|
||
if (pass != TempPass)
|
||
{
|
||
SaveEventRecord(0, JOURNAL_EVENT_PASS_FAIL, TempPass);
|
||
GoToPreviousMenu(); GoToMenu(ErrorPassPanel);
|
||
}
|
||
else
|
||
{
|
||
SolarClearLampsCounters(ChannelIndex);
|
||
GoToPreviousMenu();
|
||
}
|
||
}
|
||
else if (GetCurrentMenu() == ReqStartupPassMenuPanel)
|
||
{
|
||
if (pass != TempPass)
|
||
{
|
||
start_pass_ok = 0;
|
||
SaveEventRecord(0, JOURNAL_EVENT_PASS_FAIL, TempPass);
|
||
GoToMenu(ErrorPassPanel);
|
||
}
|
||
else
|
||
{
|
||
start_pass_ok = 1;
|
||
if (GetMode() == MODE_WORK) {SetMenu(WORK_MENU);}
|
||
else SetMenu(SERVICE_MENU);
|
||
}
|
||
}
|
||
#endif
|
||
|
||
}
|
||
|
||
TDataDescStruct const PassTempDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&TempPass, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PassRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeTempPass, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
(void*)&PassName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
#if defined(BOARD_CENTRAL_CARWASH)
|
||
CPU_INT08U const PassTempName1[] = " ÏÀÐÎËb";
|
||
#else
|
||
CPU_INT08U const PassTempName1[] = "ÏÀÐÎËb";
|
||
#endif
|
||
|
||
TDataDescStruct const PassTempDesc1 = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&TempPass, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PassRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeTempPass, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
(void*)&PassTempName1, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
TRangeValueULONG const MasterPassRange = {0, 4000000000};
|
||
CPU_INT08U const MasterPassTempName[] = "ÏÀÐÎËb";
|
||
|
||
void OnChangeMasterPass(void)
|
||
{
|
||
CPU_INT32U pass, crc;
|
||
|
||
if (TempPass == MASTER_PASSWORD)
|
||
{
|
||
TempPass = 0;
|
||
pass = DEFAULT_PASSWORD;
|
||
crc = crc16((unsigned char*)&pass, sizeof(CPU_INT32U));
|
||
SetData(&PassDesc, &pass, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
SetData(&PassCRCDesc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
|
||
GoToPreviousMenu();
|
||
GoToPreviousMenu();
|
||
GoToMenu(SetNewPassMenuPanel);
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const MasterPassTempDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&TempPass, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&MasterPassRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeMasterPass, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
(void*)&MasterPassTempName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
#if !defined(BOARD_SOLARIUM_WEB)
|
||
CPU_INT08U const PassTempName2[] = " ÏÀÐÎËb";
|
||
#endif
|
||
|
||
TDataDescStruct const PassTempDesc2 = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&TempPass, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PassRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeTempPass, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
#if !defined(BOARD_SOLARIUM_WEB)
|
||
(void*)&PassTempName2, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
#else
|
||
NULL,
|
||
#endif
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Êîìàíäà ïîñëàòü òåñòîâîå ñîîáùåíèå
|
||
*************************************/
|
||
CPU_INT08U const SendTestEmailName[] = "Îòïð.òåñò";
|
||
CPU_INT32U send_test;
|
||
|
||
void OnChangeSendTestEmail(void)
|
||
{
|
||
if (send_test)
|
||
{
|
||
PostModemTask(MODEM_TASK_SEND_TEST_MSG);
|
||
send_test = 0;
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const SendTestEmailDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&send_test, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableEmailErrorSendRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeSendTestEmail, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SendTestEmailName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
DisableFiscalErrorsList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Èíäåêñ íîìèíàëà êóïþðû äëÿ ïðîñìîòðà ñ÷åò÷èêîâ ïî íîìèíàëàì
|
||
*************************************/
|
||
CPU_INT32U BillnomViewIndex;
|
||
TRangeValueULONG const BillnomIndexRange = {0, 23};
|
||
CPU_INT08U const BillnomName[] = " ÍÎÌÈÍÀË #";
|
||
CPU_INT08U const* BillnomItems[] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
|
||
"11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"};
|
||
|
||
TDataDescStruct const BillnomIndexDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&BillnomViewIndex, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&BillnomIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
BillnomName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
BillnomItems, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Çíà÷åíèå íîìèíàëà êóïþðû äëÿ ïðîñìîòðà ñ÷åò÷èêîâ
|
||
*************************************/
|
||
extern CPU_INT32U BillNominals[24];
|
||
CPU_INT08U const BillnomValName[] = "Çíà÷åíèå,ðóá.";
|
||
|
||
TDataDescStruct const BillnomDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
24, // ðàçìåð ìàññèâà
|
||
(void*)&BillnomIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&BillNominals, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
BillnomValName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Ñ÷åò÷èêè íîìèíàëîâ êóïþð â êóïþðíèêå
|
||
*************************************/
|
||
CPU_INT08U const BillnomCountersName[] = "Êîë-âî";
|
||
|
||
TDataDescStruct const BillnomCountersDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
24, // ðàçìåð ìàññèâà
|
||
&BillnomIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, Counters.CounterBillNominals[0]), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
BillnomCountersName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Îáùåå êîëè÷åñòâî êóïþð â êóïþðíèêå
|
||
*************************************/
|
||
CPU_INT08U const BillCounterName[] = "Âñåãî êóïþð";
|
||
|
||
TDataDescStruct const BillCounterDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, Counters.BillsCount), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
BillCounterName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
ID óñòðîéñòâà
|
||
*************************************/
|
||
CPU_INT08U const DeviceIDName[] = "ID óñò-âà";
|
||
TRangeValueULONG const DeviceIDRange = {0, 9999};
|
||
|
||
TDataDescStruct const DeviceIDDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.DeviceId), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DeviceIDRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DeviceIDName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Ïðèçíàê îòïðàâêè ñîîáùåíèÿ îá èíêàññàöèè
|
||
*************************************/
|
||
TDataDescStruct const IncasSendFlagDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
1, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, IncasEmailFlag), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Äåíüãè îò ïîñëåäíåé èíêàññàöèè
|
||
*************************************/
|
||
TDataDescStruct const IncasMoneyDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
1, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, IncasMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
IP-àäðåñ ñâîé
|
||
*************************************/
|
||
void OnChangeIpMask()
|
||
{
|
||
CPU_INT32U ip, mask;
|
||
GetData(&IpAddrDesc, &ip, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
GetData(&NetMaskDesc, &mask, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
NetIP_CfgAddrThisHost(ip, mask);
|
||
}
|
||
#if defined(BOARD_SOLARIUM_WEB)
|
||
CPU_INT08U const IpAddrName[] = "ÀÄÐÅÑ";
|
||
#else
|
||
CPU_INT08U const IpAddrName[] = "IP";
|
||
#endif
|
||
|
||
TDataDescStruct const IpAddrDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_IP_ADDR, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
1, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ip), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DeferredStartRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeIpMask, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
IpAddrName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
DeferredStartList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
#if defined(BOARD_SOLARIUM_WEB)
|
||
0xC0A800FA
|
||
#else
|
||
0xC0A80064
|
||
#endif
|
||
};
|
||
|
||
/*************************************
|
||
Ìåñêà ñåòè
|
||
*************************************/
|
||
#if defined(BOARD_SOLARIUM_WEB)
|
||
CPU_INT08U const NetMaskName[] = "ÌÀÑÊÀ";
|
||
#else
|
||
CPU_INT08U const NetMaskName[] = "MSK";
|
||
#endif
|
||
|
||
TDataDescStruct const NetMaskDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_IP_ADDR, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
1, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, netmask), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DeferredStartRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeIpMask, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NetMaskName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
DeferredStartList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0xFFFF0000
|
||
};
|
||
|
||
/*************************************
|
||
Øëþç
|
||
*************************************/
|
||
|
||
void OnChangeGateway()
|
||
{
|
||
CPU_INT32U gw;
|
||
GetData(&GatewayDesc, &gw, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
NetIP_CfgAddrDfltGateway(gw);
|
||
}
|
||
|
||
#if defined(BOARD_SOLARIUM_WEB)
|
||
CPU_INT08U const GatewayName[] = "ØËÞÇ";
|
||
#else
|
||
CPU_INT08U const GatewayName[] = "GW";
|
||
#endif
|
||
|
||
TDataDescStruct const GatewayDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_IP_ADDR, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
1, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, gateway), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DeferredStartRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeGateway, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
GatewayName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
DeferredStartList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0xC0A80001
|
||
};
|
||
|
||
/*************************************
|
||
Âðåìÿ ïîñëåäíåé èíêàññàöèè
|
||
*************************************/
|
||
TDataDescStruct const IncasTimeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
1, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, IncasTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Âêëþ÷èòü ïå÷àòü îò÷åòîâ îòêðûòèÿ/çàêðûòèÿ ñìåíû íà áóìàãó
|
||
*************************************/
|
||
TRangeValueULONG const EnablePrintReportsRange = {0, 1};
|
||
CPU_INT08U const EnablePrintReportsName[] = "Ïå÷àòü îò÷åòîâ";
|
||
CPU_INT08U const *EnablePrintReportsList[] = {OnOffList_str0, OnOffList_str1};
|
||
|
||
TDataDescStruct const EnablePrintReportsDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.EnablePrintReports), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnablePrintReportsRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
EnablePrintReportsName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnablePrintReportsList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
1
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Ïîðò äëÿ ïîäêëþ÷åíèÿ ê áàíêîâñêîìó òåðìèíàëó
|
||
*************************************/
|
||
TRangeValueULONG const TermPortRange = {1, 65535};
|
||
CPU_INT08U const TermPortName[] = "Ïîðò";
|
||
|
||
TDataDescStruct const TerminalPortDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
1, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.terminal_port), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&TermPortRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
TermPortName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
62801 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Èñïîëüçîâàòü áàíêîâñêèé òåðìèíàë
|
||
*************************************/
|
||
TRangeValueULONG const EnableTerminalRange = {0, 1};
|
||
CPU_INT08U const EnableTerminalName[] = "Âêëþ÷èòü";
|
||
CPU_INT08U const *EnableTerminalList[] = {OnOffList_str0, OnOffList_str1};
|
||
|
||
TDataDescStruct const EnableTerminalDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.terminal_enable), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableTerminalRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
EnableTerminalName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnableTerminalList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
#if defined(CONFIG_TERMINAL_ENABLE)
|
||
/*************************************
|
||
Ïðîòîêîë áàíêîâñêîãî òåðìèíàëà
|
||
*************************************/
|
||
TRangeValueULONG const TerminalProtocolRange = {0, 1};
|
||
CPU_INT08U const TerminalProtocolName[] = "Ïðîòîêîë";
|
||
CPU_INT08U const TerminalProtocol_str0[] = "ttk2";
|
||
CPU_INT08U const TerminalProtocol_str1[] = "vtk";
|
||
CPU_INT08U const *TerminalProtocolList[] = {TerminalProtocol_str0, TerminalProtocol_str1};
|
||
|
||
void OnChangeTerminalProtocolDesc(void)
|
||
{
|
||
CPU_INT32U port;
|
||
CPU_INT32U proto;
|
||
GetData(&TerminalProtocolDesc, &proto, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
if (proto == TERMINAL_PROTOCOL_TTK2)
|
||
{
|
||
port = 62501;
|
||
SetData(&TerminalPortDesc, &port, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
}
|
||
else if (proto == TERMINAL_PROTOCOL_VTK)
|
||
{
|
||
port = 62801;
|
||
SetData(&TerminalPortDesc, &port, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const TerminalProtocolDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, TerminalProtocol), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&TerminalProtocolRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeTerminalProtocolDesc, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
TerminalProtocolName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
TerminalProtocolList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
#if defined(BOARD_SOLARIUM_VLAD)
|
||
TERMINAL_PROTOCOL_VTK
|
||
#else
|
||
TERMINAL_PROTOCOL_TTK2
|
||
#endif
|
||
|
||
};
|
||
char const TerminalProtocolDescId[] = "TerminalProtocolDesc";
|
||
#endif
|
||
|
||
/*************************************
|
||
Èíäåêñ êíîïêè äëÿ íàçíà÷åíèÿ ñóììû
|
||
*************************************/
|
||
CPU_INT32U KeyMoneyIndex = 0;
|
||
TRangeValueULONG const KeyMoneyRange = {0, MONEY_KEY_COUNT - 1};
|
||
CPU_INT08U const KeyMoneyName[] = " ÊÍÎÏÊÀ";
|
||
CPU_INT08U const* KeyMoneyItems[] = {"1", "2", "3", "4", "5", "6", "7", "8"};
|
||
|
||
TDataDescStruct const KeyMoneyDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&KeyMoneyIndex, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&KeyMoneyRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
KeyMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
KeyMoneyItems, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Íàçíà÷åíèå êîëè÷åñòâà äåíåã íà êíîïêè äëÿ áàíêîâñêîãî òåðìèíàëà
|
||
*************************************/
|
||
TRangeValueULONG const SelectedMoneyRange = {0, 10000};
|
||
CPU_INT08U const SelectedMoneyName[] = "Ñóììà";
|
||
|
||
TDataDescStruct const SelectedMoneyDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
MONEY_KEY_COUNT, // ðàçìåð ìàññèâà
|
||
(void*)&KeyMoneyDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.terminal_money_table[0]), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SelectedMoneyRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SelectedMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
|
||
/*************************************
|
||
Äåéñòâèå äëÿ öèôðîâîé êíîïêè
|
||
*************************************/
|
||
TRangeValueULONG const KeyActionRange = {0, 6};
|
||
CPU_INT08U const KeyActionName[] = "Äåéñòâèå";
|
||
CPU_INT08U const* KeyActionItems[] = {"Íåò", "Âëåâî", "Âïðàâî", "Âíèç", "Ââåðõ", "OK", "Îòìåíà"};
|
||
|
||
void CheckKeysCorrect()
|
||
{
|
||
CPU_INT16U crc, crc_calc;
|
||
CPU_INT32U action[MONEY_KEY_COUNT];
|
||
|
||
ReadArrayFram(offsetof(TFramMap, DeviceConfig.key_action[0]), sizeof(CPU_INT32U) * MONEY_KEY_COUNT, (unsigned char *)action);
|
||
|
||
crc_calc = crc16((unsigned char*)action, sizeof(CPU_INT32U) * MONEY_KEY_COUNT);
|
||
ReadArrayFram(offsetof(TFramMap, keys_crc), sizeof(CPU_INT16U), (unsigned char *)&crc);
|
||
|
||
if (crc_calc != crc)
|
||
{
|
||
CPU_INT32U action;
|
||
|
||
action = KEY_ACTION_UP;
|
||
SetData(&KeyActionDesc, &action, 0, DATA_FLAG_DIRECT_INDEX);
|
||
action = KEY_ACTION_DOWN;
|
||
SetData(&KeyActionDesc, &action, 1, DATA_FLAG_DIRECT_INDEX);
|
||
action = KEY_ACTION_EMPTY;
|
||
SetData(&KeyActionDesc, &action, 2, DATA_FLAG_DIRECT_INDEX);
|
||
action = KEY_ACTION_LEFT;
|
||
SetData(&KeyActionDesc, &action, 3, DATA_FLAG_DIRECT_INDEX);
|
||
action = KEY_ACTION_RIGHT;
|
||
SetData(&KeyActionDesc, &action, 4, DATA_FLAG_DIRECT_INDEX);
|
||
action = KEY_ACTION_EMPTY;
|
||
SetData(&KeyActionDesc, &action, 5, DATA_FLAG_DIRECT_INDEX);
|
||
action = KEY_ACTION_EMPTY;
|
||
SetData(&KeyActionDesc, &action, 6, DATA_FLAG_DIRECT_INDEX);
|
||
action = KEY_ACTION_EMPTY;
|
||
SetData(&KeyActionDesc, &action, 7, DATA_FLAG_DIRECT_INDEX);
|
||
ReadArrayFram(offsetof(TFramMap, DeviceConfig.key_action[0]), sizeof(CPU_INT32U) * MONEY_KEY_COUNT, (unsigned char *)action);
|
||
crc_calc = crc16((unsigned char*)action, sizeof(CPU_INT32U) * MONEY_KEY_COUNT);
|
||
WriteArrayFram(offsetof(TFramMap, keys_crc), sizeof(CPU_INT16U), (unsigned char *)&crc_calc);
|
||
}
|
||
}
|
||
|
||
void OnChangeKeyAction()
|
||
{
|
||
const CPU_INT32U mustbe[4] = {KEY_ACTION_DOWN, KEY_ACTION_UP};
|
||
|
||
// îòñëåæèâàåì - âñåãäà äîëæíû áûòü ñòðåëî÷êè
|
||
for (int i = 0; i < 2; i++)
|
||
{
|
||
int fix = 1;
|
||
for (int key = 0; key < MONEY_KEY_COUNT - 2; key++)
|
||
{
|
||
CPU_INT32U action;
|
||
GetData(&KeyActionDesc, &action, key, DATA_FLAG_DIRECT_INDEX);
|
||
if (action == mustbe[i])
|
||
{
|
||
fix = 0;
|
||
break;
|
||
}
|
||
}
|
||
if (fix)
|
||
{
|
||
for (int key = 0; key < MONEY_KEY_COUNT - 2; key++)
|
||
{
|
||
CPU_INT32U action;
|
||
GetData(&KeyActionDesc, &action, key, DATA_FLAG_DIRECT_INDEX);
|
||
if (action == KEY_ACTION_EMPTY)
|
||
{
|
||
action = mustbe[i];
|
||
SetData(&KeyActionDesc, &action, key, DATA_FLAG_DIRECT_INDEX);
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
CPU_INT32U action[MONEY_KEY_COUNT];
|
||
ReadArrayFram(offsetof(TFramMap, DeviceConfig.key_action[0]), sizeof(CPU_INT32U) * MONEY_KEY_COUNT, (unsigned char *)action);
|
||
CPU_INT16U crc_calc = crc16((unsigned char*)action, sizeof(CPU_INT32U) * MONEY_KEY_COUNT);
|
||
WriteArrayFram(offsetof(TFramMap, keys_crc), sizeof(CPU_INT16U), (unsigned char *)&crc_calc);
|
||
}
|
||
|
||
|
||
TDataDescStruct const KeyActionDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
MONEY_KEY_COUNT, // ðàçìåð ìàññèâà
|
||
(void*)&KeyMoneyDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DeviceConfig.key_action[0]), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&KeyActionRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeKeyAction, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
KeyActionName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
KeyActionItems, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
KEY_ACTION_EMPTY
|
||
};
|
||
|
||
|
||
|
||
/*************************************
|
||
Ïàðàìåòðà ÒÀÉÌÅÐ ÏÎÑÒÀ (âûäà÷à íå ïî êîëè÷åñòâó èìïóëüñîâ, à ïî äëèíå çàäàííîãî óðîâíÿ ñèãíàëà)
|
||
*************************************/
|
||
TRangeValueULONG const PostTimerRange = {0, 60};
|
||
CPU_INT08U const PostTimerName[] = "Òàéìåð";
|
||
CPU_INT08U const PostTimer_str00[] = "îòêë.";
|
||
CPU_INT08U const PostTimer_str01[] = "1 ñåê."; CPU_INT08U const PostTimer_str02[] = "2 ñåê."; CPU_INT08U const PostTimer_str03[] = "3 ñåê."; CPU_INT08U const PostTimer_str04[] = "4 ñåê.";
|
||
CPU_INT08U const PostTimer_str05[] = "5 ñåê."; CPU_INT08U const PostTimer_str06[] = "6 ñåê."; CPU_INT08U const PostTimer_str07[] = "7 ñåê."; CPU_INT08U const PostTimer_str08[] = "8 ñåê.";
|
||
CPU_INT08U const PostTimer_str09[] = "9 ñåê."; CPU_INT08U const PostTimer_str10[] = "10 ñåê."; CPU_INT08U const PostTimer_str11[] = "11 ñåê."; CPU_INT08U const PostTimer_str12[] = "12 ñåê.";
|
||
CPU_INT08U const PostTimer_str13[] = "13 ñåê."; CPU_INT08U const PostTimer_str14[] = "14 ñåê."; CPU_INT08U const PostTimer_str15[] = "15 ñåê."; CPU_INT08U const PostTimer_str16[] = "16 ñåê.";
|
||
CPU_INT08U const PostTimer_str17[] = "17 ñåê."; CPU_INT08U const PostTimer_str18[] = "18 ñåê."; CPU_INT08U const PostTimer_str19[] = "19 ñåê."; CPU_INT08U const PostTimer_str20[] = "20 ñåê.";
|
||
CPU_INT08U const PostTimer_str21[] = "21 ñåê."; CPU_INT08U const PostTimer_str22[] = "22 ñåê."; CPU_INT08U const PostTimer_str23[] = "23 ñåê."; CPU_INT08U const PostTimer_str24[] = "24 ñåê.";
|
||
CPU_INT08U const PostTimer_str25[] = "25 ñåê."; CPU_INT08U const PostTimer_str26[] = "26 ñåê."; CPU_INT08U const PostTimer_str27[] = "27 ñåê."; CPU_INT08U const PostTimer_str28[] = "28 ñåê.";
|
||
CPU_INT08U const PostTimer_str29[] = "29 ñåê."; CPU_INT08U const PostTimer_str30[] = "30 ñåê."; CPU_INT08U const PostTimer_str31[] = "31 ñåê."; CPU_INT08U const PostTimer_str32[] = "32 ñåê.";
|
||
CPU_INT08U const PostTimer_str33[] = "33 ñåê."; CPU_INT08U const PostTimer_str34[] = "34 ñåê."; CPU_INT08U const PostTimer_str35[] = "35 ñåê."; CPU_INT08U const PostTimer_str36[] = "36 ñåê.";
|
||
CPU_INT08U const PostTimer_str37[] = "37 ñåê."; CPU_INT08U const PostTimer_str38[] = "38 ñåê."; CPU_INT08U const PostTimer_str39[] = "39 ñåê."; CPU_INT08U const PostTimer_str40[] = "40 ñåê.";
|
||
CPU_INT08U const PostTimer_str41[] = "41 ñåê."; CPU_INT08U const PostTimer_str42[] = "42 ñåê."; CPU_INT08U const PostTimer_str43[] = "43 ñåê."; CPU_INT08U const PostTimer_str44[] = "44 ñåê.";
|
||
CPU_INT08U const PostTimer_str45[] = "45 ñåê."; CPU_INT08U const PostTimer_str46[] = "46 ñåê."; CPU_INT08U const PostTimer_str47[] = "47 ñåê."; CPU_INT08U const PostTimer_str48[] = "48 ñåê.";
|
||
CPU_INT08U const PostTimer_str49[] = "49 ñåê."; CPU_INT08U const PostTimer_str50[] = "50 ñåê."; CPU_INT08U const PostTimer_str51[] = "51 ñåê."; CPU_INT08U const PostTimer_str52[] = "52 ñåê.";
|
||
CPU_INT08U const PostTimer_str53[] = "53 ñåê."; CPU_INT08U const PostTimer_str54[] = "54 ñåê."; CPU_INT08U const PostTimer_str55[] = "55 ñåê."; CPU_INT08U const PostTimer_str56[] = "56 ñåê.";
|
||
CPU_INT08U const PostTimer_str57[] = "57 ñåê."; CPU_INT08U const PostTimer_str58[] = "58 ñåê."; CPU_INT08U const PostTimer_str59[] = "59 ñåê."; CPU_INT08U const PostTimer_str60[] = "60 ñåê.";
|
||
|
||
CPU_INT08U const *PostTimerList[61] = {PostTimer_str00,
|
||
PostTimer_str01, PostTimer_str02, PostTimer_str03, PostTimer_str04, PostTimer_str05, PostTimer_str06, PostTimer_str07, PostTimer_str08, PostTimer_str09, PostTimer_str10,
|
||
PostTimer_str11, PostTimer_str12, PostTimer_str13, PostTimer_str14, PostTimer_str15, PostTimer_str16, PostTimer_str17, PostTimer_str18, PostTimer_str19, PostTimer_str20,
|
||
PostTimer_str21, PostTimer_str22, PostTimer_str23, PostTimer_str24, PostTimer_str25, PostTimer_str26, PostTimer_str27, PostTimer_str28, PostTimer_str29, PostTimer_str30,
|
||
PostTimer_str31, PostTimer_str30, PostTimer_str33, PostTimer_str34, PostTimer_str35, PostTimer_str36, PostTimer_str37, PostTimer_str38, PostTimer_str39, PostTimer_str40,
|
||
PostTimer_str41, PostTimer_str42, PostTimer_str43, PostTimer_str44, PostTimer_str45, PostTimer_str46, PostTimer_str47, PostTimer_str48, PostTimer_str49, PostTimer_str50,
|
||
PostTimer_str51, PostTimer_str52, PostTimer_str53, PostTimer_str54, PostTimer_str55, PostTimer_str56, PostTimer_str57, PostTimer_str58, PostTimer_str59, PostTimer_str60
|
||
};
|
||
|
||
|
||
void OnChangePostTimerDesc()
|
||
{
|
||
#if defined(BOARD_CENTRAL_CARWASH)
|
||
PostUserEvent(EVENT_REREAD_SIGNAL_LEVEL);
|
||
#endif
|
||
}
|
||
|
||
TDataDescStruct const PostTimerDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.timer), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PostTimerRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangePostTimerDesc, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PostTimerName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
PostTimerList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
|
||
|
||
/*************************************
|
||
Ïàðàìåòðà ÑÈÃÍÀË ÏÎÑÒÀ (óðîâåíü àêòèâíîãî ñèãíàëà)
|
||
*************************************/
|
||
TRangeValueULONG const PostSignalRange = {0, 1};
|
||
CPU_INT08U const PostSignalName[] = "Ñèãíàë";
|
||
CPU_INT08U const PostSignal_str00[] = "LOW";
|
||
CPU_INT08U const PostSignal_str01[] = "HIGH";
|
||
CPU_INT08U const *PostSignalList[2] = {PostSignal_str00, PostSignal_str01};
|
||
|
||
void OnChangePostSignalDesc()
|
||
{
|
||
CPU_INT32U en, timer;
|
||
GetData(&EnableChannelDesc, &en, ChannelIndex, DATA_FLAG_DIRECT_INDEX);
|
||
GetData(&PostTimerDesc, &timer, ChannelIndex, DATA_FLAG_DIRECT_INDEX);
|
||
if (en && timer)
|
||
{
|
||
CPU_INT32U ip;
|
||
CPU_INT32U signal;
|
||
char str[8];
|
||
GetData(&PostIpAddrDesc, &ip, ChannelIndex, DATA_FLAG_DIRECT_INDEX);
|
||
GetData(&PostSignalDesc, &signal, ChannelIndex, DATA_FLAG_DIRECT_INDEX);
|
||
sprintf(str, "%d", signal);
|
||
HostWriteParam(ip, CONSOLE_TCP_DEFAULT_PORT, "SIGNAL", str, HOST_SOCKET_DEFAULT_TIMEOUT);
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const PostSignalDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ChannelConfig.signal), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PostSignalRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangePostSignalDesc, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PostSignalName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
PostSignalList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
1 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
#if defined(BOARD_SOLARIUM_WEB)
|
||
/*************************************
|
||
Ïàðàìåòð ÒÈÏ ÑÎËßÐÈß
|
||
*************************************/
|
||
TRangeValueULONG const SolariumTypeRange = {0, 1};
|
||
CPU_INT08U const SolariumTypeName[] = "ÒÈÏ";
|
||
CPU_INT08U const SolariumType_str00[] = "1 ÐÅËÅ";
|
||
CPU_INT08U const SolariumType_str01[] = "2 ÐÅËÅ";
|
||
CPU_INT08U const *SolariumTypeList[2] = {SolariumType_str00, SolariumType_str01};
|
||
|
||
TDataDescStruct const SolariumTypeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolariumType), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolariumTypeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolariumTypeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
SolariumTypeList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Ïàðàìåòð ÒÀÉÌÀÓÒ ÂÎÇÂÐÀÒÀ ÍÀ ÃËÀÂÍÛÉ ÝÊÐÀÍ
|
||
*************************************/
|
||
TRangeValueULONG const SolariumTimeoutRange = {0, 99};
|
||
CPU_INT08U const SolariumTimeoutName[] = "ÒÀéÌÀÓÒ,Ñ";
|
||
|
||
TDataDescStruct const SolariumTimeoutDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolariumTimeout), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolariumTimeoutRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolariumTimeoutName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
60 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Ïàðàìåòð ÏÀÓÇÀ ÏÅÐÅÄ ÑÅÀÍÑÎÌ
|
||
*************************************/
|
||
TRangeValueULONG const SolariumPauseRange = {0, 999};
|
||
CPU_INT08U const SolariumPauseName[] = "ÏÀÓÇÀ,Ñ";
|
||
|
||
TDataDescStruct const SolariumPauseDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolariumPause), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolariumPauseRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolariumPauseName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Ïàðàìåòð ÂÐÅÌß ÂÅÍÒÈËßÖÈÈ
|
||
*************************************/
|
||
TRangeValueULONG const SolariumVentilationTimeRange = {60, 10*60};
|
||
CPU_INT08U const SolariumVentilationTimeName[] = "ÂÅÍÒ.,Ñ";
|
||
|
||
TDataDescStruct const SolariumVentilationTimeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolariumVentilationTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolariumVentilationTimeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolariumVentilationTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
180 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Ïàðàìåòð ÑÒÎÈÌÎÑÒÜ ÌÈÍÓÒÛ
|
||
*************************************/
|
||
TRangeValueULONG const SolariumPricePerMinRange = {1, 1000};
|
||
CPU_INT08U const SolariumPricePerMinName[] = "ÐÓÁ/1ÌÈÍ";
|
||
|
||
TDataDescStruct const SolariumPricePerMinDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolariumPricePerMin), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolariumPricePerMinRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolariumPricePerMinName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
10 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Ïàðàìåòð ÌÈÍÈÌÀËÜÍÎÅ ÂÐÅÌß ÇÀÃÀÐÀ
|
||
*************************************/
|
||
TRangeValueULONG const SolariumMinTimeRange = {1, 99};
|
||
CPU_INT08U const SolariumMinTimeName[] = "ÌÈÍ.ÂÐ.,ÌÈÍ";
|
||
|
||
TDataDescStruct const SolariumMinTimeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolariumMinTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolariumMinTimeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolariumMinTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
2 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Ïàðàìåòð ÌÀÊÑÈÌÀËÜÍÎÅ ÂÐÅÌß ÇÀÃÀÐÀ
|
||
*************************************/
|
||
TRangeValueULONG const SolariumMaxTimeRange = {1, 99};
|
||
CPU_INT08U const SolariumMaxTimeName[] = "ÌÀÊÑ.ÂÐ.,ÌÈÍ";
|
||
|
||
TDataDescStruct const SolariumMaxTimeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolariumMaxTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolariumMaxTimeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolariumMaxTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
19 // çíà÷åíèå ïî óìîë÷àíèþ
|
||
};
|
||
|
||
/*************************************
|
||
Íàñòðîéêà çóììåðà
|
||
*************************************/
|
||
TRangeValueULONG const ZummerEnableRange = {0, 1};
|
||
CPU_INT08U const ZummerEnableName[] = "Çóììåð";
|
||
CPU_INT08U const ZummerEnable_str0[] = "îòêë";
|
||
CPU_INT08U const ZummerEnable_str1[] = "âêë";
|
||
CPU_INT08U const *ZummerEnableList[] = {ZummerEnable_str0, ZummerEnable_str1, NULL};
|
||
|
||
extern CPU_INT08U zummer_enabled;
|
||
|
||
void OnZummerEnabledChange(void)
|
||
{
|
||
CPU_INT32U en = 0;
|
||
GetData(&ZummerEnableDesc, &en, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
if (en) zummer_enabled = 1;
|
||
else zummer_enabled = 0;
|
||
}
|
||
|
||
TDataDescStruct const ZummerEnableDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ZummerEnable), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ZummerEnableRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnZummerEnabledChange, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ZummerEnableName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ZummerEnableList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
#endif
|
||
|
||
|
||
#if defined(CONFIG_MUSIC_ENABLE)
|
||
|
||
/*************************************
|
||
Âêëþ÷åíèå çâóêà
|
||
*************************************/
|
||
TRangeValueULONG const SoundEnableRange = {0, 2};
|
||
CPU_INT08U const SoundEnableName[] = "Çâóê ";
|
||
CPU_INT08U const SoundEnable_str0[] = "îòêë";
|
||
CPU_INT08U const SoundEnable_str1[] = "SD-card";
|
||
CPU_INT08U const SoundEnable_str2[] = "Ethernet";
|
||
CPU_INT08U const *SoundEnableList[] = {SoundEnable_str0, SoundEnable_str1, SoundEnable_str2, NULL};
|
||
|
||
void OnChangeMusicIp(void)
|
||
{
|
||
CPU_INT32U sound_type;
|
||
GetData(&SoundTypeDesc, &sound_type, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
if (sound_type == 2)
|
||
{
|
||
PostUserEvent(EVENT_STOP_SOUND_FILE);
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const SoundTypeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SoundEnable), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SoundEnableRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeMusicIp, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SoundEnableName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
SoundEnableList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const SoundTypeDescId[] = "SoundTypeDesc";
|
||
|
||
/*************************************
|
||
IP-àäðåñ ethernet ïëååðà
|
||
*************************************/
|
||
CPU_INT08U const MusicIpAddrName[] = "IP";
|
||
|
||
TDataDescStruct const SoundIpAddrDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_IP_ADDR, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
1, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SoundIpAddr), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeMusicIp, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
MusicIpAddrName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0xC0A800FA
|
||
};
|
||
char const SoundIpAddrDescId[] = "SoundIpAddrDesc";
|
||
|
||
/*************************************
|
||
Ãðîìêîñòü çâóêà
|
||
*************************************/
|
||
TRangeValueULONG const SoundVolumeRange = {0, 100};
|
||
CPU_INT08U const SoundVolumeName[] = "Ãðîìêîñòü";
|
||
|
||
void OnChangeSoundVolume(void)
|
||
{
|
||
CPU_INT32U sound_type;
|
||
GetData(&SoundTypeDesc, &sound_type, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
if (sound_type == 2)
|
||
{
|
||
PostUserEvent(EVENT_UPDATE_MUSIC_VOLUME);
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const SoundVolumeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SoundVolume), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SoundVolumeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeSoundVolume, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SoundVolumeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
100
|
||
};
|
||
char const SoundVolumeDescId[] = "SoundVolumeDesc";
|
||
|
||
/*************************************
|
||
Ñòàòóñ ïîäêëþ÷åíèÿ ïëååðà
|
||
*************************************/
|
||
CPU_INT08U const PlayerStatusName[] = "Ïëååð ";
|
||
CPU_INT08U const PlayerStatus_str0[] = "íå ïîäêëþ÷åí";
|
||
CPU_INT08U const PlayerStatus_str1[] = "ÎÊ";
|
||
CPU_INT08U const *PlayerStatusList[] = {PlayerStatus_str0, PlayerStatus_str1};
|
||
|
||
TDataDescStruct const PlayerStatusDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&player_conn, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
PlayerStatusName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
PlayerStatusList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const PlayerStatusDescId[] = "PlayerStatusDesc";
|
||
|
||
/*************************************
|
||
Êîìàíäà ïðîèãðàòü ôàéë èç ìåíþ
|
||
*************************************/
|
||
TRangeValueULONG const SoundFileIndexRange = {0, 999};
|
||
CPU_INT08U const SoundFileIndexName[] = "Âîñïð.ôàéë";
|
||
|
||
CPU_INT32U file_menu_cmd;
|
||
|
||
void OnChangeSoundFileIndex(void)
|
||
{
|
||
if (file_menu_cmd != 0)
|
||
{
|
||
CPU_INT32U sound_type;
|
||
GetData(&SoundTypeDesc, &sound_type, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
if (sound_type == 1)
|
||
{
|
||
PlayMusicFile(file_menu_cmd);
|
||
}
|
||
else if (sound_type == 2)
|
||
{
|
||
PostUserEvent(EVENT_PLAY_SOUND_FILE);
|
||
}
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const SoundFileIndexDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&file_menu_cmd, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SoundFileIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeSoundFileIndex, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SoundFileIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const SoundFileIndexDescId[] = "SoundFileIndexDesc";
|
||
|
||
#endif
|
||
|
||
#if defined(CONFIG_SDCARD_ENABLE)
|
||
/*************************************
|
||
Ñòàòóñ ïîäêëþ÷åíèÿ SD-êàðòû
|
||
*************************************/
|
||
CPU_INT08U const SdCardStatusName[] = "SD-êàðòà ";
|
||
CPU_INT08U const SdCardStatus_str0[] = "íå ïîäêëþ÷åíà";
|
||
CPU_INT08U const SdCardStatus_str1[] = "íåò";
|
||
CPU_INT08U const SdCardStatus_str2[] = "îøèáêà";
|
||
CPU_INT08U const SdCardStatus_str3[] = "ÎÊ";
|
||
CPU_INT08U const *SdCardStatusList[] = {SdCardStatus_str0, SdCardStatus_str1, SdCardStatus_str2, SdCardStatus_str3};
|
||
|
||
extern CPU_INT32U fat_status;
|
||
|
||
TDataDescStruct const SdCardStatusDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&fat_status, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SdCardStatusName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
SdCardStatusList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const SdCardStatusDescId[] = "SdCardStatusDesc";
|
||
|
||
#endif
|
||
|
||
#if defined(BOARD_SOLARIUM_VLAD)
|
||
|
||
|
||
void CheckVladPasswords(void)
|
||
{
|
||
CPU_INT32U pass[3],crc,crc_fram;
|
||
GetData(&PassDescCleaning, &pass[0], 0, DATA_FLAG_SYSTEM_INDEX);
|
||
GetData(&PassDescService, &pass[1], 0, DATA_FLAG_SYSTEM_INDEX);
|
||
GetData(&PassDescTest, &pass[2], 0, DATA_FLAG_SYSTEM_INDEX);
|
||
crc = crc16((unsigned char*)pass, sizeof(CPU_INT32U) * 3);
|
||
GetData(&PassVladCrc, &crc_fram, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
if (crc != crc_fram)
|
||
{
|
||
pass[0] = 2222;
|
||
pass[1] = 3333;
|
||
pass[2] = 4444;
|
||
crc = crc16((unsigned char*)pass, sizeof(CPU_INT32U) * 3);
|
||
SetData(&PassDescCleaning, &pass[0], 0, DATA_FLAG_SYSTEM_INDEX);
|
||
SetData(&PassDescService, &pass[1], 0, DATA_FLAG_SYSTEM_INDEX);
|
||
SetData(&PassDescTest, &pass[2], 0, DATA_FLAG_SYSTEM_INDEX);
|
||
SetData(&PassVladCrc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
}
|
||
}
|
||
|
||
void OnChangePassModes(void)
|
||
{
|
||
CPU_INT32U pass[3],crc;
|
||
GetData(&PassDescCleaning, &pass[0], 0, DATA_FLAG_SYSTEM_INDEX);
|
||
GetData(&PassDescService, &pass[1], 0, DATA_FLAG_SYSTEM_INDEX);
|
||
GetData(&PassDescTest, &pass[2], 0, DATA_FLAG_SYSTEM_INDEX);
|
||
crc = crc16((unsigned char*)pass, sizeof(CPU_INT32U) * 3);
|
||
SetData(&PassVladCrc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
}
|
||
|
||
CPU_INT08U const PassNameCleaning[] = "ÓÁÎÐÊÀ";
|
||
|
||
TDataDescStruct const PassDescCleaning = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, PassCleaning), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PassRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangePassModes, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
(void*)&PassNameCleaning, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
2222
|
||
};
|
||
|
||
CPU_INT08U const PassNameService[] = "ÑÅÐÂÈÑ";
|
||
|
||
TDataDescStruct const PassDescService = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, PassService), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PassRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangePassModes, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
(void*)&PassNameService, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
3333
|
||
};
|
||
|
||
CPU_INT08U const PassNameTest[] = "ÒÅÑÒ";
|
||
|
||
TDataDescStruct const PassDescTest = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, PassTestMode), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&PassRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangePassModes, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
(void*)&PassNameTest, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
4444
|
||
};
|
||
|
||
char const PassDescCleaningId[] = "PassDescCleaning";
|
||
char const PassDescServiceId[] = "PassDescService";
|
||
char const PassDescTestId[] = "PassDescTest";
|
||
|
||
|
||
TDataDescStruct const PassVladCrc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, PassModesCrc), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Èíäåêñ ìåíþ ðåæèìû
|
||
*************************************/
|
||
CPU_INT08U const SolariumModesName[] = "";
|
||
TRangeValueULONG const SolariumModesRange = {0, CHANNELS_NUM * SOLAR_MODES_COUNT - 1};
|
||
CPU_INT08U const SolariumModes_str0[] = "ÑÎË.1 ÊÎËËÀÒÝÍ";
|
||
CPU_INT08U const SolariumModes_str1[] = "ÑÎË.1 ÓËbÒÐÀÔ.";
|
||
CPU_INT08U const SolariumModes_str2[] = "ÑÎË.1 ÌÀÊÑÈÌ.";
|
||
CPU_INT08U const SolariumModes_str3[] = "ÑÎË.2 ÊÎËËÀÒÝÍ";
|
||
CPU_INT08U const SolariumModes_str4[] = "ÑÎË.2 ÓËbÒÐÀÔ.";
|
||
CPU_INT08U const SolariumModes_str5[] = "ÑÎË.2 ÌÀÊÑÈÌ.";
|
||
CPU_INT08U const SolariumModes_str6[] = "ÑÎË.3 ÊÎËËÀÒÝÍ";
|
||
CPU_INT08U const SolariumModes_str7[] = "ÑÎË.3 ÓËbÒÐÀÔ.";
|
||
CPU_INT08U const SolariumModes_str8[] = "ÑÎË.3 ÌÀÊÑÈÌ.";
|
||
CPU_INT08U const *SolariumModesList[] = {SolariumModes_str0, SolariumModes_str1, SolariumModes_str2, SolariumModes_str3, SolariumModes_str4, SolariumModes_str5, SolariumModes_str6, SolariumModes_str7, SolariumModes_str8};
|
||
|
||
CPU_INT32U solar_modes_index;
|
||
|
||
TDataDescStruct const SolariumModesDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&solar_modes_index, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolariumModesRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolariumModesName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
SolariumModesList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const SolariumModesDescId[] = "SolariumModesDesc";
|
||
|
||
/*************************************
|
||
Èíäåêñ ìåíþ ðåæèìû
|
||
*************************************/
|
||
CPU_INT08U const SolariumModeIndexName[] = "";
|
||
TRangeValueULONG const SolariumModeIndexRange = {0, SOLAR_MODES_COUNT - 1};
|
||
CPU_INT08U const SolariumModeIndex_str0[] = " ÊÎËËÀÒÝÍ";
|
||
CPU_INT08U const SolariumModeIndex_str1[] = " ÓËbÒÐÀÔÈÎËÅÒ";
|
||
CPU_INT08U const SolariumModeIndex_str2[] = " ÌÀÊÑÈÌÀËbÍÛé";
|
||
CPU_INT08U const *SolariumModeIndexList[] = {SolariumModeIndex_str0, SolariumModeIndex_str1, SolariumModeIndex_str2};
|
||
|
||
TDataDescStruct const SolariumModeIndexDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&solar_modes_index, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolariumModeIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolariumModeIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
SolariumModeIndexList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const SolariumModeIndexDescId[] = "SolariumModeIndexDesc";
|
||
|
||
/*************************************
|
||
Êîëè÷åñòâî ëàìï
|
||
*************************************/
|
||
TRangeValueULONG const SolarLampsCountRange = {15, 60};
|
||
CPU_INT08U const SolarLampsCountName[] = "Êîë-âî ëàìï";
|
||
|
||
TDataDescStruct const SolarLampsCountDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM * SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
(void*)&SolariumModesDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolarLampsCount), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolarLampsCountRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolarLampsCountName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
18
|
||
};
|
||
char const SolarLampsCountDescId[] = "SolarLampsCountDesc";
|
||
|
||
/*************************************
|
||
Öåíà ìèíóòû ïî ðåæèìàì
|
||
*************************************/
|
||
TRangeValueULONG const SolarPricePerMinuteRange = {5*100, 9999};
|
||
CPU_INT08U const SolarPricePerMinuteName[] = "Ñò.ìèí.,ðóá.";
|
||
|
||
void OnChangeSolarPricePerMinuteDesc(void)
|
||
{
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE1 + solar_modes_index / SOLAR_MODES_COUNT);
|
||
}
|
||
|
||
TDataDescStruct const SolarPricePerMinuteDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM * SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
(void*)&SolariumModesDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolarPricePerMinute), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolarPricePerMinuteRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeSolarPricePerMinuteDesc, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolarPricePerMinuteName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
1800
|
||
};
|
||
char const SolarPricePerMinuteDescId[] = "SolarPricePerMinuteDesc";
|
||
|
||
|
||
/*************************************
|
||
Òåêóùàÿ öåíà ìèíóòû ïî ðåæèìàì ñ ó÷åòîì ñêèäêè (âî fram äëÿ ýêîíîìèè RAM)
|
||
*************************************/
|
||
CPU_INT08U const SolarCurrentPricePerMinuteName[] = "Ñî ñêèäêîé,ðóá.";
|
||
|
||
TDataDescStruct const SolarCurrentPricePerMinuteDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM * SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
(void*)&SolariumModesDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolarCurrentPricePerMinute), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolarPricePerMinuteRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolarCurrentPricePerMinuteName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const SolarCurrentPricePerMinuteDescId[] = "SolarCurrentPricePerMinuteDesc";
|
||
|
||
/*************************************
|
||
Òåêóùàÿ öåíà ìèíóòû ïî ðåæèìàì ñ ó÷åòîì ñêèäêè (âî fram äëÿ ýêîíîìèè RAM)
|
||
*************************************/
|
||
TDataDescStruct const SolarCurrentPricePerMinuteForViewDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM * SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
(void*)&SolariumModesDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolarCurrentPricePerMinute), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolarPricePerMinuteRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolarCurrentPricePerMinuteName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
/*************************************
|
||
Ìàêñèìàëüíîå âðåìÿ ðàáîòû ïî ðåæèìàì
|
||
*************************************/
|
||
TRangeValueULONG const SolarMaximumTimeMinutesRange = {10, 60};
|
||
CPU_INT08U const SolarMaximumTimeMinutesName[] = "Ìàêñ.âðåìÿ,ìèí.";
|
||
|
||
TDataDescStruct const SolarMaximumTimeMinutesDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM * SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
(void*)&SolariumModesDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolarMaximumTimeMinutes), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolarMaximumTimeMinutesRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolarMaximumTimeMinutesName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
18
|
||
};
|
||
char const SolarMaximumTimeMinutesDescId[] = "SolarMaximumTimeMinutesDesc";
|
||
|
||
/*************************************
|
||
Ìèíèìàëüíîå âðåìÿ ðàáîòû äëÿ ñîëÿðèÿ
|
||
*************************************/
|
||
TRangeValueULONG const SolarMinimumTimeMinutesRange = {1, 10};
|
||
CPU_INT08U const SolarMinimumTimeMinutesName[] = "Ìèí.âðåìÿ,ìèí.";
|
||
|
||
TDataDescStruct const SolarMinimumTimeMinutesDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
(void*)&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolarMinimumTimeMinutes), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolarMinimumTimeMinutesRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolarMinimumTimeMinutesName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
2
|
||
};
|
||
char const SolarMinimumTimeMinutesDescId[] = "SolarMinimumTimeMinutesDesc";
|
||
|
||
/*************************************
|
||
Âðåìÿ âåíòèëÿöèè äëÿ ñîëÿðèÿ
|
||
*************************************/
|
||
TRangeValueULONG const SolarVentilationTimeMinutesRange = {2, 9};
|
||
CPU_INT08U const SolarVentilationTimeMinutesName[] = "Âåíòèë.,ìèí.";
|
||
|
||
TDataDescStruct const SolarVentilationTimeMinutesDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
(void*)&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolarVentilationTimeMinutes), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolarVentilationTimeMinutesRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolarVentilationTimeMinutesName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
3
|
||
};
|
||
char const SolarVentilationTimeMinutesDescId[] = "SolarVentilationTimeMinutesDesc";
|
||
|
||
/*************************************
|
||
Òàéìàóò äî íà÷àëà ñåàíñà
|
||
*************************************/
|
||
TRangeValueULONG const SolarTimeoutBeforeMinutesRange = {0, 20};
|
||
CPU_INT08U const SolarTimeoutBeforeMinutesName[] = "Ïàóçà äî,ìèí.";
|
||
|
||
TDataDescStruct const SolarTimeoutBeforeMinutesDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
(void*)&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolarTimeoutBeforeMinutes), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolarTimeoutBeforeMinutesRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolarTimeoutBeforeMinutesName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
1
|
||
};
|
||
char const SolarTimeoutBeforeMinutesDescId[] = "SolarTimeoutBeforeMinutesDesc";
|
||
|
||
/*************************************
|
||
Òàéìàóò ïîñëå îêîí÷àíèÿ ñåàíñà (âðåìÿ íà îäåâàíèå)
|
||
*************************************/
|
||
TRangeValueULONG const SolarTimeoutAfterMinutesRange = {0, 10};
|
||
CPU_INT08U const SolarTimeoutAfterMinutesName[] = "Ïàóçà ïîñëå,ìèí.";
|
||
|
||
TDataDescStruct const SolarTimeoutAfterMinutesDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
(void*)&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolarTimeoutAfterMinutes), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolarTimeoutAfterMinutesRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolarTimeoutAfterMinutesName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
5
|
||
};
|
||
char const SolarTimeoutAfterMinutesDescId[] = "SolarTimeoutAfterMinutesDesc";
|
||
|
||
/*************************************
|
||
Êàíàë óïðàâëåíèÿ äëÿ êàíàëà
|
||
*************************************/
|
||
TRangeValueULONG const SolarControlChannelRange = {0, 2};
|
||
CPU_INT08U const SolarControlChannelName[] = "Óïðàâëåíèå";
|
||
CPU_INT08U const SolarControlChannel_str0[] = "ÏÎÐÒ 1";
|
||
CPU_INT08U const SolarControlChannel_str1[] = "ÏÎÐÒ 2";
|
||
CPU_INT08U const SolarControlChannel_str2[] = "ÏÎÐÒ 3";
|
||
CPU_INT08U const *SolarControlChannelList[] = {SolarControlChannel_str0, SolarControlChannel_str1, SolarControlChannel_str2};
|
||
|
||
extern void LoadControlChannels(void);
|
||
|
||
void OnChangeControlChannels()
|
||
{
|
||
LoadControlChannels();
|
||
}
|
||
|
||
TDataDescStruct const SolarControlChannelDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
(void*)&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolarControlChannels), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolarControlChannelRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeControlChannels, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolarControlChannelName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
SolarControlChannelList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const SolarControlChannelDescId[] = "SolarControlChannelDesc";
|
||
|
||
/*************************************
|
||
Òàéìàóò óáîðêè (îäèí íà âñå ñîëÿðèè)
|
||
*************************************/
|
||
TRangeValueULONG const SolarCleaningTimeoutMinutesRange = {0, 60};
|
||
CPU_INT08U const SolarCleaningTimeoutMinutesName[] = "Òàéìàóò óá.ìèí.";
|
||
|
||
TDataDescStruct const SolarCleaningTimeoutMinutesDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolarCleaningTimeout), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SolarCleaningTimeoutMinutesRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SolarCleaningTimeoutMinutesName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
30
|
||
};
|
||
char const SolarCleaningTimeoutMinutesDescId[] = "SolarCleaningTimeoutMinutesDesc";
|
||
|
||
/*************************************
|
||
Èíäåêñ àáîíåìåíòà
|
||
*************************************/
|
||
CPU_INT08U const AbonementIndexName[] = "";
|
||
TRangeValueULONG const AbonementIndexHourRange = {0, 3};
|
||
CPU_INT08U const AbonementIndexHour_str0[] = "ÑÅÐÅÁÐßÍÍÛé";
|
||
CPU_INT08U const AbonementIndexHour_str1[] = "ÇÎËÎÒÎé";
|
||
CPU_INT08U const AbonementIndexHour_str2[] = "ÏËÀÒÈÍÎÂÛé";
|
||
CPU_INT08U const AbonementIndexHour_str3[] = "ÀËÌÀÇÍÛé";
|
||
CPU_INT08U const *AbonementIndexHourList[] = {AbonementIndexHour_str0, AbonementIndexHour_str1, AbonementIndexHour_str2, AbonementIndexHour_str3};
|
||
|
||
CPU_INT32U abonement_index;
|
||
|
||
TDataDescStruct const AbonementIndexDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&abonement_index, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&AbonementIndexHourRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
AbonementIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
AbonementIndexHourList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const AbonementIndexDescId[] = "AbonementIndexDesc";
|
||
|
||
|
||
/*************************************
|
||
Äåíüãè
|
||
*************************************/
|
||
TRangeValueULONG const AbonementMoneyRange = {0, 99999};
|
||
CPU_INT08U const AbonementMoneyName[] = "Äåíüãè";
|
||
|
||
TDataDescStruct const AbonementMoneyDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
4, // ðàçìåð ìàññèâà
|
||
&AbonementIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, AbonementMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&AbonementMoneyRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
AbonementMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
3000
|
||
};
|
||
|
||
/*************************************
|
||
Èíäåêñ àáîíåìåíòà
|
||
*************************************/
|
||
|
||
TRangeValueULONG const AbonementIndexRange = {0, 4};
|
||
CPU_INT08U const AbonementIndex_str0[] = "ÑÅÐÅÁÐßÍÍÛé";
|
||
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};
|
||
|
||
TDataDescStruct const AbonementCounterIndexDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&abonement_index, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&AbonementIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
AbonementIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
AbonementIndexList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const AbonementCounterIndexDescId[] = "AbonementCounterIndexDesc";
|
||
|
||
/*************************************
|
||
Äåíüãè
|
||
*************************************/
|
||
|
||
CPU_INT08U const AbonementMoneyAbonementName[] = "Îïëà÷åíî,ðóá";
|
||
|
||
TDataDescStruct const CounterMoneyAbonementDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
5, // ðàçìåð ìàññèâà
|
||
&AbonementCounterIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.abonement[0].card_money), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(AbonentCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
AbonementMoneyAbonementName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterMoneyAbonementDescId[] = "CounterMoneyAbonementDesc";
|
||
|
||
/*************************************
|
||
Áîíóñû
|
||
*************************************/
|
||
|
||
CPU_INT08U const AbonementBonusName[] = "Áîíóñû";
|
||
|
||
TDataDescStruct const CounterBonusAbonementDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
5, // ðàçìåð ìàññèâà
|
||
&AbonementCounterIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.abonement[0].card_bonus), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(AbonentCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
AbonementBonusName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterBonusAbonementDescId[] = "CounterBonusAbonementDesc";
|
||
|
||
/*************************************
|
||
Êîëè÷åñòâî çàïóñêîâ
|
||
*************************************/
|
||
|
||
CPU_INT08U const AbonementRunsName[] = "Êîë-âî";
|
||
|
||
TDataDescStruct const CounterRunsAbonementDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
5, // ðàçìåð ìàññèâà
|
||
&AbonementCounterIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.abonement[0].runs), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(AbonentCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
AbonementRunsName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterRunsAbonementDescId[] = "CounterRunsAbonementDesc";
|
||
|
||
/*************************************
|
||
Áîíóñû
|
||
*************************************/
|
||
TRangeValueULONG const AbonementBonusRange = {0, 99999};
|
||
|
||
TDataDescStruct const AbonementBonusDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
4, // ðàçìåð ìàññèâà
|
||
&AbonementIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, AbonementBonus), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&AbonementBonusRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
AbonementBonusName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
600
|
||
};
|
||
|
||
/*************************************
|
||
Ñðîê äåéñòâèÿ
|
||
*************************************/
|
||
TRangeValueULONG const AbonementBestBeforeRange = {0, 1000};
|
||
CPU_INT08U const AbonementBestBeforeName[] = "Ñðîê äåéñò,äí.";
|
||
|
||
TDataDescStruct const AbonementBestBeforeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
4, // ðàçìåð ìàññèâà
|
||
&AbonementIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, AbonementBestBefore), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&AbonementBestBeforeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
AbonementBestBeforeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
180
|
||
};
|
||
|
||
/*************************************
|
||
Èíäåêñ ñêèäêè ïî ÷àñàì
|
||
*************************************/
|
||
CPU_INT08U const DiscountIndexHourName[] = " ÑÊÈÄÊÀ";
|
||
TRangeValueULONG const DiscountIndexHourRange = {0, 3};
|
||
CPU_INT08U const DiscountIndexHour_str0[] = "ÍÎ×b";
|
||
CPU_INT08U const DiscountIndexHour_str1[] = "ÓÒÐÎ";
|
||
CPU_INT08U const DiscountIndexHour_str2[] = "ÄÅÍb";
|
||
CPU_INT08U const DiscountIndexHour_str3[] = "ÂÅ×ÅÐ";
|
||
CPU_INT08U const *DiscountIndexHourList[] = {DiscountIndexHour_str0, DiscountIndexHour_str1, DiscountIndexHour_str2, DiscountIndexHour_str3};
|
||
|
||
CPU_INT32U discount_index;
|
||
|
||
TDataDescStruct const DiscountIndexHourDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&discount_index, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DiscountIndexHourRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DiscountIndexHourName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
DiscountIndexHourList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const DiscountIndexHourDescId[] = "DiscountIndexHourDesc";
|
||
|
||
/*************************************
|
||
Íà÷àëî èíòåðâàëà ñêèäêè ïî ÷àñàì
|
||
*************************************/
|
||
CPU_INT08U const DiscountBeginHourName[] = "Íà÷àëî";
|
||
TRangeValueULONG const DiscountBeginHourRange = {0, 23};
|
||
CPU_INT08U const DiscountBeginHour_str0[] = "00:00";
|
||
CPU_INT08U const DiscountBeginHour_str1[] = "01:00";
|
||
CPU_INT08U const DiscountBeginHour_str2[] = "02:00";
|
||
CPU_INT08U const DiscountBeginHour_str3[] = "03:00";
|
||
CPU_INT08U const DiscountBeginHour_str4[] = "04:00";
|
||
CPU_INT08U const DiscountBeginHour_str5[] = "05:00";
|
||
CPU_INT08U const DiscountBeginHour_str6[] = "06:00";
|
||
CPU_INT08U const DiscountBeginHour_str7[] = "07:00";
|
||
CPU_INT08U const DiscountBeginHour_str8[] = "08:00";
|
||
CPU_INT08U const DiscountBeginHour_str9[] = "09:00";
|
||
CPU_INT08U const DiscountBeginHour_str10[] = "10:00";
|
||
CPU_INT08U const DiscountBeginHour_str11[] = "11:00";
|
||
CPU_INT08U const DiscountBeginHour_str12[] = "12:00";
|
||
CPU_INT08U const DiscountBeginHour_str13[] = "13:00";
|
||
CPU_INT08U const DiscountBeginHour_str14[] = "14:00";
|
||
CPU_INT08U const DiscountBeginHour_str15[] = "15:00";
|
||
CPU_INT08U const DiscountBeginHour_str16[] = "16:00";
|
||
CPU_INT08U const DiscountBeginHour_str17[] = "17:00";
|
||
CPU_INT08U const DiscountBeginHour_str18[] = "18:00";
|
||
CPU_INT08U const DiscountBeginHour_str19[] = "19:00";
|
||
CPU_INT08U const DiscountBeginHour_str20[] = "20:00";
|
||
CPU_INT08U const DiscountBeginHour_str21[] = "21:00";
|
||
CPU_INT08U const DiscountBeginHour_str22[] = "22:00";
|
||
CPU_INT08U const DiscountBeginHour_str23[] = "23:00";
|
||
CPU_INT08U const *DiscountBeginHourList[] = {DiscountBeginHour_str0, DiscountBeginHour_str1, DiscountBeginHour_str2, DiscountBeginHour_str3,
|
||
DiscountBeginHour_str4, DiscountBeginHour_str5, DiscountBeginHour_str6, DiscountBeginHour_str7,
|
||
DiscountBeginHour_str8, DiscountBeginHour_str9, DiscountBeginHour_str10, DiscountBeginHour_str11,
|
||
DiscountBeginHour_str12, DiscountBeginHour_str13, DiscountBeginHour_str14, DiscountBeginHour_str15,
|
||
DiscountBeginHour_str16, DiscountBeginHour_str17, DiscountBeginHour_str18, DiscountBeginHour_str19,
|
||
DiscountBeginHour_str20, DiscountBeginHour_str21, DiscountBeginHour_str22, DiscountBeginHour_str23};
|
||
|
||
void OnChangeDiscountBegin(void)
|
||
{
|
||
CPU_INT32U begin_val, end_val;
|
||
GetData(&DiscountBeginHourDesc, &begin_val, discount_index, DATA_FLAG_DIRECT_INDEX);
|
||
GetData(&DiscountEndHourDesc, &end_val, discount_index, DATA_FLAG_DIRECT_INDEX);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE1);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE2);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE3);
|
||
if (end_val < begin_val)
|
||
{
|
||
end_val = begin_val;
|
||
SetData(&DiscountEndHourDesc, &end_val, discount_index, DATA_FLAG_DIRECT_INDEX);
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const DiscountBeginHourDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
4, // ðàçìåð ìàññèâà
|
||
(void*)&DiscountIndexHourDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DiscountHourBegin), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DiscountBeginHourRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeDiscountBegin, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DiscountBeginHourName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
DiscountBeginHourList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const DiscountBeginHourDescId[] = "DiscountBeginHourDesc";
|
||
|
||
/*************************************
|
||
Êîíåö èíòåðâàëà ñêèäêè ïî ÷àñàì
|
||
*************************************/
|
||
CPU_INT08U const DiscountEndHourName[] = "Îêîí÷àíèå";
|
||
TRangeValueULONG const DiscountEndHourRange = {0, 23};
|
||
CPU_INT08U const DiscountEndHour_str0[] = "00:59";
|
||
CPU_INT08U const DiscountEndHour_str1[] = "01:59";
|
||
CPU_INT08U const DiscountEndHour_str2[] = "02:59";
|
||
CPU_INT08U const DiscountEndHour_str3[] = "03:59";
|
||
CPU_INT08U const DiscountEndHour_str4[] = "04:59";
|
||
CPU_INT08U const DiscountEndHour_str5[] = "05:59";
|
||
CPU_INT08U const DiscountEndHour_str6[] = "06:59";
|
||
CPU_INT08U const DiscountEndHour_str7[] = "07:59";
|
||
CPU_INT08U const DiscountEndHour_str8[] = "08:59";
|
||
CPU_INT08U const DiscountEndHour_str9[] = "09:59";
|
||
CPU_INT08U const DiscountEndHour_str10[] = "10:59";
|
||
CPU_INT08U const DiscountEndHour_str11[] = "11:59";
|
||
CPU_INT08U const DiscountEndHour_str12[] = "12:59";
|
||
CPU_INT08U const DiscountEndHour_str13[] = "13:59";
|
||
CPU_INT08U const DiscountEndHour_str14[] = "14:59";
|
||
CPU_INT08U const DiscountEndHour_str15[] = "15:59";
|
||
CPU_INT08U const DiscountEndHour_str16[] = "16:59";
|
||
CPU_INT08U const DiscountEndHour_str17[] = "17:59";
|
||
CPU_INT08U const DiscountEndHour_str18[] = "18:59";
|
||
CPU_INT08U const DiscountEndHour_str19[] = "19:59";
|
||
CPU_INT08U const DiscountEndHour_str20[] = "20:59";
|
||
CPU_INT08U const DiscountEndHour_str21[] = "21:59";
|
||
CPU_INT08U const DiscountEndHour_str22[] = "22:59";
|
||
CPU_INT08U const DiscountEndHour_str23[] = "23:59";
|
||
CPU_INT08U const *DiscountEndHourList[] = {DiscountEndHour_str0, DiscountEndHour_str1, DiscountEndHour_str2, DiscountEndHour_str3,
|
||
DiscountEndHour_str4, DiscountEndHour_str5, DiscountEndHour_str6, DiscountEndHour_str7,
|
||
DiscountEndHour_str8, DiscountEndHour_str9, DiscountEndHour_str10, DiscountEndHour_str11,
|
||
DiscountEndHour_str12, DiscountEndHour_str13, DiscountEndHour_str14, DiscountEndHour_str15,
|
||
DiscountEndHour_str16, DiscountEndHour_str17, DiscountEndHour_str18, DiscountEndHour_str19,
|
||
DiscountEndHour_str20, DiscountEndHour_str21, DiscountEndHour_str22, DiscountEndHour_str23};
|
||
|
||
void OnChangeDiscountEnd(void)
|
||
{
|
||
CPU_INT32U begin_val, end_val;
|
||
GetData(&DiscountBeginHourDesc, &begin_val, discount_index, DATA_FLAG_DIRECT_INDEX);
|
||
GetData(&DiscountEndHourDesc, &end_val, discount_index, DATA_FLAG_DIRECT_INDEX);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE1);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE2);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE3);
|
||
if (begin_val >= end_val)
|
||
{
|
||
begin_val = end_val;
|
||
SetData(&DiscountBeginHourDesc, &begin_val, discount_index, DATA_FLAG_DIRECT_INDEX);
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const DiscountEndHourDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
4, // ðàçìåð ìàññèâà
|
||
(void*)&DiscountIndexHourDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DiscountHourEnd), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DiscountEndHourRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeDiscountEnd, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DiscountEndHourName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
DiscountEndHourList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const DiscountEndHourDescId[] = "DiscountEndHourDesc";
|
||
|
||
/*************************************
|
||
Çíà÷åíèå ñêèäêè ïî ÷àñàì â ïðîöåíòàõ
|
||
*************************************/
|
||
CPU_INT08U const DiscountValueHourName[] = "Ñêèäêà,%";
|
||
TRangeValueULONG const DiscountValueHourRange = {0, 99};
|
||
|
||
void OnChangeDiscountValueHour(void)
|
||
{
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE1);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE2);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE3);
|
||
}
|
||
|
||
TDataDescStruct const DiscountValueHourDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
4, // ðàçìåð ìàññèâà
|
||
(void*)&DiscountIndexHourDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DiscountHourValue), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DiscountValueHourRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeDiscountValueHour, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DiscountValueHourName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const DiscountValueHourDescId[] = "DiscountValueHourDesc";
|
||
|
||
/*************************************
|
||
Èíäåêñ ñêèäêè ïî äíÿì íåäåëè
|
||
*************************************/
|
||
CPU_INT08U const DiscountIndexDayName[] = " ÑÊÈÄÊÀ";
|
||
TRangeValueULONG const DiscountIndexDayRange = {0, 6};
|
||
CPU_INT08U const DiscountIndexDay_str0[] = "ÂÑ";
|
||
CPU_INT08U const DiscountIndexDay_str1[] = "ÏÍ";
|
||
CPU_INT08U const DiscountIndexDay_str2[] = "ÂÒ";
|
||
CPU_INT08U const DiscountIndexDay_str3[] = "ÑÐ";
|
||
CPU_INT08U const DiscountIndexDay_str4[] = "×Ò";
|
||
CPU_INT08U const DiscountIndexDay_str5[] = "ÏÒ";
|
||
CPU_INT08U const DiscountIndexDay_str6[] = "ÑÁ";
|
||
CPU_INT08U const *DiscountIndexDayList[] = {DiscountIndexDay_str0, DiscountIndexDay_str1, DiscountIndexDay_str2, DiscountIndexDay_str3, DiscountIndexDay_str4, DiscountIndexDay_str5, DiscountIndexDay_str6};
|
||
|
||
TDataDescStruct const DiscountIndexDayDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&discount_index, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DiscountIndexDayRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DiscountIndexDayName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
DiscountIndexDayList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const DiscountIndexDayDescId[] = "DiscountIndexDayDesc";
|
||
|
||
/*************************************
|
||
Çíà÷åíèå ñêèäêè ïî äíÿì íåäåëè â ïðîöåíòàõ
|
||
*************************************/
|
||
CPU_INT08U const DiscountValueDayName[] = "Ñêèäêà,%";
|
||
TRangeValueULONG const DiscountValueDayRange = {0, 99};
|
||
|
||
void OnChangeDiscountValueDay(void)
|
||
{
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE1);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE2);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE3);
|
||
}
|
||
|
||
TDataDescStruct const DiscountValueDayDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
7, // ðàçìåð ìàññèâà
|
||
(void*)&DiscountIndexDayDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DiscountDayValue), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DiscountValueDayRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeDiscountValueDay, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DiscountValueDayName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const DiscountValueDayDescId[] = "DiscountValueDayDesc";
|
||
|
||
/*************************************
|
||
Èíäåêñ ñêèäêè ïî ìåñÿöàì
|
||
*************************************/
|
||
CPU_INT08U const DiscountIndexMonthName[] = "ÑÊÈÄÊÀ";
|
||
TRangeValueULONG const DiscountIndexMonthRange = {0, 11};
|
||
CPU_INT08U const DiscountIndexMonth_str0[] = "ßÍÂÀÐb";
|
||
CPU_INT08U const DiscountIndexMonth_str1[] = "ÔÅÂÐÀËb";
|
||
CPU_INT08U const DiscountIndexMonth_str2[] = "ÌÀÐÒ";
|
||
CPU_INT08U const DiscountIndexMonth_str3[] = "ÀÏÐÅËb";
|
||
CPU_INT08U const DiscountIndexMonth_str4[] = "ÌÀé";
|
||
CPU_INT08U const DiscountIndexMonth_str5[] = "ÈÞÍb";
|
||
CPU_INT08U const DiscountIndexMonth_str6[] = "ÈÞËb";
|
||
CPU_INT08U const DiscountIndexMonth_str7[] = "ÀÂÃÓÑÒ";
|
||
CPU_INT08U const DiscountIndexMonth_str8[] = "ÑÅÍÒßÁÐb";
|
||
CPU_INT08U const DiscountIndexMonth_str9[] = "ÎÊÒßÁÐb";
|
||
CPU_INT08U const DiscountIndexMonth_str10[] = "ÍÎßÁÐb";
|
||
CPU_INT08U const DiscountIndexMonth_str11[] = "ÄÅÊÀÁÐb";
|
||
CPU_INT08U const *DiscountIndexMonthList[] = {DiscountIndexMonth_str0, DiscountIndexMonth_str1, DiscountIndexMonth_str2,
|
||
DiscountIndexMonth_str3, DiscountIndexMonth_str4, DiscountIndexMonth_str5,
|
||
DiscountIndexMonth_str6, DiscountIndexMonth_str7, DiscountIndexMonth_str8,
|
||
DiscountIndexMonth_str9, DiscountIndexMonth_str10, DiscountIndexMonth_str11};
|
||
|
||
TDataDescStruct const DiscountIndexMonthDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&discount_index, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DiscountIndexMonthRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DiscountIndexMonthName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
DiscountIndexMonthList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const DiscountIndexMonthDescId[] = "DiscountIndexMonthDesc";
|
||
|
||
/*************************************
|
||
Çíà÷åíèå ñêèäêè ïî ìåñÿöàì â ïðîöåíòàõ
|
||
*************************************/
|
||
CPU_INT08U const DiscountValueMonthName[] = "Ñêèäêà,%";
|
||
TRangeValueULONG const DiscountValueMonthRange = {0, 99};
|
||
|
||
void OnChangeDiscountValueMonth(void)
|
||
{
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE1);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE2);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE3);
|
||
}
|
||
|
||
TDataDescStruct const DiscountValueMonthDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
12, // ðàçìåð ìàññèâà
|
||
(void*)&DiscountIndexMonthDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DiscountMonthValue), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DiscountValueMonthRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeDiscountValueMonth, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DiscountValueMonthName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const DiscountValueMonthDescId[] = "DiscountValueMonthDesc";
|
||
|
||
/*************************************
|
||
Èíäåêñ ñêèäêè ðàçîâîé
|
||
*************************************/
|
||
CPU_INT08U const DiscountIndexCustomName[] = " ÑÊÈÄÊÀ";
|
||
TRangeValueULONG const DiscountIndexCustomRange = {0, 2};
|
||
CPU_INT08U const DiscountIndexCustom_str0[] = "1";
|
||
CPU_INT08U const DiscountIndexCustom_str1[] = "2";
|
||
CPU_INT08U const DiscountIndexCustom_str2[] = "3";
|
||
CPU_INT08U const *DiscountIndexCustomList[] = {DiscountIndexCustom_str0, DiscountIndexCustom_str1, DiscountIndexCustom_str2};
|
||
|
||
TDataDescStruct const DiscountIndexCustomDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&discount_index, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DiscountIndexCustomRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DiscountIndexCustomName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
DiscountIndexCustomList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const DiscountIndexCustomDescId[] = "DiscountIndexCustomDesc";
|
||
|
||
/*************************************
|
||
Çíà÷åíèå ñêèäêè ðàçîâîé
|
||
*************************************/
|
||
CPU_INT08U const DiscountValueCustomName[] = "Ñêèäêà,%";
|
||
TRangeValueULONG const DiscountValueCustomRange = {0, 99};
|
||
|
||
void OnChangeDiscountValueCustom(void)
|
||
{
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE1);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE2);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE3);
|
||
}
|
||
|
||
TDataDescStruct const DiscountValueCustomDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
3, // ðàçìåð ìàññèâà
|
||
(void*)&DiscountIndexCustomDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DiscountCustomValue), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&DiscountValueCustomRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeDiscountValueCustom, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DiscountValueCustomName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const DiscountValueCustomDescId[] = "DiscountValueCustomDesc";
|
||
|
||
/*************************************
|
||
Äàòà íà÷àëà ðàçîâîé ñêèäêè
|
||
*************************************/
|
||
CPU_INT08U const DiscountDateBeginCustomName[] = "Îò";
|
||
|
||
void OnChangeDiscountDateBeginCustomDesc(void)
|
||
{
|
||
CPU_INT32U begin, end;
|
||
GetData(&DiscountDateBeginCustomDesc, &begin, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
GetData(&DiscountDateEndCustomDesc, &end, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE1);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE2);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE3);
|
||
if (begin > end)
|
||
{
|
||
end = begin;
|
||
SetData(&DiscountDateEndCustomDesc, &end, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const DiscountDateBeginCustomDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_DATE, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
3, // ðàçìåð ìàññèâà
|
||
(void*)&DiscountIndexCustomDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DiscountBeginDateValue), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DiscountDateBeginCustomName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const DiscountDateBeginCustomDescId[] = "DiscountDateBeginCustomDesc";
|
||
|
||
/*************************************
|
||
Äàòà êîíöà ðàçîâîé ñêèäêè
|
||
*************************************/
|
||
CPU_INT08U const DiscountDateEndCustomName[] = "Äî";
|
||
|
||
void OnChangeDiscountDateEndCustomDesc(void)
|
||
{
|
||
CPU_INT32U begin, end;
|
||
GetData(&DiscountDateBeginCustomDesc, &begin, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
GetData(&DiscountDateEndCustomDesc, &end, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE1);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE2);
|
||
PostScoreEvent(SCORE_EVENT_UPDATE_PRICE3);
|
||
if (end < begin)
|
||
{
|
||
begin = end;
|
||
SetData(&DiscountDateBeginCustomDesc, &begin, 0, DATA_FLAG_SYSTEM_INDEX);
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const DiscountDateEndCustomDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_DATE, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
3, // ðàçìåð ìàññèâà
|
||
(void*)&DiscountIndexCustomDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, DiscountEndDateValue), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DiscountDateEndCustomName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const DiscountDateEndCustomDescId[] = "DiscountDateEndCustomDesc";
|
||
|
||
/*************************************
|
||
Çíà÷åíèå òåêóùåé ñêèäêè
|
||
*************************************/
|
||
CPU_INT08U const DiscountValueCurrentName[] = "Òåêóùàÿ,%";
|
||
|
||
CPU_INT32U current_discount;
|
||
|
||
TDataDescStruct const DiscountValueCurrentDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)¤t_discount, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
DiscountValueCurrentName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const DiscountValueCurrentDescId[] = "DiscountValueCurrentDesc";
|
||
|
||
/*************************************
|
||
Èíäåêñ òàáëî
|
||
*************************************/
|
||
CPU_INT08U const ScoreIndexName[] = "ÒÀÁËÎ";
|
||
TRangeValueULONG const ScoreIndexRange = {0, SCORE_COUNT - 1};
|
||
CPU_INT08U const ScoreIndex_str0[] = "ÂÐÅÌÅÍÈ 1";
|
||
CPU_INT08U const ScoreIndex_str1[] = "ÂÐÅÌÅÍÈ 2";
|
||
CPU_INT08U const ScoreIndex_str2[] = "ÂÐÅÌÅÍÈ 3";
|
||
CPU_INT08U const ScoreIndex_str3[] = "ÖÅÍ 1";
|
||
CPU_INT08U const ScoreIndex_str4[] = "ÖÅÍ 2";
|
||
CPU_INT08U const ScoreIndex_str5[] = "ÖÅÍ 3";
|
||
CPU_INT08U const *ScoreIndexList[] = {ScoreIndex_str0, ScoreIndex_str1, ScoreIndex_str2, ScoreIndex_str3, ScoreIndex_str4, ScoreIndex_str5};
|
||
|
||
CPU_INT32U score_index;
|
||
|
||
TDataDescStruct const ScoreIndexDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&score_index, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ScoreIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ScoreIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ScoreIndexList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const ScoreIndexDescId[] = "ScoreIndexDesc";
|
||
|
||
/*************************************
|
||
Âêëþ÷åíèå òàáëî
|
||
*************************************/
|
||
CPU_INT08U const ScoreEnableName[] = "Âêëþ÷èòü";
|
||
TRangeValueULONG const ScoreEnableRange = {0, 1};
|
||
CPU_INT08U const ScoreEnable_str0[] = "íåò";
|
||
CPU_INT08U const ScoreEnable_str1[] = "äà";
|
||
CPU_INT08U const *ScoreEnableList[] = {ScoreEnable_str0, ScoreEnable_str1};
|
||
|
||
TDataDescStruct const ScoreEnableDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
SCORE_COUNT, // ðàçìåð ìàññèâà
|
||
&ScoreIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ScoreEnable), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ScoreEnableRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ScoreEnableName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ScoreEnableList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const ScoreEnableDescId[] = "ScoreEnableDesc";
|
||
|
||
/*************************************
|
||
Ñêîðîñòü ñâÿçè (îáùàÿ äëÿ òàáëî)
|
||
*************************************/
|
||
CPU_INT08U const ScoreRs485SpeedName[] = "Ñêîðîñòü,áîä";
|
||
TRangeValueULONG const ScoreRs485SpeedRange = {0, 7};
|
||
CPU_INT08U const ScoreRs485Speed_str0[] = "1200";
|
||
CPU_INT08U const ScoreRs485Speed_str1[] = "2400";
|
||
CPU_INT08U const ScoreRs485Speed_str2[] = "4800";
|
||
CPU_INT08U const ScoreRs485Speed_str3[] = "9600";
|
||
CPU_INT08U const ScoreRs485Speed_str4[] = "19200";
|
||
CPU_INT08U const ScoreRs485Speed_str5[] = "38400";
|
||
CPU_INT08U const ScoreRs485Speed_str6[] = "57600";
|
||
CPU_INT08U const ScoreRs485Speed_str7[] = "115200";
|
||
CPU_INT08U const *ScoreRs485SpeedList[] = {ScoreRs485Speed_str0, ScoreRs485Speed_str1, ScoreRs485Speed_str2, ScoreRs485Speed_str3,
|
||
ScoreRs485Speed_str4, ScoreRs485Speed_str5, ScoreRs485Speed_str6, ScoreRs485Speed_str7};
|
||
|
||
|
||
void OnChangeScoreRs485SpeedDesc(void)
|
||
{
|
||
PostScoreEvent(SCORE_EVENT_CHANGE_SPEED);
|
||
}
|
||
|
||
TDataDescStruct const ScoreRs485SpeedDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ScoreRs485Speed), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ScoreRs485SpeedRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeScoreRs485SpeedDesc, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ScoreRs485SpeedName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ScoreRs485SpeedList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
3
|
||
};
|
||
char const ScoreRs485SpeedDescId[] = "ScoreRs485SpeedDesc";
|
||
|
||
/*************************************
|
||
Àäðåñ òàáëî
|
||
*************************************/
|
||
CPU_INT08U const ScoreRs485AddressName[] = "Àäðåñ";
|
||
TRangeValueULONG const ScoreRs485AddressRange = {1, 254};
|
||
|
||
TDataDescStruct const ScoreRs485AddressDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
SCORE_COUNT, // ðàçìåð ìàññèâà
|
||
&ScoreIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ScoreRs485Address), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ScoreRs485AddressRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ScoreRs485AddressName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
1
|
||
};
|
||
char const ScoreRs485AddressDescId[] = "ScoreRs485AddressDesc";
|
||
|
||
/*************************************
|
||
Ðàçäåëèòåëü äëÿ òàáëî òî÷êà èëè äâîåòî÷èå
|
||
*************************************/
|
||
CPU_INT08U const ScoreColumnName[] = "Ðàçäåëèòåëü";
|
||
TRangeValueULONG const ScoreColumnRange = {0, 1};
|
||
CPU_INT08U const ScoreColumn_str0[] = ":";
|
||
CPU_INT08U const ScoreColumn_str1[] = ".";
|
||
CPU_INT08U const *ScoreColumnList[] = {ScoreColumn_str0, ScoreColumn_str1};
|
||
|
||
TDataDescStruct const ScoreColumnDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
SCORE_COUNT, // ðàçìåð ìàññèâà
|
||
&ScoreIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, ScoreColumn), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ScoreColumnRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ScoreColumnName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ScoreColumnList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const ScoreColumnDescId[] = "ScoreColumnDesc";
|
||
|
||
/*************************************
|
||
Êîìàíäà íàñòðîéêè òàáëî
|
||
*************************************/
|
||
CPU_INT08U const ScoreCommandName[] = "Íàñòðîèòü";
|
||
TRangeValueULONG const ScoreCommandRange = {0, 1};
|
||
CPU_INT08U const ScoreCommand_str0[] = "íåò";
|
||
CPU_INT08U const ScoreCommand_str1[] = "äà";
|
||
CPU_INT08U const *ScoreCommandList[] = {ScoreCommand_str0, ScoreCommand_str1};
|
||
|
||
CPU_INT32U score_cmd;
|
||
|
||
void OnchangeScoreCommand(void)
|
||
{
|
||
if (score_cmd)
|
||
{
|
||
PostScoreEvent(SCORE_EVENT_SETUP1 + score_index);
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const ScoreCommandDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&score_cmd, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ScoreCommandRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnchangeScoreCommand, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ScoreCommandName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ScoreCommandList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const ScoreCommandDescId[] = "ScoreCommandDesc";
|
||
|
||
/*************************************
|
||
Ñòàòóñ ïîäêëþ÷åíèÿ òàáëî
|
||
*************************************/
|
||
CPU_INT08U const ScoreStateName[] = "Ñîñòîÿíèå";
|
||
TRangeValueULONG const ScoreStateRange = {0, 3};
|
||
CPU_INT08U const ScoreState_str0[] = "îòêë";
|
||
CPU_INT08U const ScoreState_str1[] = "ïîäêë";
|
||
CPU_INT08U const ScoreState_str2[] = "îøèáêà";
|
||
CPU_INT08U const ScoreState_str3[] = "íàñòðîéêà";
|
||
CPU_INT08U const *ScoreStateList[] = {ScoreState_str0, ScoreState_str1, ScoreState_str2, ScoreState_str3};
|
||
|
||
TDataDescStruct const ScoreStateDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
SCORE_COUNT, // ðàçìåð ìàññèâà
|
||
&ScoreIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&score_state, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ScoreStateRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ScoreStateName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ScoreStateList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const ScoreStateDescId[] = "ScoreStateDesc";
|
||
|
||
/*************************************
|
||
Èíäåêñ òèïîâ êîæè
|
||
*************************************/
|
||
CPU_INT08U const SkinTypeIndexName[] = "ÒÈÏ ÊÎÆÈ";
|
||
TRangeValueULONG const SkinTypeIndexRange = {0, 3};
|
||
CPU_INT08U const SkinTypeIndex_str0[] = "1";
|
||
CPU_INT08U const SkinTypeIndex_str1[] = "2";
|
||
CPU_INT08U const SkinTypeIndex_str2[] = "3";
|
||
CPU_INT08U const SkinTypeIndex_str3[] = "4";
|
||
CPU_INT08U const *SkinTypeIndexList[] = {SkinTypeIndex_str0, SkinTypeIndex_str1, SkinTypeIndex_str2, SkinTypeIndex_str3};
|
||
|
||
CPU_INT32U skin_index;
|
||
|
||
TDataDescStruct const SkinTypeIndexDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&skin_index, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SkinTypeIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SkinTypeIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
SkinTypeIndexList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const SkinTypeIndexDescId[] = "SkinTypeIndexDesc";
|
||
|
||
/*************************************
|
||
Ìàêñèìàëüíîå âðåìÿ ÊÎËËÀÒÝÍÀ ïî òèïó êîæè
|
||
*************************************/
|
||
CPU_INT08U const SkinCollatenMaxTimeName[] = "ÊÎËËÀÒÝÍ,ìèí.";
|
||
TRangeValueULONG const SkinCollatenMaxTimeRange = {0, 999};
|
||
|
||
TDataDescStruct const SkinCollatenMaxTimeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
4, // ðàçìåð ìàññèâà
|
||
&SkinTypeIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SkinCollatenMaxTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SkinCollatenMaxTimeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SkinCollatenMaxTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const SkinCollatenMaxTimeDescId[] = "SkinCollatenMaxTimeDesc";
|
||
|
||
/*************************************
|
||
Ìàêñèìàëüíîå âðåìÿ ÓËÜÒÐÀÔÈÎËÅÒÀ ïî òèïó êîæè
|
||
*************************************/
|
||
CPU_INT08U const SkinUFMaxTimeName[] = "ÓËbÒÐÀÔ.,ìèí.";
|
||
TRangeValueULONG const SkinUFMaxTimeRange = {0, 999};
|
||
|
||
TDataDescStruct const SkinUFMaxTimeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
4, // ðàçìåð ìàññèâà
|
||
&SkinTypeIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SkinUFMaxTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SkinUFMaxTimeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SkinUFMaxTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const SkinUFMaxTimeDescId[] = "SkinUFMaxTimeDesc";
|
||
|
||
/*************************************
|
||
Ìàêñèìàëüíîå âðåìÿ ÌÀÊÑÈÌÀËÜÍÛÉ ïî òèïó êîæè
|
||
*************************************/
|
||
CPU_INT08U const SkinMaximalMaxTimeName[] = "ÌÀÊÑ.,ìèí.";
|
||
TRangeValueULONG const SkinMaximalMaxTimeRange = {0, 999};
|
||
|
||
TDataDescStruct const SkinMaximalMaxTimeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
4, // ðàçìåð ìàññèâà
|
||
&SkinTypeIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SkinMaximalMaxTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&SkinMaximalMaxTimeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
SkinMaximalMaxTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const SkinMaximalMaxTimeDescId[] = "SkinMaximalMaxTimeDesc";
|
||
|
||
/*************************************
|
||
Äåñêðèïòîð äëÿ ýíåðãîíåçàâèñèìîãî ñîõðàíåíèÿ îïëà÷åííîãî âðåìåíè äëÿ ñîëÿðèÿ
|
||
*************************************/
|
||
TDataDescStruct const SolariumTimePayedDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolariumTimePayed), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const SolariumTimePayedDescId[] = "SolariumTimePayedDesc";
|
||
|
||
/*************************************
|
||
Äåñêðèïòîð äëÿ ýíåðãîíåçàâèñèìîãî ñîõðàíåíèÿ îïëà÷åííûõ äåíåã äëÿ ñîëÿðèÿ
|
||
*************************************/
|
||
TDataDescStruct const SolariumMoneyPayedDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolariumMoneyPayed), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const SolariumMoneyPayedDescId[] = "SolariumMoneyPayedDesc";
|
||
|
||
/*************************************
|
||
Äåñêðèïòîð Crc16 ýíåðãîíåçàâèñèìîãî ñîõðàíåíèÿ îïëà÷åííîãî âðåìåíè äëÿ ñîëÿðèÿ
|
||
*************************************/
|
||
TDataDescStruct const SolariumTimePayedCrc16Desc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, SolariumTimePayedCrc16), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const SolariumTimePayedCrc16DescId[] = "SolariumTimePayedCrc16Desc";
|
||
|
||
/*************************************
|
||
Ñóììà äåíåã ðàçäåëüíî ïî ñîëÿðèÿì è ðåæèìàì
|
||
*************************************/
|
||
CPU_INT08U const CounterSolarMoneyName[] = "Äåíüãè,ðóá.";
|
||
|
||
TDataDescStruct const CounterSolarMoneyDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM * SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
&SolariumModesDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.solar_chm[0].money), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(SolarCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterSolarMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterSolarMoneyDescId[] = "CounterSolarMoneyDesc";
|
||
|
||
/*************************************
|
||
Ñóììà ñ êàðò àáîíåíòîâ äåíåã ðàçäåëüíî ïî ñîëÿðèÿì è ðåæèìàì
|
||
*************************************/
|
||
CPU_INT08U const CounterSolarCardMoneyName[] = "Ê_Äåíüãè,ðóá.";
|
||
|
||
TDataDescStruct const CounterSolarCardMoneyDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM * SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
&SolariumModesDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.solar_chm[0].card_money), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(SolarCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterSolarCardMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterSolarCardMoneyDescId[] = "CounterSolarCardMoneyDesc";
|
||
|
||
/*************************************
|
||
Ñóììà ñ êàðò àáîíåíòîâ áîíóñîâ ðàçäåëüíî ïî ñîëÿðèÿì è ðåæèìàì
|
||
*************************************/
|
||
CPU_INT08U const CounterSolarCardBonusName[] = "Ê_Áîíóñû,ðóá.";
|
||
|
||
TDataDescStruct const CounterSolarCardBonusDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM * SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
&SolariumModesDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.solar_chm[0].card_bonus), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(SolarCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterSolarCardBonusName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterSolarCardBonusDescId[] = "CounterSolarCardBonusDesc";
|
||
|
||
/*************************************
|
||
Êîëè÷åñòâî çàïóñêîâ ðàçäåëüíî ïî ñîëÿðèÿì è ðåæèìàì
|
||
*************************************/
|
||
CPU_INT08U const CounterSolarRunsName[] = "Çàïóñêîâ";
|
||
|
||
TDataDescStruct const CounterSolarRunsDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM * SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
&SolariumModesDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.solar_chm[0].runs), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(SolarCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterSolarRunsName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterSolarRunsDescId[] = "CounterSolarRunsDesc";
|
||
|
||
/*************************************
|
||
Êîëè÷åñòâî çàïóñêîâ ðàçäåëüíî ïî ñîëÿðèÿì è ðåæèìàì â òåñòîâîì ðåæèìå
|
||
*************************************/
|
||
CPU_INT08U const CounterSolarTestRunsName[] = "Òåñòîâ";
|
||
|
||
TDataDescStruct const CounterSolarTestRunsDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM * SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
&SolariumModesDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.solar_chm_test[0].runs), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(SolarCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterSolarTestRunsName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterSolarTestRunsDescId[] = "CounterSolarTestRunsDesc";
|
||
|
||
/*************************************
|
||
Âðåìÿ ðàáîòû ðàçäåëüíî ïî ñîëÿðèÿì è ðåæèìàì
|
||
*************************************/
|
||
CPU_INT08U const CounterSolarWorkTimeName[] = "Íàðàá.,ìèí.";
|
||
|
||
TDataDescStruct const CounterSolarWorkTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME_SEC_M, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM * SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
&SolariumModesDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.solar_chm[0].worktime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(SolarCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterSolarWorkTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterSolarWorkTimeDescId[] = "CounterSolarWorkTimeDesc";
|
||
|
||
/*************************************
|
||
Âðåìÿ ðàáîòû ðàçäåëüíî ïî ñîëÿðèÿì è ðåæèìàì â òåñòîâîì ðåæèìå
|
||
*************************************/
|
||
CPU_INT08U const CounterSolarTestWorkTimeName[] = "Òåñò,ìèí.";
|
||
|
||
TDataDescStruct const CounterSolarTestWorkTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME_SEC_M, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM * SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
&SolariumModesDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.solar_chm_test[0].worktime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(SolarCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterSolarTestWorkTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterSolarTestWorkTimeDescId[] = "CounterSolarTestWorkTimeDesc";
|
||
|
||
/*************************************
|
||
Ñóììà äåíåã ïî ðåæèìàì
|
||
*************************************/
|
||
CPU_INT08U const CounterModeMoneyName[] = "Äåíüãè,ðóá.";
|
||
|
||
TDataDescStruct const CounterModeMoneyDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
&SolariumModeIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.solar_m[0].money), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(SolarCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterModeMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterModeMoneyDescId[] = "CounterModeMoneyDesc";
|
||
|
||
/*************************************
|
||
Ñóììà äåíåã ïî ðåæèìàì ïî àáîíåìåíòàì
|
||
*************************************/
|
||
CPU_INT08U const CounterModeCardMoneyName[] = "Ê_Äåíüãè,ðóá.";
|
||
|
||
TDataDescStruct const CounterModeCardMoneyDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
&SolariumModeIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.solar_m[0].card_money), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(SolarCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterModeCardMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterModeCardMoneyDescId[] = "CounterModeCardMoneyDesc";
|
||
|
||
/*************************************
|
||
Ñóììà áîíóñîâ ïî ðåæèìàì ïî àáîíåìåíòàì
|
||
*************************************/
|
||
CPU_INT08U const CounterModeCardBonusName[] = "Ê_Áîíóñû,ðóá.";
|
||
|
||
TDataDescStruct const CounterModeCardBonusDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
&SolariumModeIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.solar_m[0].card_bonus), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(SolarCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterModeCardBonusName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterModeCardBonusDescId[] = "CounterModeCardBonusDesc";
|
||
|
||
/*************************************
|
||
Êîëè÷åñòâî çàïóñêîâ ïî ðåæèìàì
|
||
*************************************/
|
||
CPU_INT08U const CounterModeRunsName[] = "Çàïóñêîâ";
|
||
|
||
TDataDescStruct const CounterModeRunsDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
&SolariumModeIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.solar_m[0].runs), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(SolarCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterModeRunsName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterModeRunsDescId[] = "CounterModeRunsDesc";
|
||
|
||
/*************************************
|
||
Êîëè÷åñòâî çàïóñêîâ ïî ðåæèìàì â òåñòîâîì ðåæèìå
|
||
*************************************/
|
||
CPU_INT08U const CounterModeTestRunsName[] = "Òåñòîâ";
|
||
|
||
TDataDescStruct const CounterModeTestRunsDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
&SolariumModeIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.solar_m_test[0].runs), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(SolarCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterModeTestRunsName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterModeTestRunsDescId[] = "CounterModeTestRunsDesc";
|
||
|
||
/*************************************
|
||
Âðåìÿ ðàáîòû ïî ðåæèìàì
|
||
*************************************/
|
||
CPU_INT08U const CounterModeWorkTimeName[] = "Íàðàá.ìèí.";
|
||
|
||
TDataDescStruct const CounterModeWorkTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME_SEC_M, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
&SolariumModeIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.solar_m[0].worktime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(SolarCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterModeWorkTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterModeWorkTimeDescId[] = "CounterModeWorkTimeDesc";
|
||
|
||
/*************************************
|
||
Âðåìÿ ðàáîòû ïî ðåæèìàì â òåñòîâîì ðåæèìå
|
||
*************************************/
|
||
CPU_INT08U const CounterModeWorkTestTimeName[] = "Òåñò,ìèí.";
|
||
|
||
TDataDescStruct const CounterModeWorkTestTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME_SEC_M, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||
&SolariumModeIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.solar_m_test[0].worktime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(SolarCountersRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterModeWorkTestTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterModeWorkTestTimeDescId[] = "CounterModeWorkTestTimeDesc";
|
||
|
||
/*************************************
|
||
Ñ÷åò÷èê íàðàáîòêè ëàìï êîëëàòåí + ìàêñè
|
||
*************************************/
|
||
CPU_INT08U const CounterCollatenTimeName[] = "Êîëë.÷:ìì";
|
||
|
||
TDataDescStruct const CounterCollatenTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME_SEC_H_MM, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.collaten_time), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterCollatenTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterCollatenTimeDescId[] = "CounterCollatenTimeDesc";
|
||
|
||
/*************************************
|
||
Ñ÷åò÷èê íàðàáîòêè ëàìï óëüòðàôèîëåò + ìàêñè
|
||
*************************************/
|
||
CPU_INT08U const CounterUFTimeName[] = "ÓÔ ÷:ìì";
|
||
|
||
TDataDescStruct const CounterUFTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME_SEC_H_MM, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.uf_time), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterUFTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterUFTimeDescId[] = "CounterUFTimeDesc";
|
||
|
||
/*************************************
|
||
Îáùåå êîëè÷åñòâî òåñòîâûõ çàïóñêîâ ïî ñîëÿðèÿì
|
||
*************************************/
|
||
CPU_INT08U const CounterAllTestCountName[] = "Êîë.òåñòîâ";
|
||
|
||
TDataDescStruct const CounterAllTestCountDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.test_count), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterAllTestCountName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterAllTestCountDescId[] = "CounterAllTestCountDesc";
|
||
|
||
/*************************************
|
||
Îáùåå âðåìÿ òåñòîâûõ çàïóñêîâ ïî ñîëÿðèÿì
|
||
*************************************/
|
||
CPU_INT08U const CounterAllTestTimeName[] = "Òåñòû,ìèí.";
|
||
|
||
TDataDescStruct const CounterAllTestTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME_SEC_M, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.test_time), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterAllTestTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterAllTestTimeDescId[] = "CounterAllTestTimeDesc";
|
||
|
||
|
||
/*************************************
|
||
Ñ÷åò÷èê äëèòåëüíîñòè óáîðîê
|
||
*************************************/
|
||
CPU_INT08U const CounterCleaningTimeName[] = "Óáîðêà,ìèí.";
|
||
|
||
TDataDescStruct const CounterCleaningTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME_SEC_M, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.cleaning_time), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterCleaningTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterCleaningTimeDescId[] = "CounterCleaningTimeDesc";
|
||
|
||
/*************************************
|
||
Ñ÷åò÷èê êîëè÷åñòâà óáîðîê
|
||
*************************************/
|
||
CPU_INT08U const CounterCleaningCountName[] = "Êîë.óáîðîê";
|
||
|
||
TDataDescStruct const CounterCleaningCountDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.cleaning_count), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterCleaningCountName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterCleaningCountDescId[] = "CounterCleaningCountDesc";
|
||
|
||
/*************************************
|
||
Ñðåäíÿÿ äëèòåëüíîñòü óáîðêè
|
||
*************************************/
|
||
CPU_INT08U const CounterCleaningMeanTimeName[] = "Ñð.äë.óá.";
|
||
|
||
TDataDescStruct const CounterCleaningMeanTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME_SEC_M_SS, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.cleaning_mean_time), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterCleaningMeanTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterCleaningMeanTimeDescId[] = "CounterCleaningMeanTimeDesc";
|
||
|
||
/*************************************
|
||
Ñðåäíÿÿ äëèòåëüíîñòü òåñòà
|
||
*************************************/
|
||
CPU_INT08U const CounterTestMeanTimeName[] = "Ñð.äë.òåñòîâ";
|
||
|
||
TDataDescStruct const CounterTestMeanTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME_SEC_M_SS, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
||
&ChannelIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.test_mean_time), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterTestMeanTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterTestMeanTimeDescId[] = "CounterTestMeanTimeDesc";
|
||
|
||
/*************************************
|
||
Îáùèé ñ÷åò÷èê äåíåã
|
||
*************************************/
|
||
CPU_INT08U const CounterCommonMoneyName[] = "ÂÑÅÃÎ,ðóá.";
|
||
|
||
TDataDescStruct const CounterCommonMoneyDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.common_money), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterCommonMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterCommonMoneyDescId[] = "CounterCommonMoneyDesc";
|
||
|
||
/*************************************
|
||
C÷åò÷èê íàëè÷íûõ äåíåã
|
||
*************************************/
|
||
CPU_INT08U const CounterCashMoneyName[] = "ÍÀË.,ðóá.";
|
||
|
||
TDataDescStruct const CounterCashMoneyDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.cash_money), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterCashMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterCashMoneyDescId[] = "CounterCashMoneyDesc";
|
||
|
||
/*************************************
|
||
C÷åò÷èê áåçíàëè÷íûõ äåíåã
|
||
*************************************/
|
||
CPU_INT08U const CounterCardMoneyName[] = "ÁÀÍÊ.,ðóá.";
|
||
|
||
TDataDescStruct const CounterCardMoneyDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.card_money), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterCardMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterCardMoneyDescId[] = "CounterCardMoneyDesc";
|
||
|
||
/*************************************
|
||
C÷åò÷èê äåíåã ïî àáîíåìåíòàì
|
||
*************************************/
|
||
CPU_INT08U const CounterAbonementMoneyName[] = "ÀÁÎÍÅÌ.,ðóá.";
|
||
|
||
TDataDescStruct const CounterAbonementMoneyDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, solar_counters.abonement_money), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
CounterAbonementMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const CounterAbonementMoneyDescId[] = "CounterAbonementMoneyDesc";
|
||
|
||
/*************************************
|
||
Âêëþ÷åíèå îáùåãî äîñòóïà ïî ïàðîëþ
|
||
*************************************/
|
||
CPU_INT08U const EnableGlobalPassName[] = "Äîñòóï ïî ïàð.";
|
||
TRangeValueULONG const EnableGlobalPassRange = {0, 1};
|
||
CPU_INT08U const EnableGlobalPass_str0[] = "íåò";
|
||
CPU_INT08U const EnableGlobalPass_str1[] = "äà";
|
||
CPU_INT08U const *EnableGlobalPassList[] = {EnableGlobalPass_str0, EnableGlobalPass_str1};
|
||
|
||
TDataDescStruct const EnableGlobalPassDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, EnableGlobalPass), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableGlobalPassRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
EnableGlobalPassName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnableGlobalPassList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const EnableGlobalPassDescId[] = "EnableGlobalPassDesc";
|
||
|
||
#endif
|
||
|
||
#if defined(CONFIG_RELAY_ENABLE)
|
||
/*************************************
|
||
Èíäåêñ ðåëå
|
||
*************************************/
|
||
CPU_INT08U const RelayIndexName[] = " ÐÅËÅ";
|
||
TRangeValueULONG const RelayIndexRange = {0, RELAY_COUNT - 1};
|
||
CPU_INT08U const RelayIndex_str0[] = "1";
|
||
CPU_INT08U const RelayIndex_str1[] = "2";
|
||
CPU_INT08U const RelayIndex_str2[] = "3";
|
||
CPU_INT08U const *RelayIndexList[] = {RelayIndex_str0, RelayIndex_str1, RelayIndex_str2};
|
||
|
||
CPU_INT32U relay_index;
|
||
|
||
TDataDescStruct const RelayIndexDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&relay_index, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&RelayIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
RelayIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
RelayIndexList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const RelayIndexDescId[] = "RelayIndexDesc";
|
||
|
||
/*************************************
|
||
Âêëþ÷åíèå ðåëå
|
||
*************************************/
|
||
TDataDescStruct const RelayEnableDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
RELAY_COUNT, // ðàçìåð ìàññèâà
|
||
&RelayIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, RelayEnable), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&ScoreEnableRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
ScoreEnableName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
ScoreEnableList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const RelayEnableDescId[] = "RelayEnableDesc";
|
||
|
||
/*************************************
|
||
IP-àäðåñ ethernet-ðåëå
|
||
*************************************/
|
||
CPU_INT08U const RelayIpAddrName[] = "IP";
|
||
|
||
TDataDescStruct const RelayIpAddrDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_IP_ADDR, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
RELAY_COUNT, // ðàçìåð ìàññèâà
|
||
&RelayIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, RelayIpAddr), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
RelayIpAddrName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0xC0A800A0
|
||
};
|
||
char const RelayIpAddrDescId[] = "RelayIpAddrDesc";
|
||
|
||
/*************************************
|
||
Êàíàë ðåëå
|
||
*************************************/
|
||
CPU_INT08U const RelayChannelName[] = "Êàíàë";
|
||
TRangeValueULONG const RelayChannelRange = {0, 9};
|
||
CPU_INT08U const RelayChannel_str0[] = "1";
|
||
CPU_INT08U const RelayChannel_str1[] = "2";
|
||
CPU_INT08U const RelayChannel_str2[] = "3";
|
||
CPU_INT08U const RelayChannel_str3[] = "4";
|
||
CPU_INT08U const RelayChannel_str4[] = "1+2";
|
||
CPU_INT08U const RelayChannel_str5[] = "1+3";
|
||
CPU_INT08U const RelayChannel_str6[] = "1+4";
|
||
CPU_INT08U const RelayChannel_str7[] = "2+3";
|
||
CPU_INT08U const RelayChannel_str8[] = "2+4";
|
||
CPU_INT08U const RelayChannel_str9[] = "3+4";
|
||
CPU_INT08U const *RelayChannelList[] = {RelayChannel_str0, RelayChannel_str1, RelayChannel_str2, RelayChannel_str3, RelayChannel_str4, RelayChannel_str5, RelayChannel_str6, RelayChannel_str7, RelayChannel_str8, RelayChannel_str9};
|
||
|
||
TDataDescStruct const RelayChannelDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
RELAY_COUNT, // ðàçìåð ìàññèâà
|
||
&RelayIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, RelayChannel), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&RelayChannelRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
RelayChannelName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
RelayChannelList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const RelayChannelDescId[] = "RelayChannelDesc";
|
||
|
||
/*************************************
|
||
Âðåìÿ îòêðûòèÿ äâåðè
|
||
*************************************/
|
||
CPU_INT08U const RelayOpenTimeName[] = "Âðåìÿ îòêð,ñ";
|
||
TRangeValueULONG const RelayOpenTimeRange = {1, 3600};
|
||
|
||
TDataDescStruct const RelayOpenTimeDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||
RELAY_COUNT, // ðàçìåð ìàññèâà
|
||
&RelayIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, RelayOpenTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&RelayOpenTimeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
RelayOpenTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
30
|
||
};
|
||
char const RelayOpenTimeDescId[] = "RelayOpenTimeDesc";
|
||
|
||
/*************************************
|
||
Êîìàíäà ïðîâåêè ðåëå
|
||
*************************************/
|
||
CPU_INT08U const RelayCommandName[] = "Êîìàíäà";
|
||
TRangeValueULONG const RelayCommandRange = {0, 2};
|
||
CPU_INT08U const RelayCommand_str0[] = "íåò";
|
||
CPU_INT08U const RelayCommand_str1[] = "îòêðûòü";
|
||
CPU_INT08U const RelayCommand_str2[] = "çàêðûòü";
|
||
CPU_INT08U const *RelayCommandList[] = {RelayCommand_str0, RelayCommand_str1, RelayCommand_str2};
|
||
|
||
CPU_INT32U relay_cmd;
|
||
|
||
void OnchangeRelayCommand(void)
|
||
{
|
||
if (relay_cmd == 1)
|
||
{
|
||
PostUserEvent(EVENT_OPEN_RELAY1 + relay_index);
|
||
}
|
||
else if (relay_cmd == 2)
|
||
{
|
||
PostUserEvent(EVENT_CLOSE_RELAY1 + relay_index);
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const RelayCommandDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
&relay_cmd, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&RelayCommandRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnchangeRelayCommand, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
RelayCommandName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
RelayCommandList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const RelayCommandDescId[] = "RelayCommandDesc";
|
||
|
||
|
||
#endif
|
||
|
||
#ifdef CONFIG_FTP_CLIENT_ENABLE
|
||
|
||
/*************************************
|
||
Âêëþ÷åíèå FTP
|
||
*************************************/
|
||
TDataDescStruct const FtpEnableDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, FtpEnable), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableChannelRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
EnableChannelName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnableChannelList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
|
||
char const FtpEnableDescId[] = "FtpEnableDesc";
|
||
|
||
/*************************************
|
||
IP-àäðåñ FTP-ñåðâåðà
|
||
*************************************/
|
||
CPU_INT08U const FtpServerIpAddrName[] = "FTP";
|
||
|
||
TDataDescStruct const FtpServerIpAddrDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_IP_ADDR, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, FtpServerIpAddr), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
FtpServerIpAddrName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0x5C35600A // "92.53.96.10"
|
||
};
|
||
char const FtpServerIpAddrDescId[] = "FtpServerIpAddrDesc";
|
||
|
||
/*************************************
|
||
Ëîãèí FTP-ñåðâåðà
|
||
*************************************/
|
||
CPU_INT08U const FtpServerLoginName[] = "Ëîãèí";
|
||
CPU_INT08U const FtpServerLoginDefault[] = "xmiker_morozov";
|
||
|
||
TDataDescStruct const FtpServerLoginDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_CHAR_STRING, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
15, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, FtpLogin), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
FtpServerLoginName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
(CPU_INT32U)&FtpServerLoginDefault[0]
|
||
};
|
||
char const FtpServerLoginDescId[] = "FtpServerLoginDesc";
|
||
|
||
/*************************************
|
||
Ïàðîëü FTP-ñåðâåðà
|
||
*************************************/
|
||
CPU_INT08U const FtpServerPassName[] = "Ïàðîëü";
|
||
CPU_INT08U const FtpServerPassDefault[] = "Qwerty11";
|
||
|
||
TDataDescStruct const FtpServerPassDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_CHAR_STRING, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
15, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, FtpPass), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
FtpServerPassName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
(CPU_INT32U)&FtpServerPassDefault[0]
|
||
};
|
||
char const FtpServerPassDescId[] = "FtpServerPassDesc";
|
||
|
||
/*************************************
|
||
FTP èäåíòèôèêàòîð óñòðîéñòâà
|
||
*************************************/
|
||
CPU_INT08U const FtpDeviceNumberName[] = "ID óñòð.";
|
||
TRangeValueULONG const FtpDeviceNumberRange = {0, 99999999};
|
||
|
||
TDataDescStruct const FtpDeviceNumberDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, FtpDeviceNumber), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&FtpDeviceNumberRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
FtpDeviceNumberName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const FtpDeviceNumberDescId[] = "FtpDeviceNumberDesc";
|
||
|
||
/*************************************
|
||
Âðåìÿ îòïðàâêè ñòàòèñòèêè íà FTP, ÷àñ : ìèí
|
||
*************************************/
|
||
CPU_INT08U const FtpSendHourMinName[] = "Âð.îòïð.";
|
||
|
||
TDataDescStruct const FtpSendHourMinDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_HOUR_MIN, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, FtpSendHourMin), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&StatSendHourRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
FtpSendHourMinName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
60 * 1
|
||
};
|
||
char const FtpSendHourMinDescId[] = "FtpSendHourMinDesc";
|
||
|
||
/*************************************
|
||
Èíòåðâàë îòïðàâêè íà FTP
|
||
*************************************/
|
||
CPU_INT08U const FtpSendIntervalName[] = "Èíòåðâàë";
|
||
TRangeValueULONG const FtpSendIntervalRange = {0, 7};
|
||
CPU_INT08U const FtpSendInterval_str0[] = "1÷";
|
||
CPU_INT08U const FtpSendInterval_str1[] = "2÷";
|
||
CPU_INT08U const FtpSendInterval_str2[] = "3÷";
|
||
CPU_INT08U const FtpSendInterval_str3[] = "4÷";
|
||
CPU_INT08U const FtpSendInterval_str4[] = "6÷";
|
||
CPU_INT08U const FtpSendInterval_str5[] = "8÷";
|
||
CPU_INT08U const FtpSendInterval_str6[] = "12÷";
|
||
CPU_INT08U const FtpSendInterval_str7[] = "24÷";
|
||
CPU_INT08U const *FtpSendIntervalList[] = {FtpSendInterval_str0, FtpSendInterval_str1, FtpSendInterval_str2, FtpSendInterval_str3,
|
||
FtpSendInterval_str4, FtpSendInterval_str5, FtpSendInterval_str6, FtpSendInterval_str7};
|
||
|
||
TDataDescStruct const FtpSendIntervalDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, FtpSendIntervalIndex), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&FtpSendIntervalRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
FtpSendIntervalName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
FtpSendIntervalList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
7
|
||
};
|
||
char const FtpSendIntervalDescId[] = "FtpSendIntervalDesc";
|
||
|
||
/*************************************
|
||
Ïîñëåäíåå âðåìÿ îòïðàâêè íà ftp
|
||
*************************************/
|
||
CPU_INT08U const FtpLastSendTimeName[] = "Ïîñë.âð.";
|
||
|
||
TDataDescStruct const FtpLastSendTimeDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_TIME, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, FtpLastTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
FtpLastSendTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
0
|
||
};
|
||
char const FtpLastSendTimeDescId[] = "FtpLastSendTimeDesc";
|
||
|
||
/*************************************
|
||
Ïîñëåäíèé ðåçóëüòàò îòïðàâêè íà FTP
|
||
*************************************/
|
||
CPU_INT08U const FtpLastSendResultName[] = "Ïîñë.ñòàòóñ";
|
||
TRangeValueULONG const FtpLastSendResultRange = {0, 1};
|
||
CPU_INT08U const FtpLastSendResult_str0[] = "ÎØÈÁÊÀ";
|
||
CPU_INT08U const FtpLastSendResult_str1[] = "ÎÊ";
|
||
CPU_INT08U const FtpLastSendResult_str2[] = "ÍÅÈÇÂÅÑÒÍÎ";
|
||
CPU_INT08U const *FtpLastSendResultList[] = {FtpLastSendResult_str0, FtpLastSendResult_str1, FtpLastSendResult_str2};
|
||
|
||
TDataDescStruct const FtpLastSendResultDesc = {
|
||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)offsetof(TFramMap, FtpLastResult), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&FtpLastSendResultRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
FtpLastSendResultName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
FtpLastSendResultList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_DISABLE,
|
||
2
|
||
};
|
||
char const FtpLastSendResultDescId[] = "FtpLastSendResultDesc";
|
||
|
||
/*************************************
|
||
Êîìàíäà îòïðàâèòü äàííûå íà ftp ñåé÷àñ
|
||
*************************************/
|
||
CPU_INT08U const FtpSendNowCmdName[] = "Îòïðàâèòü";
|
||
|
||
CPU_INT32U ftp_send_cmd;
|
||
extern CPU_INT08U time_to_ftp;
|
||
|
||
void OnChangeFtpSendNowCmd(void)
|
||
{
|
||
if (ftp_send_cmd != 0)
|
||
{
|
||
time_to_ftp = FTP_FLAG_SEND_COUNTERS | FTP_FLAG_SEND_LOGS;
|
||
}
|
||
}
|
||
|
||
TDataDescStruct const FtpSendNowCmdDesc = {
|
||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||
0, // ðàçìåð ìàññèâà
|
||
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||
(void*)&ftp_send_cmd, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||
(void*)&EnableChannelRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||
OnChangeFtpSendNowCmd, // ôóíêöèÿ ïî èçìåíåíèþ
|
||
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||
FtpSendNowCmdName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||
EnableChannelList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||
DATA_INIT_ENABLE,
|
||
0
|
||
};
|
||
char const FtpSendNowCmdDescId[] = "FtpSendNowCmdDesc";
|
||
|
||
#endif // #ifdef CONFIG_FTP_CLIENT_ENABLE
|
||
|
||
|
||
char const WorkTimeDescArrId[] = "WorkTimeDesc";
|
||
char const ChannelIndexDescArrId[] = "ChannelIndexDesc";
|
||
char const EnableChannelDescArrId[] = "EnableChannelDesc";
|
||
char const EnableValidatorDescArrId[] = "EnableValidatorDesc";
|
||
char const EnableModemDescArrId[] = "EnableModemDesc";
|
||
char const EnableFiscalDescArrId[] = "EnableFiscalDesc";
|
||
char const EnableCoinDescArrId[] = "EnableCoinDesc";
|
||
char const TimeOutBeforeDescArrId[] = "TimeOutBeforeDesc";
|
||
char const TimeOutAfterDescArrId[] = "TimeOutAfterDesc";
|
||
char const MaxWorkTimeDescArrId[] = "MaxWorkTimeDesc";
|
||
char const MinWorkTimeDescArrId[] = "MinWorkTimeDesc";
|
||
char const WeekEndDescArrId[] = "WeekEndDesc";
|
||
char const PeriodWeekendIndexDescArrId[] = "PeriodWeekendIndexDesc";
|
||
char const PeriodWeekdaysIndexDescArrId[] = "PeriodWeekdaysIndexDesc";
|
||
char const PriceWeekendDescArrId[] = "PriceWeekendDesc";
|
||
char const PriceWeekdaysDescArrId[] = "PriceWeekdaysDesc";
|
||
char const PriceTimeWeekendDescArrId[] = "PriceTimeWeekendDesc";
|
||
char const PriceTimeWeekdaysDescArrId[] = "PriceTimeWeekdaysDesc";
|
||
char const T_Start_WeekdaysDescArrId[] = "T_Start_WeekdaysDesc";
|
||
char const T_End_WeekdaysDescArrId[] = "T_End_WeekdaysDesc";
|
||
char const T_Start_WeekendDescArrId[] = "T_Start_WeekendDesc";
|
||
char const T_End_WeekendDescArrId[] = "T_End_WeekendDesc";
|
||
char const PrintZReportDescArrId[] = "PrintZReportDesc";
|
||
char const PrintXReportDescArrId[] = "PrintXReportDesc";
|
||
char const SystemTimeDescArrId[] = "SystemTimeDesc";
|
||
char const SystemTimeEditDescArrId[] = "SystemTimeEditDesc";
|
||
char const CoinPerPulseDescArrId[] = "CoinPerPulseDesc";
|
||
char const BillFormatDescArrId[] = "BillFormatDesc";
|
||
char const NameChannelDescArrId[] = "NameChannelDesc";
|
||
char const PassDescArrId[] = "PassDesc";
|
||
char const DeviceIDDescArrId[] = "DeviceIDDesc";
|
||
char const EnableEmailErrorSendDescArrId[] = "EnableEmailErrorSendDesc";
|
||
char const EnableEmailJournalSendDescArrId[] = "EnableEmailJournalSendDesc";
|
||
char const ClearJournalAfterSendDescArrId[] = "ClearJournalAfterSendDesc";
|
||
char const StatSendHourMinDescArrId[] = "StatSendHourMinDesc";
|
||
char const SendTestEmailDescArrId[] = "SendTestEmailDesc";
|
||
char const BillnomIndexDescArrId[] = "BillnomIndexDesc";
|
||
char const DeferredStartDescArrId[] = "DeferredStartDesc";
|
||
char const StartButtonNameDescArrId[] = "StartButtonNameDesc";
|
||
char const GatewayDescArrId[] = "GatewayDesc";
|
||
char const NetMaskDescArrId[] = "NetMaskDesc";
|
||
char const IpAddrDescArrId[] = "IpAddrDesc";
|
||
char const SelectProtectDescArrId[] = "SelectProtectDesc";
|
||
char const PostIpAddrDescArrId[] = "PostIpAddrDesc";
|
||
char const PostImpCostDescArrId[] = "PostImpCostDesc";
|
||
char const PostLenCostDescArrId[] = "PostLenCostDesc";
|
||
char const PostMinutePriceDescArrId[] = "PostMinutePriceDesc";
|
||
char const PostPauseDescArrId[] = "PostPauseDesc";
|
||
char const EnablePrintReportsDescArrId[] = "EnablePrintReportsDesc";
|
||
char const TerminalIpAddrDescArrId[] = "PosTerminalIpAddrDesctPauseDesc";
|
||
char const TerminalPortDescArrId[] = "TerminalPortDesc";
|
||
char const EnableTerminalDescArrId[] = "EnableTerminalDesc";
|
||
char const SelectedMoneyDescArrId[] = "SelectedMoneyDesc";
|
||
char const KeyMoneyDescArrId[] = "KeyMoneyDesc";
|
||
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";
|
||
char const AbonementMoneyDescId[] = "AbonementMoneyDesc";
|
||
char const AbonementBonusDescId[] = "AbonementBonusDesc";
|
||
char const AbonementBestBeforeDescId[] = "AbonementBestBeforeDesc";
|
||
|
||
#if defined(BOARD_SOLARIUM_WEB)
|
||
char const SolariumTypeDescId[] = "SolariumTypeDescId";
|
||
char const SolariumTimeoutDescId[] = "SolariumTimeoutDescId";
|
||
char const SolariumPauseDescId[] = "SolariumPauseDescId";
|
||
char const SolariumVentilationTimeDescId[] = "SolariumVentilationTimeDescId";
|
||
char const SolariumPricePerMinDescId[] = "SolariumPricePerMinDesc";
|
||
char const SolariumMinTimeDescId[] = "SolariumMinTimeDesc";
|
||
char const SolariumMaxTimeDescId[] = "SolariumMaxTimeDesc";
|
||
char const ZummerEnableDescId[] = "ZummerEnableDesc";
|
||
#endif
|
||
char const JournalErrorNumberDescCodeId[] = "JournalErrorNumberDescCode";
|
||
char const JournalErrorNumberDescTimeId[] = "JournalErrorNumberDescTime";
|
||
|
||
|
||
//**************************************************
|
||
//**************************************************
|
||
//**************************************************
|
||
const TDataDescArrayStruct AllDataArray[] =
|
||
{
|
||
{&WorkTimeDesc, WorkTimeDescArrId},
|
||
{&ChannelIndexDesc, ChannelIndexDescArrId},
|
||
{&EnableChannelDesc, EnableChannelDescArrId},
|
||
{&EnableValidatorDesc, EnableValidatorDescArrId},
|
||
{&EnableModemDesc, EnableModemDescArrId},
|
||
{&EnableFiscalDesc, EnableFiscalDescArrId},
|
||
{&EnableCoinDesc, EnableCoinDescArrId},
|
||
{&TimeOutBeforeDesc, TimeOutBeforeDescArrId},
|
||
{&TimeOutAfterDesc, TimeOutAfterDescArrId},
|
||
{&MaxWorkTimeDesc, MaxWorkTimeDescArrId},
|
||
{&MinWorkTimeDesc, MinWorkTimeDescArrId},
|
||
{&WeekEndDesc, WeekEndDescArrId},
|
||
{&PeriodWeekendIndexDesc, PeriodWeekendIndexDescArrId},
|
||
{&PeriodWeekdaysIndexDesc, PeriodWeekdaysIndexDescArrId},
|
||
|
||
{&PriceWeekendDesc, PriceWeekendDescArrId},
|
||
{&PriceWeekdaysDesc, PriceWeekdaysDescArrId},
|
||
|
||
{&PriceTimeWeekendDesc, PriceTimeWeekendDescArrId},
|
||
{&PriceTimeWeekdaysDesc, PriceTimeWeekdaysDescArrId},
|
||
{&T_Start_WeekdaysDesc, T_Start_WeekdaysDescArrId},
|
||
{&T_End_WeekdaysDesc, T_End_WeekdaysDescArrId},
|
||
{&T_Start_WeekendDesc, T_Start_WeekendDescArrId},
|
||
{&T_End_WeekendDesc, T_End_WeekendDescArrId},
|
||
|
||
{&PrintZReportDesc, PrintZReportDescArrId},
|
||
{&PrintXReportDesc, PrintXReportDescArrId},
|
||
{&SystemTimeDesc, SystemTimeDescArrId},
|
||
{&SystemTimeEditDesc, SystemTimeEditDescArrId},
|
||
{&CoinPerPulseDesc, CoinPerPulseDescArrId},
|
||
|
||
{&BillFormatDesc, BillFormatDescArrId},
|
||
{&NameChannelDesc, NameChannelDescArrId},
|
||
|
||
{&PassDesc, PassDescArrId},
|
||
{&DeviceIDDesc, DeviceIDDescArrId},
|
||
|
||
{&EnableEmailErrorSendDesc, EnableEmailErrorSendDescArrId},
|
||
{&EnableEmailJournalSendDesc, EnableEmailJournalSendDescArrId},
|
||
{&ClearJournalAfterSendDesc, ClearJournalAfterSendDescArrId},
|
||
{&StatSendHourMinDesc, StatSendHourMinDescArrId},
|
||
{&SendTestEmailDesc, SendTestEmailDescArrId},
|
||
{&BillnomIndexDesc, BillnomIndexDescArrId},
|
||
|
||
{&DeferredStartDesc, DeferredStartDescArrId},
|
||
{&StartButtonNameDesc, StartButtonNameDescArrId},
|
||
|
||
{&GatewayDesc, GatewayDescArrId},
|
||
{&NetMaskDesc, NetMaskDescArrId},
|
||
{&IpAddrDesc, IpAddrDescArrId},
|
||
|
||
{&SelectProtectDesc, SelectProtectDescArrId},
|
||
{&PostIpAddrDesc, PostIpAddrDescArrId},
|
||
|
||
{&PostImpCostDesc, PostImpCostDescArrId},
|
||
{&PostLenCostDesc, PostLenCostDescArrId},
|
||
{&PostMinutePriceDesc, PostMinutePriceDescArrId},
|
||
{&PostPauseDesc, PostPauseDescArrId},
|
||
{&PostTimerDesc, PostTimerDescArrId},
|
||
{&PostSignalDesc, PostSignalDescArrId},
|
||
{&PostPauseLenCostDesc, PostPauseLenCostDescId},
|
||
|
||
{&EnablePrintReportsDesc, EnablePrintReportsDescArrId},
|
||
{&TerminalIpAddrDesc, TerminalIpAddrDescArrId},
|
||
{&TerminalPortDesc, TerminalPortDescArrId},
|
||
{&EnableTerminalDesc, EnableTerminalDescArrId},
|
||
{&SelectedMoneyDesc, SelectedMoneyDescArrId},
|
||
{&KeyMoneyDesc, KeyMoneyDescArrId},
|
||
{&KeyActionDesc, KeyActionDescArrId},
|
||
|
||
{&MakeSverkaDesc, MakeSverkaDescArrId},
|
||
{&MakeSyncDesc, MakeSyncDescArrId},
|
||
|
||
{&CounterChannelCardDesc, CounterChannelCardDescArrId},
|
||
{&CounterCardDesc, CounterCardDescArrId},
|
||
{&CounterChannelCardLongDesc, CounterChannelCardLongDescArrId},
|
||
{&CounterChannelAbonementLongDesc, CounterChannelAbonementLongDescArrId},
|
||
{&CounterLongCardDesc, CounterLongCardDescArrId},
|
||
{&CounterChannelAbonementDesc, CounterChannelAbonementDescArrId},
|
||
{&CounterLongAbonementDesc, CounterLongAbonementDescArrId},
|
||
|
||
#if defined(BOARD_SOLARIUM_WEB)
|
||
{&SolariumTypeDesc, SolariumTypeDescId},
|
||
{&SolariumTimeoutDesc, SolariumTimeoutDescId},
|
||
{&SolariumPauseDesc, SolariumPauseDescId},
|
||
{&SolariumVentilationTimeDesc, SolariumVentilationTimeDescId},
|
||
{&SolariumPricePerMinDesc, SolariumPricePerMinDescId},
|
||
{&SolariumMinTimeDesc, SolariumMinTimeDescId},
|
||
{&SolariumMaxTimeDesc, SolariumMaxTimeDescId},
|
||
{&ZummerEnableDesc, ZummerEnableDescId},
|
||
#endif
|
||
|
||
{&JournalErrorNumberDescCode, JournalErrorNumberDescCodeId},
|
||
{&JournalErrorNumberDescTime, JournalErrorNumberDescTimeId},
|
||
|
||
#if defined(CONFIG_MUSIC_ENABLE)
|
||
{&SoundTypeDesc, SoundTypeDescId},
|
||
{&PlayerStatusDesc, PlayerStatusDescId},
|
||
{&SoundVolumeDesc, SoundVolumeDescId},
|
||
{&SoundFileIndexDesc, SoundFileIndexDescId},
|
||
{&SoundIpAddrDesc, SoundIpAddrDescId},
|
||
#endif
|
||
|
||
#if defined(BOARD_SOLARIUM_VLAD)
|
||
{&SolariumModesDesc, SolariumModesDescId},
|
||
{&SolarLampsCountDesc, SolarLampsCountDescId},
|
||
{&SolarPricePerMinuteDesc, SolarPricePerMinuteDescId},
|
||
{&SolarMaximumTimeMinutesDesc, SolarMaximumTimeMinutesDescId},
|
||
{&SolarMinimumTimeMinutesDesc, SolarMinimumTimeMinutesDescId},
|
||
{&SolarVentilationTimeMinutesDesc, SolarVentilationTimeMinutesDescId},
|
||
{&SolarTimeoutBeforeMinutesDesc, SolarTimeoutBeforeMinutesDescId},
|
||
{&SolarCurrentPricePerMinuteDesc, SolarCurrentPricePerMinuteDescId},
|
||
|
||
{&DiscountIndexHourDesc, DiscountIndexHourDescId},
|
||
{&DiscountBeginHourDesc, DiscountBeginHourDescId},
|
||
{&DiscountEndHourDesc, DiscountEndHourDescId},
|
||
{&DiscountValueHourDesc, DiscountValueHourDescId},
|
||
{&DiscountIndexDayDesc, DiscountIndexDayDescId},
|
||
{&DiscountValueDayDesc, DiscountValueDayDescId},
|
||
{&DiscountIndexMonthDesc, DiscountIndexMonthDescId},
|
||
{&DiscountValueMonthDesc, DiscountValueMonthDescId},
|
||
{&DiscountIndexCustomDesc, DiscountIndexCustomDescId},
|
||
{&DiscountValueCustomDesc, DiscountValueCustomDescId},
|
||
{&DiscountDateBeginCustomDesc, DiscountDateBeginCustomDescId},
|
||
{&DiscountDateEndCustomDesc, DiscountDateEndCustomDescId},
|
||
{&DiscountValueCurrentDesc, DiscountValueCurrentDescId},
|
||
|
||
{&ScoreIndexDesc, ScoreIndexDescId},
|
||
{&ScoreRs485SpeedDesc, ScoreRs485SpeedDescId},
|
||
{&ScoreEnableDesc, ScoreEnableDescId},
|
||
{&ScoreRs485AddressDesc, ScoreRs485AddressDescId},
|
||
{&ScoreCommandDesc, ScoreCommandDescId},
|
||
{&ScoreStateDesc, ScoreStateDescId},
|
||
{&ScoreColumnDesc, ScoreColumnDescId},
|
||
|
||
{&SolariumTimePayedDesc, SolariumTimePayedDescId},
|
||
{&SolariumTimePayedCrc16Desc, SolariumTimePayedCrc16DescId},
|
||
{&SolariumMoneyPayedDesc, SolariumMoneyPayedDescId},
|
||
{&SolarTimeoutAfterMinutesDesc, SolarTimeoutAfterMinutesDescId},
|
||
{&SolarControlChannelDesc, SolarControlChannelDescId},
|
||
|
||
{&CounterSolarMoneyDesc, CounterSolarMoneyDescId},
|
||
{&CounterSolarRunsDesc, CounterSolarRunsDescId},
|
||
{&CounterSolarWorkTimeDesc, CounterSolarWorkTimeDescId},
|
||
{&CounterSolarTestWorkTimeDesc, CounterSolarTestWorkTimeDescId},
|
||
|
||
{&CounterSolarTestRunsDesc, CounterSolarTestRunsDescId},
|
||
|
||
{&SolariumModeIndexDesc, SolariumModeIndexDescId},
|
||
{&CounterModeMoneyDesc, CounterModeMoneyDescId},
|
||
{&CounterModeRunsDesc, CounterModeRunsDescId},
|
||
{&CounterModeWorkTimeDesc, CounterModeWorkTimeDescId},
|
||
{&CounterModeTestRunsDesc, CounterModeTestRunsDescId},
|
||
{&CounterModeWorkTestTimeDesc, CounterModeWorkTestTimeDescId},
|
||
|
||
{&CounterCollatenTimeDesc, CounterCollatenTimeDescId},
|
||
{&CounterUFTimeDesc, CounterUFTimeDescId},
|
||
{&CounterAllTestCountDesc, CounterAllTestCountDescId},
|
||
{&CounterAllTestTimeDesc, CounterAllTestTimeDescId},
|
||
|
||
{&CounterCommonMoneyDesc, CounterCommonMoneyDescId},
|
||
{&CounterCashMoneyDesc, CounterCashMoneyDescId},
|
||
{&CounterCardMoneyDesc, CounterCardMoneyDescId},
|
||
|
||
{&SkinTypeIndexDesc, SkinTypeIndexDescId},
|
||
{&SkinCollatenMaxTimeDesc, SkinCollatenMaxTimeDescId},
|
||
{&SkinUFMaxTimeDesc, SkinUFMaxTimeDescId},
|
||
{&SkinMaximalMaxTimeDesc, SkinMaximalMaxTimeDescId},
|
||
{&EnableGlobalPassDesc, EnableGlobalPassDescId},
|
||
|
||
{&PassDescCleaning, PassDescCleaningId},
|
||
{&PassDescService, PassDescServiceId},
|
||
{&PassDescTest, PassDescTestId},
|
||
|
||
{&CounterCleaningTimeDesc, CounterCleaningTimeDescId},
|
||
{&CounterCleaningCountDesc, CounterCleaningCountDescId},
|
||
{&CounterCleaningMeanTimeDesc, CounterCleaningMeanTimeDescId},
|
||
{&CounterTestMeanTimeDesc, CounterTestMeanTimeDescId},
|
||
{&SolarCleaningTimeoutMinutesDesc, SolarCleaningTimeoutMinutesDescId},
|
||
|
||
#endif
|
||
|
||
#if defined(CONFIG_RELAY_ENABLE)
|
||
{&RelayIndexDesc, RelayIndexDescId},
|
||
{&RelayEnableDesc, RelayEnableDescId},
|
||
{&RelayIpAddrDesc, RelayIpAddrDescId},
|
||
{&RelayChannelDesc, RelayChannelDescId},
|
||
{&RelayOpenTimeDesc, RelayOpenTimeDescId},
|
||
{&RelayCommandDesc, RelayCommandDescId},
|
||
|
||
#endif
|
||
|
||
#if defined(CONFIG_SDCARD_ENABLE)
|
||
{&SdCardStatusDesc, SdCardStatusDescId},
|
||
#endif
|
||
|
||
#if defined(CONFIG_TERMINAL_ENABLE)
|
||
{&TerminalProtocolDesc, TerminalProtocolDescId},
|
||
#endif
|
||
|
||
#ifdef CONFIG_FTP_CLIENT_ENABLE
|
||
{&FtpEnableDesc, FtpEnableDescId},
|
||
{&FtpServerIpAddrDesc, FtpServerIpAddrDescId},
|
||
{&FtpSendHourMinDesc, FtpSendHourMinDescId},
|
||
{&FtpSendIntervalDesc, FtpSendIntervalDescId},
|
||
{&FtpLastSendTimeDesc, FtpLastSendTimeDescId},
|
||
{&FtpLastSendResultDesc, FtpLastSendResultDescId},
|
||
{&FtpSendNowCmdDesc, FtpSendNowCmdDescId},
|
||
{&FtpDeviceNumberDesc, FtpDeviceNumberDescId},
|
||
{&FtpServerLoginDesc, FtpServerLoginDescId},
|
||
{&FtpServerPassDesc, FtpServerPassDescId},
|
||
#endif
|
||
|
||
{&CoinPulseLenDesc, CoinPulseLenDescId},
|
||
{&CoinPauseLenDesc, CoinPauseLenDescId},
|
||
{&CoinPulseDeltaDesc, CoinPulseDeltaDescId},
|
||
|
||
{&AbonementMoneyDesc, AbonementMoneyDescId},
|
||
{&AbonementBonusDesc, AbonementBonusDescId},
|
||
{&AbonementBestBeforeDesc, AbonementBestBeforeDescId},
|
||
|
||
{NULL, NULL}
|
||
};
|
||
|
||
|