mirror of
https://github.com/dimoniche/changer.git
synced 2026-01-30 01:03:30 +03:00
4287 lines
192 KiB
C
4287 lines
192 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 "modem_task.h"
|
|
#include "modem.h"
|
|
#include "coin.h"
|
|
#include "ftp_app.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 CoinPulseLenRange = {20, 250};
|
|
CPU_INT08U const CoinPulseLenName[] = "Äëèíà èìï.,ìñ";
|
|
|
|
void OnChangeCoinPulseLen()
|
|
{
|
|
CPU_INT32U pulse, pause;
|
|
|
|
GetData(&CoinPulseLenDesc, &pulse, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
GetData(&CoinPauseLenDesc, &pause, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
SetCoinPulseParam(pulse, pause);
|
|
}
|
|
|
|
TDataDescStruct const CoinPulseLenDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, coin_pulse_len), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&CoinPulseLenRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeCoinPulseLen, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CoinPulseLenName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
50
|
|
};
|
|
|
|
/*************************************
|
|
Äëèíà ïàóçû âõîäà ìîíåòíèêà, ìñ
|
|
*************************************/
|
|
TRangeValueULONG const CoinPauseLenRange = {20, 250};
|
|
CPU_INT08U const CoinPauseLenName[] = "Ïàóçà èìï.,ìñ";
|
|
|
|
TDataDescStruct const CoinPauseLenDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, coin_pause_len), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&CoinPauseLenRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeCoinPulseLen, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CoinPauseLenName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
20
|
|
};
|
|
|
|
/*************************************
|
|
Äëèíà èìïóëüñà âõîäà êóïþðíèêà, ìñ
|
|
*************************************/
|
|
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_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, cash_pulse_len), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&CashPulseLenRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeCashPulseLen, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
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_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, cash_pause_len), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&CashPauseLenRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeCashPulseLen, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CashPauseLenName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
20
|
|
};
|
|
|
|
/*************************************
|
|
Äëèíà èìïóëüñà âõîäà áàíêîâñêîãî òåðìèíàëà, ìñ
|
|
*************************************/
|
|
TRangeValueULONG const BankPulseLenRange = {20, 250};
|
|
CPU_INT08U const BankPulseLenName[] = "Äëèíà èìï.,ìñ";
|
|
|
|
void OnChangeBankPulseLen()
|
|
{
|
|
CPU_INT32U pulse, pause;
|
|
|
|
GetData(&BankPulseLenDesc, &pulse, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
GetData(&BankPauseLenDesc, &pause, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
SetBankPulseParam(pulse, pause);
|
|
}
|
|
|
|
TDataDescStruct const BankPulseLenDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, bank_pulse_len), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&BankPulseLenRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeBankPulseLen, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
BankPulseLenName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
50
|
|
};
|
|
|
|
/*************************************
|
|
Äëèíà ïàóçû âõîäà áàíêîâñêîãî òåðìèíàëà, ìñ
|
|
*************************************/
|
|
TRangeValueULONG const BankPauseLenRange = {20, 250};
|
|
CPU_INT08U const BankPauseLenName[] = "Ïàóçà èìï.,ìñ";
|
|
|
|
TDataDescStruct const BankPauseLenDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, bank_pause_len), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&BankPauseLenRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeBankPulseLen, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
BankPauseLenName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
20
|
|
};
|
|
|
|
/*************************************
|
|
Öåíà èìïóëüñà áàíêîâñêîãî òåðìèíàëà
|
|
*************************************/
|
|
TRangeValueULONG const BankPerPulseRange = {1, 9999};
|
|
CPU_INT08U const BankPerPulseName[] = "Ðóá./èìï.";
|
|
|
|
TDataDescStruct const BankPerPulseDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.BankPerPulse), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&BankPerPulseRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
BankPerPulseName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
10 // çíà÷åíèå ïî óìîë÷àíèþ
|
|
};
|
|
|
|
void OnChangeLevel()
|
|
{
|
|
CPU_INT32U level1, level2, level3, level4;
|
|
|
|
GetData(&CashLevelDesc, &level1, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
GetData(&BankLevelDesc, &level2, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
GetData(&CoinLevelDesc, &level3, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
GetData(&CoinLevelDesc, &level4, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
|
|
SetLevelParam(level1, level2, level3, level4);
|
|
|
|
#if OS_CRITICAL_METHOD == 3
|
|
OS_CPU_SR cpu_sr = 0;
|
|
#endif
|
|
OS_ENTER_CRITICAL();
|
|
InitInputPorts();
|
|
OS_EXIT_CRITICAL();
|
|
}
|
|
|
|
void OnChangeLevelWithoutInit()
|
|
{
|
|
CPU_INT32U level1, level2, level3, level4;
|
|
|
|
GetData(&CashLevelDesc, &level1, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
GetData(&BankLevelDesc, &level2, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
GetData(&CoinLevelDesc, &level3, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
GetData(&CoinLevelDesc, &level4, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
|
|
SetLevelParam(level1, level2, level3, level4);
|
|
}
|
|
|
|
/*************************************
|
|
Óðîâåíü ñèãíàëà ìîíåòíèêà
|
|
*************************************/
|
|
|
|
TRangeValueULONG const LevelRange = {0, 1};
|
|
CPU_INT08U const LevelName[] = "Óðîâåíü";
|
|
CPU_INT08U const Level_str0[] = "LOW";
|
|
CPU_INT08U const Level_str1[] = "HIGH";
|
|
CPU_INT08U const *LevelList[] = {Level_str0, Level_str1};
|
|
|
|
TDataDescStruct const CoinLevelDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.CoinLevel), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&LevelRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeLevel, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
LevelName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
LevelList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0 // çíà÷åíèå ïî óìîë÷àíèþ
|
|
};
|
|
|
|
/*************************************
|
|
Óðîâåíü ñèãíàëà êóïþðíèêà
|
|
*************************************/
|
|
TDataDescStruct const CashLevelDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.CashLevel), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&LevelRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeLevel, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
LevelName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
LevelList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0 // çíà÷åíèå ïî óìîë÷àíèþ
|
|
};
|
|
|
|
/*************************************
|
|
Óðîâåíü ñèãíàëà áàíêîâñêîãî òåðìèíàëà
|
|
*************************************/
|
|
TDataDescStruct const BankLevelDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.BankLevel), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&LevelRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeLevel, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
LevelName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
LevelList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0 // çíà÷åíèå ïî óìîë÷àíèþ
|
|
};
|
|
|
|
/*************************************
|
|
Óðîâåíü ñèãíàëà õîïïåðà â ðåæèìå Cube
|
|
*************************************/
|
|
TDataDescStruct const HopperLevelDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.HopperLevel), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&LevelRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeLevel, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
LevelName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
LevelList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0 // çíà÷åíèå ïî óìîë÷àíèþ
|
|
};
|
|
|
|
/*************************************
|
|
IP-àäðåñ ïîñòà
|
|
*************************************/
|
|
CPU_INT08U const PostIpAddrName[] = "IP";
|
|
|
|
TDataDescStruct const PostIpAddrDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_IP_ADDR, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
CHANNELS_NUM, // ðàçìåð ìàññèâà
|
|
&ChannelIndexDesc, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, ChannelConfig.post_ip), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
PostIpAddrName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0xC0A80065
|
|
};
|
|
|
|
/*************************************
|
|
Èñïîëüçîâàòü çàïðåò âûáîðà ïîñòà
|
|
*************************************/
|
|
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_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
0, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.EnableValidator), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&EnableValidatorRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
EnableValidatorName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
EnableValidatorList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0 // çíà÷åíèå ïî óìîë÷àíèþ
|
|
};
|
|
|
|
/*************************************
|
|
Âêëþ÷åíèå áàíêîâñêîãî òåðìèíàëà
|
|
*************************************/
|
|
TRangeValueULONG const EnableBankRange = {0, 1};
|
|
CPU_INT08U const EnableBankName[] = "Áàíê.òåðìèí.";
|
|
|
|
TDataDescStruct const EnableBankDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.EnableBank), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&EnableBankRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
EnableBankName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
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 EnableCoinRange = {0, 1};
|
|
CPU_INT08U const EnableCoinName[] = "Ìîíåòîïð-ê";
|
|
CPU_INT08U const *EnableCoinList[] = {OnOffList_str0, OnOffList_str1};
|
|
|
|
void OnchangeEnableCoin(void)
|
|
{
|
|
}
|
|
|
|
TDataDescStruct const EnableCoinDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
0, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.EnableCoinAcceptor), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&EnableCoinRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnchangeEnableCoin, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
EnableCoinName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
EnableCoinList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
1
|
|
};
|
|
|
|
/*************************************
|
|
Öåíà èìïóëüñà ìîíåòîïðèåìíèêà
|
|
*************************************/
|
|
TRangeValueULONG const CoinPerPulseRange = {1, 9999};
|
|
CPU_INT08U const CoinPerPulseName[] = "Ðóá./èìï.";
|
|
|
|
TDataDescStruct const CoinPerPulseDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
0, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.CoinPerPulse), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&CoinPerPulseRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CoinPerPulseName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
10 // çíà÷åíèå ïî óìîë÷àíèþ
|
|
};
|
|
|
|
|
|
/*************************************
|
|
Ðåæèì êóïóþðíèêà
|
|
*************************************/
|
|
TRangeValueULONG const 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_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
0, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.CashMode), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&CashModeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CashModeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
CashModeList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Ðåæèì ïå÷àòè ÷åêà
|
|
*************************************/
|
|
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_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
0, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.CashPerPulse), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&CashPerPulseRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
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 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";
|
|
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] = {
|
|
"íåò",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
|
|
"",
|
|
"",
|
|
"Îò÷åò îòïðàâëåí",
|
|
"Õîïïåð çàïîëíåí",
|
|
"Âûäàíî",
|
|
|
|
"Õîïïåð îøèáêà äàò÷èêà",
|
|
"Õîïïåð ïóñò",
|
|
|
|
"îøèáêà ñâÿçè ñ",
|
|
"îøèáêà ðàáîòû",
|
|
"1Ch60h-âûáð.êóïþðû",
|
|
"1Ch61h-âûáð.êóïþðû",
|
|
"1Ch64h-âûáð.êóïþðû",
|
|
"1Ch65h-âûáð.êóïþðû",
|
|
"1Ch66h-âûáð.êóïþðû",
|
|
"1Ch67h-âûáð.êóïþðû",
|
|
"1Ch68h-âûáð.êóïþðû",
|
|
"1Ch69h-âûáð.êóïþðû",
|
|
"1Ch6Ch-âûáð.êóïþðû",
|
|
"ê/ï:41h-êàññåòà",
|
|
"ê/ï:42h-êàññåòà",
|
|
"ê/ï:43h-çàìèí â ",
|
|
"ê/ï:44h-çàìèí",
|
|
"ê/ï:45h-ïîïûòêà",
|
|
"ê/ï:50h-îøèáêà",
|
|
"ê/ï:51h-îøèáêà ñêîð.",
|
|
"ê/ï:52h-îøèáêà",
|
|
"ê/ï:53h-îøèáêà ìåõ.",
|
|
"ê/ï:54h-êàññåòà",
|
|
"ê/ï:65h-îøèáêà",
|
|
"ê/ï:66h-îøèáêà",
|
|
"ê/ï:67h-îøèáêà åìê.",
|
|
"îøèáêà",
|
|
"îøèáêà",
|
|
"ÔÐ:01h-Íåèçâåñòíàÿ",
|
|
"ÔÐ:02h-Íåâåðíîå",
|
|
"ÔÐ:03h-Îøèáêà ÔÍ",
|
|
"ÔÐ:04h-Îøèáêà ÊÑ",
|
|
"ÔÐ:05h-Çàêîí÷åí ñðîê",
|
|
"ÔÐ:06h-Àðõèâ ÔÍ",
|
|
"ÔÐ:07h-Íåâåðíûå äàòà",
|
|
"ÔÐ:08h-Íåò ",
|
|
"ÔÐ:09h-Íåêîðð.",
|
|
"ÔÐ:10h-Ïðåâûøåíèå",
|
|
"ÔÐ:11h-Íåò",
|
|
"ÔÐ:12h-Èñ÷åðïàí",
|
|
"ÔÐ:14h-Èñ÷åðïàí",
|
|
"ÔÐ:15h-Èñ÷åðïàí",
|
|
"ÔÐ:16h-Ñìåíà áîëåå",
|
|
"ÔÐ:17h-Íåâåðíàÿ",
|
|
"ÔÐ:20h-Ñîîáùåíèå",
|
|
"ÔÐ:2Fh-Òàéìàóò ",
|
|
"ÔÐ:30h-ÔÍ ",
|
|
"ÔÐ:33h-Íåêîððåêòíûå",
|
|
"ÔÐ:34h-Íåò",
|
|
"ÔÐ:35h-Íåêîððåêòíûé",
|
|
"ÔÐ:36h-Íåêîððåêòíûå",
|
|
"ÔÐ:37h-Êîìàíäà",
|
|
"ÔÐ:38h-Îøèáêà",
|
|
"ÔÐ:39h-Âíóòðåííÿÿ",
|
|
"ÔÐ:3Ah-Ïåðåïîëíåíèå",
|
|
"ÔÐ:3Ch-Ñìåíà",
|
|
"ÔÐ:3Dh-Ñìåíà",
|
|
"ÔÐ:3Eh-Ïåðåïîëíåíèå",
|
|
"ÔÐ:3Fh-Ïåðåïîëíåíèå",
|
|
"ÔÐ:40h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:41h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:42h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:43h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:44h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:45h-Cóììà",
|
|
"ÔÐ:46h-Íå õâàòàåò",
|
|
"ÔÐ:47h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:48h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:49h-Îïåð.íåâîçì.",
|
|
"ÔÐ:4Ah-Îòêðûò ÷åê",
|
|
"ÔÐ:4Bh-Áóôåð ÷åêà",
|
|
"ÔÐ:4Ch-Ïåðåïîëíåíèå",
|
|
"ÔÐ:4Dh-Âíîñèìàÿ",
|
|
"ÔÐ:4Eh-Ñìåíà",
|
|
"ÔÐ:4Fh-Íåâåðíûé ïàðîëü",
|
|
"ÔÐ:50h-Èäåò ïå÷àòü",
|
|
"ÔÐ:51h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:52h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:53h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:54h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:55h-×åê çàêðûò",
|
|
"ÔÐ:56h-Íåò äîê.",
|
|
"ÔÐ:58h-Îæèäàíèå",
|
|
"ÔÐ:59h-Äîêóìåíò",
|
|
"ÔÐ:5Bh-Ïåðåïîëíåíèå",
|
|
"ÔÐ:5Ch-Ïîíèæåíî",
|
|
"ÔÐ:5Dh-Òàáëèöà",
|
|
"ÔÐ:5Eh-Íåêîððåêòíàÿ",
|
|
"ÔÐ:5Fh-Îòðèö.",
|
|
"ÔÐ:60h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:61h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:62h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:63h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:65h-Íå õâàòàåò",
|
|
"ÔÐ:66h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:68h-Íå õâàòàåò",
|
|
"ÔÐ:69h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:6Ah-Îøèáêà",
|
|
"ÔÐ:6Bh-Íåò ÷åêîâîé",
|
|
"ÔÐ:6Ch-Íåò êîíòð.",
|
|
"ÔÐ:6Dh-Íå õâàòàåò",
|
|
"ÔÐ:6Eh-Ïåðåïîëíåíèå",
|
|
"ÔÐ:6Fh-Ïåðåïîëíåíèå",
|
|
"ÔÐ:71h-Îøèáêà",
|
|
"ÔÐ:72h-Êîìàíäà íå",
|
|
"ÔÐ:73h-Êîìàíäà íå",
|
|
"ÔÐ:74h-Îøèáêà ÎÇÓ",
|
|
"ÔÐ:75h-Îøèáêà",
|
|
"ÔÐ:77h-Ïðèíòåð:",
|
|
"ÔÐ:78h-Çàìåíà ÏÎ",
|
|
"ÔÏ:7Ah-Ïîëå íå",
|
|
"ÔÐ:7Bh-Îøèáêà",
|
|
"ÔÐ:7Ch-Íå ñîâïàäàåò",
|
|
"ÔÐ:7Dh-Íåâåðíûé",
|
|
"ÔÐ:7Eh-Íåâåðíîå",
|
|
"ÔÐ:7Fh-Ïåðåïîëíåíèå",
|
|
"ÔÐ:84h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:85h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:86h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:87h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:88h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:89h-Ïåðåïîëíåíèå",
|
|
"ÔÐ:8Ah-Ïåðåïîëíåíèå",
|
|
"ÔÐ:8Bh-Ïåðåïîëíåíèå",
|
|
"ÔÐ:8Ch-Îòðèö.",
|
|
"ÔÐ:8Dh-Îòðèöàòåëüíûé",
|
|
"ÔÐ:8Eh-Íóëåâîé èòîã",
|
|
"ÔÐ:90h-Ïîëå ïðåâ.",
|
|
"ÔÐ:91h-Âûõîä çà",
|
|
"ÔÐ:92h-Íàëîæåíèå",
|
|
"ÔÐ:93h-Âîññòàíîâëåíèå",
|
|
"ÔÐ:94h-Èñ÷åðïàí",
|
|
"ÔÐ:C0h-Êîíòðîëü",
|
|
"ÔÐ:C2h-Ïðåâûøåíèå",
|
|
"ÔÐ:C4h-Íåñîâïàäåíèå",
|
|
"ÔÐ:C7h-Ïîëå íå",
|
|
"ÔÐ:Ñ8h-Îòñóòñòâóþò"
|
|
};
|
|
|
|
TDataDescStruct const JournalErrorNumberDesc0 = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
EVENT_RECORDS_COUNT, // ðàçìåð ìàññèâà
|
|
&EventJournalIndexDesc, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, EventRecords[0].event), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&ErrorNumberRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(TEventRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
(void*)ErrorNumberList0, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
CPU_INT08U const *ErrorNumberList1[JOURNAL_EVENTS_COUNT] = {"", "", "", "",
|
|
"", "", "", "",
|
|
"", "", "", "",
|
|
"", "", "", "",
|
|
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
|
|
"êóïþðîïðèåìíèêîì",
|
|
"êóïþðîïðèåìíèêà",
|
|
"ïðè çàìèíå",
|
|
"ïî ìàã.äàò÷èêó",
|
|
"ïðè òðàíñïîðò.",
|
|
"ïî èäåíòèôèêàöèè",
|
|
"ïî âåðèôèêàöèè ",
|
|
"ïî îïòè÷.äàò÷èêó ",
|
|
"ïî çàïðåòó",
|
|
"ïî åìêîñò.äàò÷èêó",
|
|
"ïî äëèíå",
|
|
"çàïîëíåíà",
|
|
"îòñóòñòâóåò",
|
|
"êóïþðîïðèåìíèêå",
|
|
"â êàññåòå",
|
|
"îáìàíà",
|
|
"ñòåêåðíîãî ìîòîðà",
|
|
"òðàíñïîðò.ìîòîðà",
|
|
"òðàíñïîðò.ìîòîðà",
|
|
"âûðàâíèâàíèÿ",
|
|
"îòñóòñòâóåò",
|
|
"îïòèêè",
|
|
"ìàã.äàò÷èêà",
|
|
"äàò÷èêà",
|
|
"ìîäåìà",
|
|
"ñâÿçè ñ ÔÐ",
|
|
|
|
"êîìàíäà", // ÔÐ:01h
|
|
"ñîñòîÿíèå ÔÍ",
|
|
"",
|
|
"",
|
|
"ýêñïëóàòàöèè ÔÍ",
|
|
"ïåðåïîëíåí",
|
|
"è/èëè âðåìÿ",
|
|
"çàïðîøåííûõ äàííûõ",
|
|
"çíà÷.ïàð.ê-äû",
|
|
"ðàçì.TLV äàííûõ",
|
|
"òðàíñï.ñîåä.",
|
|
"ðåñóðñ ÊÑ",
|
|
"ðåñóðñ õðàíåíèÿ",
|
|
"ðåñóðñ îæèäàíèÿ",
|
|
"24 ÷àñîâ",
|
|
"ðàçíèöà âî âðåìåíè",
|
|
"îò ÎÔÄ íå ïðèíÿòî",
|
|
"îáìåíà ñ ÔÍ",
|
|
"íå îòâå÷àåò",
|
|
"ïàðàìåòðû â ê-äå",
|
|
"äàííûõ",
|
|
"ïàðàìåòð",
|
|
"ïàðàìåòðû", // 36h
|
|
"íå ïîääåðæèâàåòñÿ",
|
|
"â ÏÇÓ",
|
|
"îøèáêà ÏÎ ÊÊÒ",
|
|
"íàê.ïî íàäá.",
|
|
"îòêð.-îïåðàöèÿ íåâîçì.",
|
|
"çàêð.-îïåðàöèÿ íåâîçì.", //3Dh
|
|
"íàêîï.ïî ñåêöèÿì",
|
|
"íàêîï.ïî ñêèäêàì",
|
|
"äèàïàçîíà ñêèäîê",
|
|
"äèàïàçîíà îïëàòû",
|
|
"äèàïàçîíà îïëàòû 2",
|
|
"äèàïàçîíà îïëàòû 3",
|
|
"äèàïàçîíà îïëàòû 4",
|
|
"ìåíüøå èòîãà ÷åêà",
|
|
"íàëè÷íîñòè â êàññå",
|
|
"íàêîïëåíèÿ ïî íàëîãàì",
|
|
"èòîãà ÷åêà",
|
|
"â îòêð.÷åêå",
|
|
"îïåðàöèÿ íåâîçìîæíà",
|
|
"ïåðåïîëíåí",
|
|
"íàêîï.ïî íàëîãàì",
|
|
"áåçíàë.ñóììà áîëüøå",
|
|
"ïðåâûñèëà 24 ÷àñà",
|
|
"",
|
|
"ïðåä.êîìàíäû",
|
|
"íàêîïëåíèé â ñìåíå",
|
|
"íàêîïëåíèé 2 â ñìåíå",
|
|
"íàêîïëåíèé 3 â ñìåíå",
|
|
"íàêîïëåíèé 4 â ñìåíå",
|
|
"îïåðàöèÿ íåâîçì.",
|
|
"äëÿ ïîâòîðà",
|
|
"êîìàíäû ïðîäîëæåíèÿ",
|
|
"îòêðûò äðóãèì îï.",
|
|
"äèàïàçîíà íàäáàâîê",
|
|
"íàïðÿæåíèå 24Â",
|
|
"íå îïðåäåëåíà",
|
|
"îïåðàöèÿ",
|
|
"èòîã ÷åêà",
|
|
"ïðè óìíîæåíèè",
|
|
"äèàïàçîíà öåíû",
|
|
"äèàïàçîíà êîë-âà",
|
|
"äèàïàçîíà îòäåëà",
|
|
"äåíåã â ñåêöèè",
|
|
"äåíåã â ñåêöèè",
|
|
"äåíåã ïî íàëîãàì",
|
|
"äåíåã ïî íàëîãàì",
|
|
"ïèòàíèÿ",
|
|
"ëåíòû",
|
|
"ëåíòû",
|
|
"äåíåã ïî íàëîãó",
|
|
"äåíåã ïî íàëîãó",
|
|
"ïî âûïëàòå â ñìåíå",
|
|
"îòðåç÷èêà",
|
|
"ïîääåðæ.",
|
|
"ïîääåðæ.",
|
|
"",
|
|
"ïèòàíèÿ",
|
|
"íåò ñèãíàëà",
|
|
"",
|
|
"ðåäàêòèðóåòñÿ",
|
|
"îáîðóäîâàíèÿ",
|
|
"äàòà",
|
|
"ôîðìàò äàòû",
|
|
"çíà÷åíèå â ïîëå äëèíû",
|
|
"äèàïàçîíà èòîãà ÷åêà",
|
|
"íàëè÷íîñòè",
|
|
"ïî ïðîäàæàì",
|
|
"ïî ïîêóïêàì",
|
|
"ïî âîçâðàòàì ïðîäàæ",
|
|
"ïî âîçâðàòàì ïîêóïîê",
|
|
"ïî âíåñåíèþ â ñìåíå",
|
|
"ïî íàäáàâêàì â ÷åêå",
|
|
"ïî ñêèäêàì â ÷åêå",
|
|
"èòîã íàäáàâêè",
|
|
"èòîã ñêèäêè â ÷åêå",
|
|
"÷åêà",
|
|
"ðàçìåð â íàñòðîéêàõ",
|
|
"ãðàíèöó ïîëÿ ïå÷àòè",
|
|
"ïîëåé",
|
|
"ÎÇÓ ïðîøëî óñïåøíî",
|
|
"ëèìèò îïåðàöèé â ÷åêå",
|
|
"äàòû è âðåìåíè",
|
|
"íàïðÿæåíèÿ",
|
|
"íîìåðîâ ñìåí",
|
|
"ðåäàêòèðóåòñÿ",
|
|
"èìïóëüñû òàõî."
|
|
};
|
|
|
|
TDataDescStruct const JournalErrorNumberDesc1 = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
EVENT_RECORDS_COUNT, // ðàçìåð ìàññèâà
|
|
&EventJournalIndexDesc, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, EventRecords[0].event), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&ErrorNumberRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(TEventRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
(void*)ErrorNumberList1, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
|
|
/*************************************
|
|
Ñòðîêà ñ îøèáêîé ïî-àíãëèéñêè
|
|
*************************************/
|
|
CPU_INT08U const *ErrorNumberListEng[JOURNAL_EVENTS_COUNT] =
|
|
{
|
|
"Net oshibki", "", "", "",
|
|
"", "", "", "",
|
|
"", "", "", "",
|
|
"", "", "", "",
|
|
"Oshibka svyazi c kupuropriemnikom",
|
|
"Kriticheskaya oshibka kupuropriemnika",
|
|
"Vybros kupury po mag.datchiku",
|
|
"Vybros kupury pri transportirovke",
|
|
"Vybros kupury po identifikacii",
|
|
"Vybros kupury po verifikacii",
|
|
"Vybros kupury po opt.datchiku",
|
|
"Vybros kupury po zapretu",
|
|
"Vybros kupury po emk.datchiku",
|
|
"Vybros kupury po dline",
|
|
"Kasseta zapolnena",
|
|
"Kasseta otsutstvuet",
|
|
"Zamin v kupuropriemnike",
|
|
"Zamin v kassete",
|
|
"Popytka obmana",
|
|
"Oshibka stekernogo motora",
|
|
"Oshibka skorosti transp.motora",
|
|
"Oshibka transp.motora",
|
|
"Oshibka mehanizmavyravnivaniya",
|
|
"Kasseta otsutstvuet",
|
|
"Oshibka optiki",
|
|
"Oshibka magn.datchika",
|
|
"Oshibka emk.datchika",
|
|
"Nekriticheskaya oshibka kupuropriemnika",
|
|
|
|
"Oshibka svyazi s modemom",
|
|
"Oshibka svyazi s FR",
|
|
"Oshibka FR 0x01",
|
|
"Oshibka FR 0x02",
|
|
"Oshibka FR 0x03",
|
|
"Oshibka FR 0x04",
|
|
"Oshibka FR 0x05",
|
|
"Oshibka FR 0x06",
|
|
"Oshibka FR 0x07",
|
|
"Oshibka FR 0x08",
|
|
"Oshibka FR 0x09",
|
|
"Oshibka FR 0x10",
|
|
"Oshibka FR 0x11",
|
|
"Oshibka FR 0x12",
|
|
"Oshibka FR 0x14",
|
|
"Oshibka FR 0x15",
|
|
"Oshibka FR 0x16",
|
|
"Oshibka FR 0x17",
|
|
"Oshibka FR 0x20",
|
|
"Oshibka FR 0x2F",
|
|
"Oshibka FR 0x30",
|
|
"Oshibka FR 0x33",
|
|
"Oshibka FR 0x34",
|
|
"Oshibka FR 0x35",
|
|
"Oshibka FR 0x36",
|
|
"Oshibka FR 0x37",
|
|
"Oshibka FR 0x38",
|
|
"Oshibka FR 0x39",
|
|
"Oshibka FR 0x3A",
|
|
"Oshibka FR 0x3C",
|
|
"Oshibka FR 0x3D",
|
|
"Oshibka FR 0x3E",
|
|
"Oshibka FR 0x3F",
|
|
"Oshibka FR 0x40",
|
|
"Oshibka FR 0x41",
|
|
"Oshibka FR 0x42",
|
|
"Oshibka FR 0x43",
|
|
"Oshibka FR 0x44",
|
|
"Oshibka FR 0x45",
|
|
"Oshibka FR 0x46",
|
|
"Oshibka FR 0x47",
|
|
"Oshibka FR 0x48",
|
|
"Oshibka FR 0x49",
|
|
"Oshibka FR 0x4A",
|
|
"Oshibka FR 0x4B",
|
|
"Oshibka FR 0x4C",
|
|
"Oshibka FR 0x4D",
|
|
"Oshibka FR 0x4E",
|
|
"Oshibka FR 0x4F",
|
|
"Oshibka FR 0x50",
|
|
"Oshibka FR 0x51",
|
|
"Oshibka FR 0x52",
|
|
"Oshibka FR 0x53",
|
|
"Oshibka FR 0x54",
|
|
"Oshibka FR 0x55",
|
|
"Oshibka FR 0x56",
|
|
"Oshibka FR 0x58",
|
|
"Oshibka FR 0x59",
|
|
"Oshibka FR 0x5B",
|
|
"Oshibka FR 0x5C",
|
|
"Oshibka FR 0x5D",
|
|
"Oshibka FR 0x5E",
|
|
"Oshibka FR 0x5F",
|
|
"Oshibka FR 0x60",
|
|
"Oshibka FR 0x61",
|
|
"Oshibka FR 0x62",
|
|
"Oshibka FR 0x63",
|
|
"Oshibka FR 0x65",
|
|
"Oshibka FR 0x66",
|
|
"Oshibka FR 0x68",
|
|
"Oshibka FR 0x69",
|
|
"Oshibka FR 0x6A",
|
|
"Oshibka FR 0x6B",
|
|
"Oshibka FR 0x6C",
|
|
"Oshibka FR 0x6D",
|
|
"Oshibka FR 0x6E",
|
|
"Oshibka FR 0x6F",
|
|
"Oshibka FR 0x71",
|
|
"Oshibka FR 0x72",
|
|
"Oshibka FR 0x73",
|
|
"Oshibka FR 0x74",
|
|
"Oshibka FR 0x75",
|
|
"Oshibka FR 0x77",
|
|
"Oshibka FR 0x78",
|
|
"Oshibka FR 0x7A",
|
|
"Oshibka FR 0x7B",
|
|
"Oshibka FR 0x7C",
|
|
"Oshibka FR 0x7D",
|
|
"Oshibka FR 0x7E",
|
|
"Oshibka FR 0x7F",
|
|
"Oshibka FR 0x84",
|
|
"Oshibka FR 0x85",
|
|
"Oshibka FR 0x86",
|
|
"Oshibka FR 0x87",
|
|
"Oshibka FR 0x88",
|
|
"Oshibka FR 0x89",
|
|
"Oshibka FR 0x8A",
|
|
"Oshibka FR 0x8B",
|
|
"Oshibka FR 0x8C",
|
|
"Oshibka FR 0x8D",
|
|
"Oshibka FR 0x8E",
|
|
"Oshibka FR 0x90",
|
|
"Oshibka FR 0x91",
|
|
"Oshibka FR 0x92",
|
|
"Oshibka FR 0x93",
|
|
"Oshibka FR 0x94",
|
|
"Oshibka FR 0xC0",
|
|
"Oshibka FR 0xC2",
|
|
"Oshibka FR 0xC4",
|
|
"Oshibka FR 0xC7",
|
|
"Oshibka FR 0xC8",
|
|
"",
|
|
""
|
|
};
|
|
|
|
TDataDescStruct const JournalErrorNumberDescEng = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
EVENT_RECORDS_COUNT, // ðàçìåð ìàññèâà
|
|
&EventJournalIndexDesc, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, EventRecords[0].event), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&ErrorNumberRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(TEventRecord), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
(void*)ErrorNumberList1, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
|
|
/*************************************
|
|
Èíäåêñ ïðè ïðîñìîòðå æóðíàëà ñîáûòèé
|
|
*************************************/
|
|
TRangeValueULONG const EventJournalIndexRange = {0, 0xffffffff};
|
|
CPU_INT08U const EventJournalIndexName[] = "Çàïèñü #";
|
|
CPU_INT32U EventJournalIndex = 0;
|
|
|
|
void OnChangeEventJournalIndex(void)
|
|
{
|
|
TEventRecord record;
|
|
|
|
if (EventJournalIndex == 0xffffffff) EventJournalIndex = EVENT_RECORDS_COUNT - 1;
|
|
else if (EventJournalIndex > EVENT_RECORDS_COUNT - 1) EventJournalIndex = 0;
|
|
|
|
GetEventRecord(&record, EventJournalIndex);
|
|
PrintEventJournalRecord(&record);
|
|
}
|
|
|
|
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
|
|
};
|
|
|
|
/*************************************
|
|
Âûäàííûå æåòîíû
|
|
*************************************/
|
|
CPU_INT08U const CounterCoinOutName[] = "Æåòîíû";
|
|
|
|
TDataDescStruct const CounterCoinOutDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, Counters.CounterCoinOut), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CounterCoinOutName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Îáùèé ñ÷åò÷èê äåíåã ÷åðåç ìîíåòíèê
|
|
*************************************/
|
|
CPU_INT08U const CounterCoinName[] = "Ìîíåòû,ðóá.";
|
|
|
|
TDataDescStruct const CounterCoinDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, Counters.CounterCoin), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CounterCoinName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Îáùèé ñ÷åò÷èê äåíåã ÷åðåç êóïþðíèê
|
|
*************************************/
|
|
CPU_INT08U const CounterCashName[] = "Êóïþðû,ðóá.";
|
|
|
|
TDataDescStruct const CounterCashDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, Counters.CounterCash), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CounterCashName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Îáùèé ñ÷åò÷èê íàëèíûõ äåíåã
|
|
*************************************/
|
|
CPU_INT08U const CounterBillName[] = "Ñóììà íàë.,ðóá.";
|
|
|
|
TDataDescStruct const CounterAllCashDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, Counters.CounterAllCash), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CounterBillName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Îáùèé ñ÷åò÷èê äåíåã ÷åðåç áàíêîâñêèé òåðìèíàë
|
|
*************************************/
|
|
CPU_INT08U const CounterBankName[] = "Áàíê,ðóá.";
|
|
|
|
TDataDescStruct const CounterBankDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, Counters.CounterBank), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CounterBankName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
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 CounterLongCoinOutDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, CountersLong.CounterCoinOutLong), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CounterCoinOutName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Îáùèé ñ÷åò÷èê äåíåã ÷åðåç ìîíåòíèê ÄËÈÍÍÛÉ
|
|
*************************************/
|
|
TDataDescStruct const CounterLongCoinDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, CountersLong.CounterCoinLong), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CounterCoinName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Îáùèé ñ÷åò÷èê äåíåã ÷åðåç êóïþðíèê ÄËÈÍÍÛÉ
|
|
*************************************/
|
|
TDataDescStruct const CounterLongCashDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, CountersLong.CounterCashLong), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CounterCashName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Îáùèé ñ÷åò÷èê íàëèíûõ äåíåã ÄËÈÍÍÛÉ
|
|
*************************************/
|
|
TDataDescStruct const CounterLongAllCashDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, CountersLong.CounterAllCashLong), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CounterBillName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Îáùèé ñ÷åò÷èê äåíåã ÷åðåç áàíêîâñêèé òåðìèíàë ÄËÈÍÍÛÉ
|
|
*************************************/
|
|
TDataDescStruct const CounterLongBankDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, CountersLong.CounterBankLong), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
CounterBankName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
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
|
|
};
|
|
|
|
/*************************************
|
|
Êîìàíäà íà î÷èñòêó ñòàòèñòèêè
|
|
*************************************/
|
|
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,
|
|
1
|
|
};
|
|
|
|
/*************************************
|
|
Èíäåêñ íàëîãà
|
|
*************************************/
|
|
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,
|
|
4
|
|
};
|
|
|
|
/*************************************
|
|
Ïðåäìåò ðàñ÷åòà
|
|
*************************************/
|
|
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,
|
|
2
|
|
};
|
|
|
|
/*************************************
|
|
Òèï êîìàíä ðàáîòû ñ ÷åêîì
|
|
*************************************/
|
|
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, 2};
|
|
CPU_INT08U const ServiceNameName[] = "Òîâàð";
|
|
CPU_INT08U const ServiceNameList_str0[] = "Æåòîí";
|
|
CPU_INT08U const ServiceNameList_str1[] = "Óñëóãè ìîéêè";
|
|
CPU_INT08U const ServiceNameList_str3[] = "Óñëóãà òóàëåò";
|
|
CPU_INT08U const *ServiceNameList[] = {ServiceNameList_str0, ServiceNameList_str1, ServiceNameList_str3};
|
|
|
|
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_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, FRAM_AcceptedMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Äåñêðèïòîð Crc16 ýíåðãîíåçàâèñèìîãî ñîõðàíåíèÿ òåêóùèõ äåíåã
|
|
*************************************/
|
|
TDataDescStruct const AcceptedMoneyCRC16Desc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, crc_AcceptedMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
TDataDescStruct const AcceptedBankMoneyDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, FRAM_AcceptedBankMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Äåñêðèïòîð Crc16 ýíåðãîíåçàâèñèìîãî ñîõðàíåíèÿ
|
|
*************************************/
|
|
TDataDescStruct const AcceptedBankMoneyCRC16Desc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, crc_AcceptedBankMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
TDataDescStruct const AcceptedRestMoneyDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, FRAM_AcceptedRestMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Äåñêðèïòîð Crc16 ýíåðãîíåçàâèñèìîãî ñîõðàíåíèÿ
|
|
*************************************/
|
|
TDataDescStruct const AcceptedRestMoneyCRC16Desc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, crc_AcceptedRestMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Äåñêðèïòîð äëÿ ýíåðãîíåçàâèñèìîãî ñîõðàíåíèÿ âûäàííûõ æåòîíîâ
|
|
*************************************/
|
|
TDataDescStruct const AcceptedCoinDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, FRAM_AcceptedCoin), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Äåñêðèïòîð Crc16 ýíåðãîíåçàâèñèìîãî ñîõðàíåíèÿ âûäàííûõ æåòîíîâ
|
|
*************************************/
|
|
TDataDescStruct const AcceptedCoinCRC16Desc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, crc_AcceptedCoin), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Äåñêðèïòîð ïàðîëÿ
|
|
*************************************/
|
|
TRangeValueULONG const PassRange = {0, 9999};
|
|
CPU_INT08U const PassName[] = " ÏÀÐÎËb";
|
|
|
|
void OnChangePass(void)
|
|
{
|
|
// îáíîâèì CRC ïàðîëÿ
|
|
CPU_INT32U pass,crc;
|
|
GetData(&PassDesc, &pass, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
crc = crc16((unsigned char*)&pass, sizeof(CPU_INT32U));
|
|
SetData(&PassCRCDesc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
}
|
|
|
|
TDataDescStruct const PassDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, Pass), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&PassRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangePass, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
(void*)&PassName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
DEFAULT_PASSWORD
|
|
};
|
|
|
|
/*************************************
|
|
Äåñêðèïòîð 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
|
|
};
|
|
|
|
/*************************************
|
|
Çíà÷åíèå íîìèíàëà êóïþðû äëÿ ïðîñìîòðà ñ÷åò÷èêîâ
|
|
*************************************/
|
|
extern CPU_INT32U BillNominals[24];
|
|
CPU_INT08U const BillnomValName[] = "Çíà÷åíèå,ðóá.";
|
|
|
|
TDataDescStruct const BillnomDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
24, // ðàçìåð ìàññèâà
|
|
(void*)&BillnomIndexDesc, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)&BillNominals, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
BillnomValName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Ñ÷åò÷èêè íîìèíàëîâ êóïþð â êóïþðíèêå
|
|
*************************************/
|
|
CPU_INT08U const BillnomCountersName[] = "Êîë-âî";
|
|
|
|
TDataDescStruct const BillnomCountersDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
|
24, // ðàçìåð ìàññèâà
|
|
&BillnomIndexDesc, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, Counters.CounterBillNominals[0]), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
BillnomCountersName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Îáùåå êîëè÷åñòâî êóïþð â êóïþðíèêå
|
|
*************************************/
|
|
CPU_INT08U const BillCounterName[] = "Âñåãî êóïþð";
|
|
|
|
TDataDescStruct const BillCounterDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, Counters.BillsCount), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
BillCounterName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
|
|
/*************************************
|
|
ID óñòðîéñòâà
|
|
*************************************/
|
|
CPU_INT08U const DeviceIDName[] = "ID óñò-âà";
|
|
TRangeValueULONG const DeviceIDRange = {0, 9999};
|
|
|
|
TDataDescStruct const DeviceIDDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
0, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.DeviceId), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&DeviceIDRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
DeviceIDName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Ïðèçíàê îòïðàâêè ñîîáùåíèÿ îá èíêàññàöèè
|
|
*************************************/
|
|
TDataDescStruct const IncasSendFlagDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
1, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, IncasEmailFlag), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Äåíüãè îò ïîñëåäíåé èíêàññàöèè
|
|
*************************************/
|
|
TDataDescStruct const IncasMoneyDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
1, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, IncasMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
NULL, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
IP-àäðåñ ñâîé
|
|
*************************************/
|
|
void OnChangeIpMask()
|
|
{
|
|
CPU_INT32U ip, mask;
|
|
GetData(&IpAddrDesc, &ip, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
GetData(&NetMaskDesc, &mask, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
#if uC_TCPIP_MODULE > 0
|
|
NetIP_CfgAddrThisHost(ip, mask);
|
|
#endif
|
|
}
|
|
|
|
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);
|
|
#if uC_TCPIP_MODULE > 0
|
|
NetIP_CfgAddrDfltGateway(gw);
|
|
#endif
|
|
}
|
|
|
|
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
|
|
};
|
|
|
|
/*************************************
|
|
Ñòîèìîñòü æåòîíà, ðóá. õîïïåðà
|
|
*************************************/
|
|
CPU_INT08U const HopperCostName[] = "Æåòîí,ðóá";
|
|
TRangeValueULONG const HopperCostRange = {0, 9999};
|
|
|
|
TDataDescStruct const HopperCostDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.hopperCost), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&HopperCostRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
HopperCostName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
10
|
|
};
|
|
|
|
/*************************************
|
|
îñòàíîâêà ìîòîðà õîïïåðà, ñåê
|
|
*************************************/
|
|
CPU_INT08U const HopperStopEngineName[] = "Îñòàíîâ,ñåê";
|
|
TRangeValueULONG const HopperStopEngineRange = {1, 20};
|
|
|
|
TDataDescStruct const HopperStopEngineDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.hopperStopEngine), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&HopperStopEngineRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
HopperStopEngineName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
5
|
|
};
|
|
|
|
/*************************************
|
|
Õðàíèòü êðåäèò, ìèí
|
|
*************************************/
|
|
CPU_INT08U const HopperSaveCreditName[] = "Êðåäèò,ìèí";
|
|
TRangeValueULONG const HopperSaveCreditRange = {0, 60};
|
|
|
|
TDataDescStruct const HopperSaveCreditDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.hopperSaveCredit), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&HopperSaveCreditRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
HopperSaveCreditName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Êíîïêà ñòàðò - äà/íåò
|
|
*************************************/
|
|
CPU_INT08U const HopperButtonStartName[] = "Êíîïêà";
|
|
TRangeValueULONG const HopperButtonStartRange = {0, 1};
|
|
|
|
CPU_INT08U const ButtonStartList_str0[] = "Íåò";
|
|
CPU_INT08U const ButtonStartList_str1[] = "Äà";
|
|
CPU_INT08U const *ButtonStartList[] = {ButtonStartList_str0, ButtonStartList_str1};
|
|
|
|
TDataDescStruct const HopperButtonStartDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.hopperButtonStart), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&HopperButtonStartRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
HopperButtonStartName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
ButtonStartList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
Äëèíà èìïóëüñà âõîäà õîïïåðà â ðåæèìå Cube, ìñ
|
|
*************************************/
|
|
TRangeValueULONG const HopperPulseLenRange = {20, 2000};
|
|
CPU_INT08U const HopperPulseLenName[] = "Äëèíà èìï.,ìñ";
|
|
|
|
void OnChangeHopperPulseLen()
|
|
{
|
|
CPU_INT32U pulse, pause;
|
|
GetData(&HopperPulseLenDesc, &pulse, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
GetData(&HopperPauseLenDesc, &pause, 0, DATA_FLAG_SYSTEM_INDEX);
|
|
SetHopperPulseParam(pulse, pause);
|
|
}
|
|
|
|
TDataDescStruct const HopperPulseLenDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, hopper_pulse_len), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&HopperPulseLenRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeHopperPulseLen, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
HopperPulseLenName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
1000
|
|
};
|
|
|
|
/*************************************
|
|
Äëèíà ïàóçû âõîäà õîïïåðà â ðåæèìå Cube, ìñ
|
|
*************************************/
|
|
TRangeValueULONG const HopperPauseLenRange = {20, 2000};
|
|
CPU_INT08U const HopperPauseLenName[] = "Ïàóçà èìï.,ìñ";
|
|
|
|
TDataDescStruct const HopperPauseLenDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, hopper_pause_len), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&HopperPauseLenRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeHopperPulseLen, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
HopperPauseLenName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
20
|
|
};
|
|
|
|
/*************************************
|
|
Äëèíà ïàóçû îñòàíîâêè ìîòîðà â ðåæèìå Cube, ìñ
|
|
*************************************/
|
|
TRangeValueULONG const HopperPauseEngineOffRange = {0, 50};
|
|
CPU_INT08U const HopperPauseEngineOffName[] = "Îñò.ìîò.,ìñ";
|
|
|
|
TDataDescStruct const HopperPauseEngineOffDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, hopper_pause_engine_off), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&HopperPauseEngineOffRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
HopperPauseEngineOffName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
/*************************************
|
|
ðåæèì õîïïåðà
|
|
*************************************/
|
|
void OnChangeHopperRegime()
|
|
{
|
|
#if OS_CRITICAL_METHOD == 3
|
|
OS_CPU_SR cpu_sr = 0;
|
|
#endif
|
|
OS_ENTER_CRITICAL();
|
|
InitInputPorts();
|
|
OS_EXIT_CRITICAL();
|
|
}
|
|
|
|
TRangeValueULONG const RegimeHopperRange = {0, 1};
|
|
CPU_INT08U const RegimeHopperName[] = "Ðåæèì";
|
|
CPU_INT08U const RegimeHopper_str0[] = "Elolution";
|
|
CPU_INT08U const RegimeHopper_str1[] = "Cube";
|
|
CPU_INT08U const *RegimeHopperList[] = {RegimeHopper_str0, RegimeHopper_str1};
|
|
|
|
TDataDescStruct const RegimeHopperDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
0, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.hopperRegime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&RegimeHopperRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeHopperRegime, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
RegimeHopperName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
RegimeHopperList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0 // çíà÷åíèå ïî óìîë÷àíèþ
|
|
};
|
|
|
|
/*************************************
|
|
Âêëþ÷åíèå èãíîðèðîâàíèÿ îøèáîê õîïïåðà
|
|
*************************************/
|
|
TRangeValueULONG const DisableHopperErrorsRange = {0, 1};
|
|
CPU_INT08U const DisableHopperErrorsName[] = "Èãíîðèð.îø.";
|
|
CPU_INT08U const DisableHopperErrorsList_str0[] = "íåò";
|
|
CPU_INT08U const DisableHopperErrorsList_str1[] = "äà";
|
|
CPU_INT08U const *DisableHopperErrorsList[] = {DisableHopperErrorsList_str0, DisableHopperErrorsList_str1};
|
|
|
|
TDataDescStruct const DisableHopperErrorsDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
0, // óêàçàòåëü íà äåñðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, DeviceConfig.hopperDisableErrors), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&DisableHopperErrorsRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
DisableHopperErrorsName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
DisableHopperErrorsList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
#ifdef CONFIG_FTP_CLIENT_ENABLE
|
|
|
|
/*************************************
|
|
Âêëþ÷åíèå FTP
|
|
*************************************/
|
|
TDataDescStruct const FtpEnableDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, FtpEnable), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&EnableChannelRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
EnableChannelName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
EnableChannelList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
|
|
char const FtpEnableDescId[] = "FtpEnableDesc";
|
|
|
|
/*************************************
|
|
IP-àäðåñ FTP-ñåðâåðà
|
|
*************************************/
|
|
CPU_INT08U const FtpServerIpAddrName[] = "FTP";
|
|
|
|
TDataDescStruct const FtpServerIpAddrDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_IP_ADDR, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, FtpServerIpAddr), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
FtpServerIpAddrName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0x5C35600A // "92.53.96.10"
|
|
};
|
|
char const FtpServerIpAddrDescId[] = "FtpServerIpAddrDesc";
|
|
|
|
/*************************************
|
|
Ëîãèí FTP-ñåðâåðà
|
|
*************************************/
|
|
CPU_INT08U const FtpServerLoginName[] = "Ëîãèí";
|
|
CPU_INT08U const FtpServerLoginDefault[] = "xmiker_morozov";
|
|
|
|
TDataDescStruct const FtpServerLoginDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_CHAR_STRING, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
15, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, FtpLogin), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
FtpServerLoginName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
(CPU_INT32U)&FtpServerLoginDefault[0]
|
|
};
|
|
char const FtpServerLoginDescId[] = "FtpServerLoginDesc";
|
|
|
|
/*************************************
|
|
Ïàðîëü FTP-ñåðâåðà
|
|
*************************************/
|
|
CPU_INT08U const FtpServerPassName[] = "Ïàðîëü";
|
|
CPU_INT08U const FtpServerPassDefault[] = "Qwerty11";
|
|
|
|
TDataDescStruct const FtpServerPassDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_CHAR_STRING, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
15, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, FtpPass), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
FtpServerPassName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
(CPU_INT32U)&FtpServerPassDefault[0]
|
|
};
|
|
char const FtpServerPassDescId[] = "FtpServerPassDesc";
|
|
|
|
/*************************************
|
|
FTP èäåíòèôèêàòîð óñòðîéñòâà
|
|
*************************************/
|
|
CPU_INT08U const FtpDeviceNumberName[] = "ID óñòð.";
|
|
TRangeValueULONG const FtpDeviceNumberRange = {0, 99999999};
|
|
|
|
TDataDescStruct const FtpDeviceNumberDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, FtpDeviceNumber), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&FtpDeviceNumberRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
FtpDeviceNumberName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
char const FtpDeviceNumberDescId[] = "FtpDeviceNumberDesc";
|
|
|
|
/*************************************
|
|
Âðåìÿ îòïðàâêè ñòàòèñòèêè íà FTP, ÷àñ : ìèí
|
|
*************************************/
|
|
CPU_INT08U const FtpSendHourMinName[] = "Âð.îòïð.";
|
|
|
|
TDataDescStruct const FtpSendHourMinDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_HOUR_MIN, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, FtpSendHourMin), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&StatSendHourRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
FtpSendHourMinName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
60 * 1
|
|
};
|
|
char const FtpSendHourMinDescId[] = "FtpSendHourMinDesc";
|
|
|
|
/*************************************
|
|
Èíòåðâàë îòïðàâêè íà FTP
|
|
*************************************/
|
|
CPU_INT08U const FtpSendIntervalName[] = "Èíòåðâàë";
|
|
TRangeValueULONG const FtpSendIntervalRange = {0, 7};
|
|
CPU_INT08U const FtpSendInterval_str0[] = "1÷";
|
|
CPU_INT08U const FtpSendInterval_str1[] = "2÷";
|
|
CPU_INT08U const FtpSendInterval_str2[] = "3÷";
|
|
CPU_INT08U const FtpSendInterval_str3[] = "4÷";
|
|
CPU_INT08U const FtpSendInterval_str4[] = "6÷";
|
|
CPU_INT08U const FtpSendInterval_str5[] = "8÷";
|
|
CPU_INT08U const FtpSendInterval_str6[] = "12÷";
|
|
CPU_INT08U const FtpSendInterval_str7[] = "24÷";
|
|
CPU_INT08U const *FtpSendIntervalList[] = {FtpSendInterval_str0, FtpSendInterval_str1, FtpSendInterval_str2, FtpSendInterval_str3,
|
|
FtpSendInterval_str4, FtpSendInterval_str5, FtpSendInterval_str6, FtpSendInterval_str7};
|
|
|
|
TDataDescStruct const FtpSendIntervalDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, FtpSendIntervalIndex), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&FtpSendIntervalRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
FtpSendIntervalName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
FtpSendIntervalList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
7
|
|
};
|
|
char const FtpSendIntervalDescId[] = "FtpSendIntervalDesc";
|
|
|
|
/*************************************
|
|
Ïîñëåäíåå âðåìÿ îòïðàâêè íà ftp
|
|
*************************************/
|
|
CPU_INT08U const FtpLastSendTimeName[] = "Ïîñë.âð.";
|
|
|
|
TDataDescStruct const FtpLastSendTimeDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_TIME, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, FtpLastTime), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
NULL, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
FtpLastSendTimeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
0
|
|
};
|
|
char const FtpLastSendTimeDescId[] = "FtpLastSendTimeDesc";
|
|
|
|
/*************************************
|
|
Ïîñëåäíèé ðåçóëüòàò îòïðàâêè íà FTP
|
|
*************************************/
|
|
CPU_INT08U const FtpLastSendResultName[] = "Ïîñë.ñòàòóñ";
|
|
TRangeValueULONG const FtpLastSendResultRange = {0, 1};
|
|
CPU_INT08U const FtpLastSendResult_str0[] = "ÎØÈÁÊÀ";
|
|
CPU_INT08U const FtpLastSendResult_str1[] = "ÎÊ";
|
|
CPU_INT08U const FtpLastSendResult_str2[] = "ÍÅÈÇÂÅÑÒÍÎ";
|
|
CPU_INT08U const *FtpLastSendResultList[] = {FtpLastSendResult_str0, FtpLastSendResult_str1, FtpLastSendResult_str2};
|
|
|
|
TDataDescStruct const FtpLastSendResultDesc = {
|
|
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
|
(void*)offsetof(TFramMap, FtpLastResult), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&FtpLastSendResultRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
FtpLastSendResultName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
FtpLastSendResultList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_DISABLE,
|
|
2
|
|
};
|
|
char const FtpLastSendResultDescId[] = "FtpLastSendResultDesc";
|
|
|
|
/*************************************
|
|
Êîìàíäà îòïðàâèòü äàííûå íà ftp ñåé÷àñ
|
|
*************************************/
|
|
CPU_INT08U const FtpSendNowCmdName[] = "Îòïðàâèòü";
|
|
|
|
CPU_INT32U ftp_send_cmd;
|
|
extern CPU_INT08U time_to_ftp;
|
|
|
|
void OnChangeFtpSendNowCmd(void)
|
|
{
|
|
if (ftp_send_cmd != 0)
|
|
{
|
|
time_to_ftp = FTP_FLAG_SEND_COUNTERS | FTP_FLAG_SEND_LOGS;
|
|
}
|
|
}
|
|
|
|
TDataDescStruct const FtpSendNowCmdDesc = {
|
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
|
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
|
0, // ðàçìåð ìàññèâà
|
|
NULL, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
|
(void*)&ftp_send_cmd, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
|
(void*)&EnableChannelRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
|
OnChangeFtpSendNowCmd, // ôóíêöèÿ ïî èçìåíåíèþ
|
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
|
FtpSendNowCmdName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
|
EnableChannelList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
|
DATA_INIT_ENABLE,
|
|
0
|
|
};
|
|
char const FtpSendNowCmdDescId[] = "FtpSendNowCmdDesc";
|
|
|
|
#endif // #ifdef CONFIG_FTP_CLIENT_ENABLE
|
|
|
|
//**************************************************
|
|
//**************************************************
|
|
//**************************************************
|
|
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"},
|
|
|
|
{&ServiceNameDesc, "ServiceNameDesc"},
|
|
|
|
{&CashPulseLenDesc, "CashPulseLenDesc"},
|
|
{&CashPauseLenDesc, "CashPauseLenDesc"},
|
|
|
|
{&EnableBankDesc, "EnableBankDesc"},
|
|
{&BankPerPulseDesc, "BankPerPulseDesc"},
|
|
{&BankPulseLenDesc, "BankPulseLenDesc"},
|
|
{&BankPauseLenDesc, "BankPauseLenDesc"},
|
|
{&BankLevelDesc, "BankLevelDesc"},
|
|
{&CashLevelDesc, "CashLevelDesc"},
|
|
{&CoinLevelDesc, "CoinLevelDesc"},
|
|
|
|
{&CoinPulseLenDesc, "CoinPulseLenDesc"},
|
|
{&CoinPauseLenDesc, "CoinPauseLenDesc"},
|
|
|
|
{&HopperCostDesc, "HopperCostDesc"},
|
|
{&HopperStopEngineDesc, "HopperStopEngineDesc"},
|
|
{&HopperSaveCreditDesc, "HopperSaveCreditDesc"},
|
|
{&HopperButtonStartDesc, "HopperButtonStartDesc"},
|
|
{&HopperPauseLenDesc, "HopperPauseLenDesc"},
|
|
{&HopperPauseEngineOffDesc, "HopperPauseEngineOffDesc"},
|
|
{&HopperPulseLenDesc, "HopperPulseLenDesc"},
|
|
{&RegimeHopperDesc, "RegimeHopperDesc"},
|
|
|
|
{&PrintModeDesc, "PrintModeDesc"},
|
|
{&PrintTimeoutAfterDesc, "PrintTimeoutAfterDesc"},
|
|
|
|
#ifdef CONFIG_FTP_CLIENT_ENABLE
|
|
{&FtpEnableDesc, "FtpEnableDesc"},
|
|
{&FtpServerIpAddrDesc, "FtpServerIpAddrDesc"},
|
|
{&FtpSendHourMinDesc, "FtpSendHourMinDesc"},
|
|
{&FtpSendIntervalDesc, "FtpSendIntervalDesc"},
|
|
{&FtpLastSendTimeDesc, "FtpLastSendTimeDesc"},
|
|
{&FtpLastSendResultDesc, "FtpLastSendResultDesc"},
|
|
{&FtpSendNowCmdDesc, "FtpSendNowCmdDesc"},
|
|
{&FtpDeviceNumberDesc, "FtpDeviceNumberDesc"},
|
|
{&FtpServerLoginDesc, "FtpServerLoginDesc"},
|
|
{&FtpServerPassDesc, "FtpServerPassDesc"},
|
|
#endif
|
|
|
|
{&TaxSystemDesc,"TaxSystemDesc"},
|
|
{&TaxFormatDesc,"TaxFormatDesc"},
|
|
{&SubjSellDesc, "SubjSellDesc"},
|
|
{&DisableFiscalErrorsDesc, "DisableFiscalErrorsDesc"},
|
|
{&CommandV2Desc, "CommandV2Desc"},
|
|
|
|
{&HopperLevelDesc, "HopperLevelDesc"},
|
|
{&DisableHopperErrorsDesc, "DisableHopperErrorsDesc"},
|
|
|
|
{NULL, ""}
|
|
};
|
|
|
|
|