mirror of
https://github.com/dimoniche/Moyka.git
synced 2026-01-29 17:33:33 +03:00
3228 lines
144 KiB
C
3228 lines
144 KiB
C
#include <includes.h>
|
|
#include "data.h"
|
|
#include "datadesc.h"
|
|
#include "menu.h"
|
|
#include "menudesc.h"
|
|
#include "fram.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 "coin.h"
|
|
|
|
extern CPU_INT32U modem_status;
|
|
|
|
/*************************************
|
|
Èíäåêñ êàíàëà
|
|
*************************************/
|
|
CPU_INT32U ChannelIndex=0;
|
|
TRangeValueULONG const ChannelIndexRange = {0, CHANNELS_NUM-1};
|
|
CPU_INT08U const ChannelIndexName[] = " ÏÎÑÒ";
|
|
CPU_INT08U const* ChannelItems[] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
|
|
|
|
TDataDescStruct const ChannelIndexDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
&ChannelIndex, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&ChannelIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
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
|
|
};
|
|
|
|
/*************************************
|
|
Äëèíà èìïóëüñà âõîäà êóïþðíèêà, ìñ
|
|
*************************************/
|
|
TRangeValueULONG const CashPulseLenRange = {20, 250};
|
|
CPU_INT08U const CashPulseLenName[] = "Äëèíà èìï.,ìñ";
|
|
|
|
void OnChangeCashPulseLen()
|
|
{
|
|
CPU_INT32U pulse, pause;
|
|
GetData(&CashPulseLenDesc, &pulse, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
GetData(&CashPauseLenDesc, &pause, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
SetCashPulseParam(pulse, pause);
|
|
}
|
|
|
|
|
|
TDataDescStruct const CashPulseLenDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
COUNT_POST, // ðàçìåð ìàññèâà
|
|
&CashIndexDesc, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, cash_pulse_len), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&CashPulseLenRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeCashPulseLen, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CashPulseLenName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
50
|
|
};
|
|
|
|
/*************************************
|
|
Äëèíà ïàóçû âõîäà êóïþðíèêà, ìñ
|
|
*************************************/
|
|
TRangeValueULONG const CashPauseLenRange = {20, 250};
|
|
CPU_INT08U const CashPauseLenName[] = "Ïàóçà èìï.,ìñ";
|
|
|
|
TDataDescStruct const CashPauseLenDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
COUNT_POST, // ðàçìåð ìàññèâà
|
|
&CashIndexDesc, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, cash_pause_len), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&CashPauseLenRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeCashPulseLen, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CashPauseLenName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
20
|
|
};
|
|
|
|
/*************************************
|
|
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
|
|
};
|
|
|
|
/*************************************
|
|
Èñïîëüçîâàòü çàïðåò âûáîðà ïîñòà
|
|
*************************************/
|
|
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, 999};
|
|
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 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_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
COUNT_POST, // ðàçìåð ìàññèâà
|
|
&CashIndexDesc, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.EnableValidator), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&EnableValidatorRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
EnableValidatorName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
EnableValidatorList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
1 // çíà÷åíèå ïî óìîë÷àíèþ
|
|
};
|
|
|
|
/*************************************
|
|
Âêëþ÷åíèå ìîäåìà
|
|
*************************************/
|
|
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[] = {"Îê", "Îø.êîíô.", "Íåò ñâÿçè"};
|
|
|
|
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 CoinIndexRange = {0, 5};
|
|
CPU_INT08U const CoinIndexName[] = "ÍÀÑÒÐ.ÌÎÍÅÒÎÏÐ.";
|
|
CPU_INT08U const CoinIndex_str0[] = "1";
|
|
CPU_INT08U const CoinIndex_str1[] = "2";
|
|
CPU_INT08U const CoinIndex_str2[] = "3";
|
|
CPU_INT08U const CoinIndex_str3[] = "4";
|
|
CPU_INT08U const CoinIndex_str4[] = "5";
|
|
CPU_INT08U const CoinIndex_str5[] = "6";
|
|
CPU_INT08U const *CoinIndexList[] = {CoinIndex_str0, CoinIndex_str1,CoinIndex_str2,CoinIndex_str3,CoinIndex_str4,CoinIndex_str5};
|
|
|
|
CPU_INT32U CoinIndex = 0;
|
|
|
|
void OnChangeCoinIndex(void)
|
|
{
|
|
}
|
|
|
|
TDataDescStruct const CoinIndexDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)&CoinIndex, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&CoinIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeCoinIndex, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CoinIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
CoinIndexList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_ENABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Âêëþ÷åíèå ìîíåòîïðèåìíèêà
|
|
*************************************/
|
|
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_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
COUNT_POST, // ðàçìåð ìàññèâà
|
|
&CoinIndexDesc, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.EnableCoinAcceptor), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&EnableCoinRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnchangeEnableCoin, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
EnableCoinName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
EnableCoinList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
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_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
COUNT_POST, // ðàçìåð ìàññèâà
|
|
&CoinIndexDesc, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.CoinPerPulse), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&CoinPerPulseRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CoinPerPulseName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
1 // çíà÷åíèå ïî óìîë÷àíèþ
|
|
};
|
|
|
|
/*************************************
|
|
Èíäåêñ ïðè íàñòðîéêå êóïþðîïðèåìíèêîâ
|
|
*************************************/
|
|
TRangeValueULONG const CashIndexRange = {0, 5};
|
|
CPU_INT08U const CashIndexName[] = "ÍÀÑÒÐ.ÊÓÏÞÐÎÏÐ.";
|
|
|
|
void OnChangeCashIndex(void)
|
|
{
|
|
}
|
|
|
|
TDataDescStruct const CashIndexDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)&CoinIndex, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&CashIndexRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeCashIndex, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CashIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
CoinIndexList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_ENABLE,
|
|
0
|
|
};
|
|
|
|
|
|
/*************************************
|
|
Ðåæèì êóïþðíèêà
|
|
*************************************/
|
|
TRangeValueULONG const CashModeRange = {0, 1};
|
|
CPU_INT08U const CashModeName[] = "Ðåæèì";
|
|
CPU_INT08U const CashMode_str0[] = "CCNet";
|
|
CPU_INT08U const CashMode_str1[] = "Pulse";
|
|
CPU_INT08U const *CashModeList[] = {CashMode_str0, CashMode_str1};
|
|
|
|
TDataDescStruct const CashModeDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
COUNT_POST, // ðàçìåð ìàññèâà
|
|
&CashIndexDesc, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.CashMode), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&CashModeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CashModeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
CashModeList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
1
|
|
};
|
|
|
|
/*************************************
|
|
Ðåæèì ïå÷àòè ÷åêà
|
|
*************************************/
|
|
TRangeValueULONG const PrintModeRange = {0, 1};
|
|
CPU_INT08U const PrintModeName[] = "Ðåæ.ïå÷àòè";
|
|
CPU_INT08U const PrintMode_str0[] = "òàéìàóò";
|
|
CPU_INT08U const PrintMode_str1[] = "êíîïêà";
|
|
CPU_INT08U const *PrintModeList[] = {PrintMode_str0, PrintMode_str1};
|
|
|
|
TDataDescStruct const PrintModeDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
0, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.PrintMode), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&PrintModeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
PrintModeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
PrintModeList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
1
|
|
};
|
|
|
|
/*************************************
|
|
Òàéìàóò ïå÷àòè ÷åêà
|
|
*************************************/
|
|
TRangeValueULONG const PrintTimeoutRange = {0, 3600};
|
|
CPU_INT08U const PrintTimeoutName[] = "Òàéìàóò ïå÷àòè";
|
|
|
|
TDataDescStruct const PrintTimeoutDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
0, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.PrintTimeout), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&PrintTimeoutRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
PrintTimeoutName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
1 // çíà÷åíèå ïî óìîë÷àíèþ
|
|
};
|
|
|
|
/*************************************
|
|
Òàéìàóò îòìåíû ïå÷àòè ÷åêà
|
|
*************************************/
|
|
TRangeValueULONG const PrintTimeoutAfterRange = {0, 60};
|
|
CPU_INT08U const PrintTimeoutAfterName[] = "Òàéìàóò îáíóë.";
|
|
|
|
TDataDescStruct const PrintTimeoutAfterDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
0, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.PrintTimeoutAfter), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&PrintTimeoutAfterRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
PrintTimeoutAfterName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
10 // çíà÷åíèå ïî óìîë÷àíèþ
|
|
};
|
|
|
|
/*************************************
|
|
Öåíà èìïóëüñà êóïþðíèêà â èìïóëüñíîì ðåæèìå
|
|
*************************************/
|
|
TRangeValueULONG const CashPerPulseRange = {1, 9999};
|
|
CPU_INT08U const CashPerPulseName[] = "Ðóá./èìï.";
|
|
|
|
TDataDescStruct const CashPerPulseDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
COUNT_POST, // ðàçìåð ìàññèâà
|
|
&CashIndexDesc, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.CashPerPulse), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&CashPerPulseRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CashPerPulseName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
10 // çíà÷åíèå ïî óìîë÷àíèþ
|
|
};
|
|
|
|
|
|
/*************************************
|
|
Âêëþ÷åíèå ÔÐ
|
|
*************************************/
|
|
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,
|
|
1
|
|
};
|
|
|
|
/*************************************
|
|
Âêëþ÷åíèå ÔÐ
|
|
*************************************/
|
|
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 PriceRange = {1, 10000};
|
|
CPU_INT08U const PriceName[] = "Öåíà,ðóá.";
|
|
|
|
TDataDescStruct const PriceDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
1, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, ChannelConfig.Price), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&PriceRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
PriceName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
100
|
|
};
|
|
|
|
/*************************************
|
|
Öåíà ïî âûõîäíûì
|
|
*************************************/
|
|
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};
|
|
|
|
|
|
void OnChangeInitByDefault(void)
|
|
{
|
|
int i = 0;
|
|
if (InitByDefault == 0) return;
|
|
while (AllDataArray[i].ptr != NULL)
|
|
{
|
|
InitDescByDefault(AllDataArray[i].ptr);
|
|
i++;
|
|
}
|
|
InitByDefault = 0;
|
|
|
|
CPU_INT08U flag[4] = {0xAA, 0x55, 0x81, 0xC3};
|
|
char name[32] = "Óñëóãè àâòîìîéêè\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
|
|
WriteArrayFram(offsetof(TFramMap, manual_service_flag), 4, (unsigned char*)&flag);
|
|
WriteArrayFram(offsetof(TFramMap, manual_service_name), 32, (unsigned char*)&name);
|
|
}
|
|
|
|
|
|
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
|
|
};
|
|
|
|
|
|
/*************************************
|
|
Êîìàíäà íà ïå÷àòü Z-îò÷åòà
|
|
*************************************/
|
|
CPU_INT32U PrintZReportCmd = 0;
|
|
|
|
CPU_INT08U const PrintZReportName[] = "Îò÷.î çàêð.ñì.";
|
|
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] =
|
|
{"íåò",
|
|
|
|
"", "", "", "",
|
|
"", "", "", "",
|
|
"", "", "", "",
|
|
|
|
"", "", "", "",
|
|
"", "", "", "",
|
|
"", "", "", "",
|
|
|
|
"ÔÐ: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 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
|
|
};
|
|
|
|
|
|
/*************************************
|
|
Èíäåêñ ïðè ïðîñìîòðå æóðíàëà ñîáûòèé
|
|
*************************************/
|
|
TRangeValueULONG const EventJournalIndexRange = {0, 0xffffffff};
|
|
CPU_INT08U const EventJournalIndexName[] = "Çàïèñü #";
|
|
CPU_INT32U EventJournalIndex = 0;
|
|
|
|
void OnChangeEventJournalIndex(void)
|
|
{
|
|
TEventRecord record;
|
|
|
|
if (EventJournalIndex == 0xffffffff) EventJournalIndex = JOURNAL_EVENTS_COUNT - 1;
|
|
else if (EventJournalIndex > JOURNAL_EVENTS_COUNT - 1) EventJournalIndex = 0;
|
|
|
|
GetEventRecord(&record, EventJournalIndex);
|
|
PrintEventJournalRecord(&record);
|
|
}
|
|
|
|
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
|
|
};
|
|
|
|
|
|
/*************************************
|
|
Îáùèé ñ÷åò÷èê ÷èñëà çàïóñêîâ
|
|
*************************************/
|
|
CPU_INT08U const CounterRunName[] = "Çàïóñêè";
|
|
|
|
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[] = "Äåíüãè,ðóá.";
|
|
|
|
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
|
|
};
|
|
|
|
/*************************************
|
|
Îáùèé ñ÷åò÷èê âðåìåíè ðàáîòû
|
|
*************************************/
|
|
CPU_INT08U const CounterTimeName[] = "Âð.ðàá.";
|
|
|
|
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 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 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 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[] = "Î÷èñòêà";
|
|
|
|
void OnChangeClearStatCmd(void)
|
|
{
|
|
if (ClearStatCmd)
|
|
{
|
|
ClearCounters();
|
|
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_DISABLE,
|
|
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,
|
|
1
|
|
};
|
|
|
|
/*************************************
|
|
Ñèñòåìà íàëîãîîáëîæåíèÿ
|
|
*************************************/
|
|
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 = {1, 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,
|
|
6
|
|
};
|
|
|
|
/*************************************
|
|
Ïðåäìåò ðàñ÷åòà
|
|
*************************************/
|
|
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[] = "Òîâàð";
|
|
CPU_INT08U const ServiceNameList_str0[] = "Æåòîí";
|
|
CPU_INT08U const ServiceNameList_str1[] = "Óñëóãè ìîéêè";
|
|
CPU_INT08U const *ServiceNameList[] = {ServiceNameList_str0, ServiceNameList_str1};
|
|
|
|
void OnChangeServiceName(void)
|
|
{
|
|
CPU_INT08U flag[4] = {0, 0, 0, 0};
|
|
|
|
WriteArrayFram(offsetof(TFramMap, manual_service_flag), 4, (unsigned char*)&flag);
|
|
}
|
|
|
|
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, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeServiceName, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
ServiceNameName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
ServiceNameList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
1 // çíà÷åíèå ïî óìîë÷àíèþ
|
|
};
|
|
|
|
/*************************************
|
|
Äåñêðèïòîð äëÿ ýíåðãîíåçàâèñèìîãî ñîõðàíåíèÿ òåêóùèõ äåíåã
|
|
*************************************/
|
|
TDataDescStruct const AcceptedMoneyDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
COUNT_POST, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, FRAM_AcceptedMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Äåñêðèïòîð Crc16 ýíåðãîíåçàâèñèìîãî ñîõðàíåíèÿ òåêóùèõ äåíåã
|
|
*************************************/
|
|
TDataDescStruct const AcceptedMoneyCRC16Desc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
COUNT_POST, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, crc_AcceptedMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
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
|
|
};
|
|
|
|
/*************************************
|
|
Äåñêðèïòîð 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;
|
|
|
|
void OnChangeTempPass(void)
|
|
{
|
|
CPU_INT32U pass;
|
|
GetData(&PassDesc, &pass, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
|
|
if (GetCurrentMenu() == SetPassMenuPanel)
|
|
{ // óòàíîâêà íîâîãî ïàðîëÿ
|
|
if (pass != TempPass)
|
|
{
|
|
SaveEventRecord(0, JOURNAL_EVENT_PASS_FAIL, TempPass);
|
|
GoToMenu(ErrorPassPanel);
|
|
}
|
|
else {GoToPreviousMenu(); GoToMenu(SetNewPassMenuPanel);}
|
|
}
|
|
else if (GetCurrentMenu() == ResetSettingsMenuPanel)
|
|
{ // ñáðîñ íàñòðîåê
|
|
if (pass != TempPass)
|
|
{
|
|
SaveEventRecord(0, JOURNAL_EVENT_PASS_FAIL, TempPass);
|
|
GoToMenu(ErrorPassPanel);
|
|
}
|
|
else {InitByDefault = 1; OnChangeInitByDefault(); GoToPreviousMenu(); GoToMenu(SettingsIsReset);}
|
|
}
|
|
else if (GetCurrentMenu() == ClearStatMenu)
|
|
{ // î÷èñòêà ñòàòèñòèêè
|
|
if (pass != TempPass)
|
|
{
|
|
SaveEventRecord(0, JOURNAL_EVENT_PASS_FAIL, TempPass);
|
|
GoToMenu(ErrorPassPanel);
|
|
}
|
|
else {ClearStatCmd = 1; OnChangeClearStatCmd(); GoToPreviousMenu(); GoToMenu(StatIsReset);}
|
|
}
|
|
else if (GetCurrentMenu() == ClearJournalMenuPanel)
|
|
{ // î÷èñòêà ñòàòèñòèêè
|
|
if (pass != TempPass)
|
|
{
|
|
SaveEventRecord(0, JOURNAL_EVENT_PASS_FAIL, TempPass);
|
|
GoToMenu(ErrorPassPanel);
|
|
}
|
|
else {ClearJournalCmd = 1; OnChangeClearJournalCmd(); GoToPreviousMenu(); GoToMenu(JournalIsReset);}
|
|
}
|
|
|
|
}
|
|
|
|
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
|
|
};
|
|
|
|
|
|
CPU_INT08U const PassTempName1[] = " ÏÀÐÎËb";
|
|
|
|
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, 99999999};
|
|
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
|
|
};
|
|
|
|
CPU_INT08U const PassTempName2[] = " ÏÀÐÎËb";
|
|
|
|
TDataDescStruct const PassTempDesc2 = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)&TempPass, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&PassRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeTempPass, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
(void*)&PassTempName2, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
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
|
|
};
|
|
|
|
/*************************************
|
|
Çíà÷åíèå íîìèíàëà êóïþðû äëÿ ïðîñìîòðà ñ÷åò÷èêîâ
|
|
*************************************/
|
|
|
|
CPU_INT08U const BillnomValName[] = "Çíà÷åíèå,ðóá.";
|
|
|
|
TDataDescStruct const BillnomDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
24, // ðàçìåð ìàññèâà
|
|
(void*)&BillnomIndexDesc, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
NULL, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ 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);
|
|
}
|
|
|
|
CPU_INT08U const IpAddrName[] = "IP";
|
|
|
|
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,
|
|
0xC0A80064
|
|
};
|
|
|
|
/*************************************
|
|
Ìåñêà ñåòè
|
|
*************************************/
|
|
CPU_INT08U const NetMaskName[] = "MSK";
|
|
|
|
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,
|
|
0xFFFFFF00
|
|
};
|
|
|
|
/*************************************
|
|
Øëþç
|
|
*************************************/
|
|
|
|
void OnChangeGateway()
|
|
{
|
|
CPU_INT32U gw;
|
|
GetData(&GatewayDesc, &gw, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
NetIP_CfgAddrDfltGateway(gw);
|
|
}
|
|
|
|
CPU_INT08U const GatewayName[] = "GW";
|
|
|
|
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
|
|
};
|
|
|
|
//**************************************************
|
|
//**************************************************
|
|
//**************************************************
|
|
const TDataDescArrayStruct AllDataArray[] =
|
|
{
|
|
{&WorkTimeDesc, "WorkTimeDesc"},
|
|
{&ChannelIndexDesc, "ChannelIndexDesc"},
|
|
{&EnableChannelDesc, "EnableChannelDesc"},
|
|
{&EnableValidatorDesc, "EnableValidatorDesc"},
|
|
{&EnableModemDesc, "EnableModemDesc"},
|
|
{&EnableFiscalDesc, "EnableFiscalDesc"},
|
|
{&EnableCoinDesc, "EnableCoinDesc"},
|
|
{&TimeOutBeforeDesc, "TimeOutBeforeDesc"},
|
|
{&TimeOutAfterDesc, "TimeOutAfterDesc"},
|
|
{&MaxWorkTimeDesc, "MaxWorkTimeDesc"},
|
|
{&MinWorkTimeDesc, "MinWorkTimeDesc"},
|
|
{&WeekEndDesc, "WeekEndDesc"},
|
|
{&PeriodWeekendIndexDesc, "PeriodWeekendIndexDesc"},
|
|
{&PeriodWeekdaysIndexDesc, "PeriodWeekdaysIndexDesc"},
|
|
|
|
{&PriceWeekendDesc, "PriceWeekendDesc"},
|
|
{&PriceWeekdaysDesc, "PriceWeekdaysDesc"},
|
|
|
|
{&PriceTimeWeekendDesc, "PriceTimeWeekendDesc"},
|
|
{&PriceTimeWeekdaysDesc, "PriceTimeWeekdaysDesc"},
|
|
{&T_Start_WeekdaysDesc, "T_Start_WeekdaysDesc"},
|
|
{&T_End_WeekdaysDesc, "T_End_WeekdaysDesc"},
|
|
{&T_Start_WeekendDesc, "T_Start_WeekendDesc"},
|
|
{&T_End_WeekendDesc, "T_End_WeekendDesc"},
|
|
|
|
{&PrintZReportDesc, "PrintZReportDesc"},
|
|
{&PrintXReportDesc, "PrintXReportDesc"},
|
|
{&SystemTimeDesc, "SystemTimeDesc"},
|
|
{&SystemTimeEditDesc, "SystemTimeEditDesc"},
|
|
{&CoinPerPulseDesc, "CoinPerPulseDesc"},
|
|
|
|
{&BillFormatDesc, "BillFormatDesc"},
|
|
{&NameChannelDesc, "NameChannelDesc"},
|
|
|
|
{&PassDesc, "PassDesc"},
|
|
{&DeviceIDDesc, "DeviceIDDesc"},
|
|
|
|
{&EnableEmailErrorSendDesc, "EnableEmailErrorSendDesc"},
|
|
{&EnableEmailJournalSendDesc, "EnableEmailJournalSendDesc"},
|
|
{&ClearJournalAfterSendDesc, "ClearJournalAfterSendDesc"},
|
|
{&StatSendHourMinDesc, "StatSendHourMinDesc"},
|
|
{&SendTestEmailDesc, "SendTestEmailDesc"},
|
|
{&BillnomIndexDesc, "BillnomIndexDesc"},
|
|
|
|
{&DeferredStartDesc, "DeferredStartDesc"},
|
|
{&StartButtonNameDesc, "StartButtonNameDesc"},
|
|
|
|
{&GatewayDesc, "GatewayDesc"},
|
|
{&NetMaskDesc, "NetMaskDesc"},
|
|
{&IpAddrDesc, "IpAddrDesc"},
|
|
|
|
{&SelectProtectDesc, "SelectProtectDesc"},
|
|
{&PostIpAddrDesc, "PostIpAddrDesc"},
|
|
|
|
{&PostImpCostDesc, "PostImpCostDesc"},
|
|
{&PostLenCostDesc, "PostLenCostDesc"},
|
|
{&PostMinutePriceDesc, "PostMinutePriceDesc"},
|
|
|
|
{&CashModeDesc, "CashModeDesc"},
|
|
{&CashPerPulseDesc, "CashPerPulseDesc"},
|
|
|
|
{&EnableFiscalDayClearDesc, "EnableFiscalDayClearDesc"},
|
|
{&PrintTimeoutDesc, "PrintTimeoutDesc"},
|
|
|
|
{&PriceDesc, "PriceDesc"},
|
|
|
|
{&ServiceNameDesc, "ServiceNameDesc"},
|
|
|
|
{&CashPulseLenDesc, "CashPulseLenDesc"},
|
|
{&CashPauseLenDesc, "CashPauseLenDesc"},
|
|
|
|
{&TaxSystemDesc, "TaxSystemDesc"},
|
|
{&TaxFormatDesc, "TaxFormatDesc"},
|
|
{&SubjSellDesc, "SubjSellDesc"},
|
|
{&CommandV2Desc, "CommandV2Desc"},
|
|
{&ServiceNameDesc, "ServiceNameDesc"},
|
|
|
|
{&PrintModeDesc, "PrintModeDesc"},
|
|
{&PrintTimeoutAfterDesc, "PrintTimeoutAfterDesc"},
|
|
|
|
|
|
{NULL, ""}
|
|
};
|
|
|
|
|