превратили монетник в банковский терминал)

This commit is contained in:
Dmitriy 2021-04-29 22:47:32 +03:00
parent 4cd70015c3
commit 83682fe6da
34 changed files with 11479 additions and 6185 deletions

View File

@ -886,6 +886,45 @@ int FiscCloseBillV2(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U taxsys, char*
return FISC_OK;
}
int FiscCloseBillV2Online(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U taxsys, char* text, CPU_INT08U* err)
{
CPU_INT08U* rxdat;
CPU_INT08U len;
fisc_buf[0] = 0x45;
memcpy(&fisc_buf[1], (CPU_INT08U*)&pass, 4);
memset(&fisc_buf[5], 0, 5);
memcpy(&fisc_buf[10], cash, 5); // online ïëàòåæ
memset(&fisc_buf[15], 0, 70);
fisc_buf[85] = 0x00; // îêðóãëåíèå äî ðóáëÿ â êîïåéêàõ
memset(&fisc_buf[86], 0, 5); // íàëîã 1
memset(&fisc_buf[91], 0, 5); // íàëîã 2
memset(&fisc_buf[96], 0, 5); // íàëîã 3
memset(&fisc_buf[101], 0, 5); // íàëîã 4
memset(&fisc_buf[106], 0, 5); // íàëîã 5
memset(&fisc_buf[111], 0, 5); // íàëîã 6
fisc_buf[116] = (1 << taxsys);
memset(&fisc_buf[117], 0, 40);
strcpy((char*)&fisc_buf[117], text);
if (FiscSendCommand(FISC_EXTENDED_CMD, fisc_buf, 157) != FISC_OK) {return FISC_ERR;}
memset(fisc_buf, 0, 256);
if (FiscReceiveAnswer(&rxdat, &len, FISC_ANSWER_TIMEOUT) != FISC_OK) {return FISC_ERR;}
*err = rxdat[2];
//if (8 != len) {return FISC_ERR;}
if ((rxdat[0] != FISC_EXTENDED_CMD) || (rxdat[1] != 0x45) || (rxdat[2] != 0)) {return FISC_ERR;}
return FISC_OK;
}
// продолжение печати (после отсутствия бумаги)
int FiscPrintContinue(CPU_INT32U pass, CPU_INT08U* err)
{

View File

@ -370,6 +370,7 @@ extern int FiscOpenDay(CPU_INT32U pass, CPU_INT08U* err);
extern int FiscMakeSellV2(CPU_INT32U pass, CPU_INT64U *count, CPU_INT64U *price, CPU_INT08U department, CPU_INT08U* tax, CPU_INT08U subj, char* text, CPU_INT08U* err);
extern int FiscCloseBillV2(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U taxsys, char* text, CPU_INT08U* err);
extern int FiscCloseBillV2Online(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U taxsys, char* text, CPU_INT08U* err);
extern int FiscWriteTableData(CPU_INT32U pass, CPU_INT08U table, CPU_INT16U row, CPU_INT08U field, CPU_INT08U field_len, CPU_INT08U* data, CPU_INT08U* err);
extern int FiscReadTableData(CPU_INT32U pass, CPU_INT08U table, CPU_INT16U row, CPU_INT08U field, CPU_INT08U field_len, CPU_INT08U* data, CPU_INT08U* err);

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

5038
Flash/Exe/solarium_3_34.hex Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -65,6 +65,9 @@ void LoadAcceptedMoney(void);
void SetAcceptedMoney(CPU_INT32U money);
void ClearAcceptedMoney(void);
CPU_INT32U GetAcceptedMoney(void);
void SetAcceptedBankMoney(CPU_INT32U money);
void ClearAcceptedBankMoney(void);
CPU_INT32U GetAcceptedBankMoney(void);
void InitPass(void);
void UserPrintDeferredWaitMenu(int channel);
@ -177,9 +180,10 @@ void UserAppTask(void *p_arg)
if (was_critical_error)
{
if (IsValidatorConnected()) CC_CmdBillType(0xffffff, 0xffffff, ADDR_FL);
CPU_INT32U price=1, pricetime=0, maxtime = 0xffffffff, accmoney = GetAcceptedMoney();
CPU_INT32U price=1, pricetime=0, maxtime = 0xffffffff, accmoney = GetAcceptedMoney() + GetAcceptedBankMoney();
GetRecentChannelPrice(RecentChannel, &price, &pricetime);
GetData(&MaxWorkTimeDesc, &maxtime, RecentChannel, DATA_FLAG_DIRECT_INDEX);
if ((pricetime*accmoney*60)/price > maxtime*60)
{
CoinDisable();
@ -257,10 +261,12 @@ void UserAppTask(void *p_arg)
CPU_INT32U cpp = 1;
CPU_INT32U money, accmoney;
GetData(&CoinPerPulseDesc, &cpp, 0, DATA_FLAG_SYSTEM_INDEX);
money = cpp*GetResetCoinCount();
accmoney = GetAcceptedMoney();
accmoney = GetAcceptedBankMoney();
accmoney += money;
SetAcceptedMoney(accmoney);
SetAcceptedBankMoney(accmoney);
if (UserMenuState == USER_STATE_ACCEPT_MONEY)
{
UserPrintMoneyMenu();
@ -271,6 +277,10 @@ void UserAppTask(void *p_arg)
CPU_INT32U price=1, pricetime=0, maxtime = 0xffffffff;
GetRecentChannelPrice(RecentChannel, &price, &pricetime);
GetData(&MaxWorkTimeDesc, &maxtime, RecentChannel, DATA_FLAG_DIRECT_INDEX);
// äîáàâèì åùå è íàëè÷íûå
accmoney += GetAcceptedMoney();
if ((pricetime*accmoney*60)/price > maxtime*60)
{
CoinDisable();
@ -283,9 +293,11 @@ void UserAppTask(void *p_arg)
CPU_INT32U billnom_index;
CPU_INT32U billnom = GetResetBillCount(&billnom_index);
CPU_INT32U price=1, pricetime=0, maxtime = 0xffffffff, accmoney;
GetRecentChannelPrice(RecentChannel, &price, &pricetime);
GetData(&MaxWorkTimeDesc, &maxtime, RecentChannel, DATA_FLAG_DIRECT_INDEX);
accmoney = GetAcceptedMoney();
accmoney = GetAcceptedMoney() + GetAcceptedBankMoney();
if ((pricetime*(accmoney+billnom)*60)/price > maxtime*60)
{
max_msg = 3;
@ -509,29 +521,58 @@ void UserAppTask(void *p_arg)
if (UserMenuState == USER_STATE_ACCEPT_MONEY)
{ // ïîëüçîâàòåëü âíåñ äåíüãè è íàæàë ÑÒÀÐÒ
CPU_INT32U price=1, pricetime=0, mintime=0,accmoney;
CPU_INT32U price=1, pricetime=0, mintime=0,accmoney,accmoneyBank;
GetRecentChannelPrice(RecentChannel, &price, &pricetime);
accmoney = GetAcceptedMoney();
ChannelsPayedTime[RecentChannel] = (pricetime*accmoney*60)/price;
accmoneyBank = GetAcceptedBankMoney();
ChannelsPayedTime[RecentChannel] = (pricetime*(accmoney + accmoneyBank)*60)/price;
GetData(&MinWorkTimeDesc, &mintime, RecentChannel, DATA_FLAG_DIRECT_INDEX);
if (ChannelsPayedTime[RecentChannel] >= mintime*60)
{ // îïëà÷åííîå âðåìÿ áîëüøå ìèíèìóìà, ìîæíî ðàáîòàòü
if (IsValidatorConnected()) CC_CmdBillType(0x000000, 0x000000, ADDR_FL);
// íàïå÷àòàåì ÷åê
if (IsFiscalConnected())
CoinDisable();
if(accmoney)
{
if (PrintFiscalBill(accmoney, ChannelsPayedTime[RecentChannel]) == 0)
{
SaveEventRecord(RecentChannel, JOURNAL_EVENT_PRINT_BILL, GetTimeSec());
}
else
{
// îøèáêà ïå÷àòè ÷åêà
}
// íàïå÷àòàåì ÷åê - íàëè÷êà
if (IsFiscalConnected())
{
if (PrintFiscalBill(accmoney, (pricetime*accmoney*60)/price, 0) == 0)
{
SaveEventRecord(RecentChannel, JOURNAL_EVENT_PRINT_BILL, GetTimeSec());
}
else
{
// îøèáêà ïå÷àòè ÷åêà
}
}
}
IncCounter(RecentChannel, ChannelsPayedTime[RecentChannel], accmoney);
if(accmoneyBank)
{
// íàïå÷àòàåì ÷åê - íàëè÷êà
if (IsFiscalConnected())
{
if (PrintFiscalBill(accmoneyBank, (pricetime*accmoneyBank*60)/price, 1) == 0)
{
SaveEventRecord(RecentChannel, JOURNAL_EVENT_PRINT_BILL_ONLINE, GetTimeSec());
}
else
{
// îøèáêà ïå÷àòè ÷åêà
}
}
}
IncCounter(RecentChannel, ChannelsPayedTime[RecentChannel], accmoney, accmoneyBank);
SetAcceptedMoney(0);
SetAcceptedBankMoney(0);
// ãðóçèì â ñ÷åò÷èê âðåìÿ ïàóçó äî
CPU_INT32U deferred = 0;
@ -631,20 +672,6 @@ void UserStartupFunc(void)
// ñäåëàåì çàïèñü î âêëþ÷åíèè
SaveEventRecord(0, JOURNAL_EVENT_DEVICE_ON, GetTimeSec());
CPU_INT32U enable;
GetData(&EnableModemDesc, &enable, 0, DATA_FLAG_SYSTEM_INDEX);
SetData(&EnableCoinDesc, &enable, 0, DATA_FLAG_SYSTEM_INDEX);
// // èíèöèàëèçàöèÿ ìîäåìà - ïîêà ïîäêëþ÷àåì âìåñòî ôèñêàëüíèêà
// if (InitModem() != 0)
// {
// SetErrorFlag(ERROR_MODEM_CONN);
// }
// else
// {
// ClrErrorFlag(ERROR_MODEM_CONN);
// }
// çàïóñòèì ìîíåòíèê
InitCoin();
@ -727,7 +754,7 @@ void UserPrintMoneyMenu(void)
sprintf(buf, "Âíåñèòå äåíüãè");
PrintUserMenuStr(buf, 0);
accmoney = GetAcceptedMoney();
accmoney = GetAcceptedMoney() + GetAcceptedBankMoney();
sprintf(buf, "Ïðèíÿòî %d ðóá.", accmoney);
PrintUserMenuStr(buf, 1);
@ -1136,7 +1163,21 @@ void LoadAcceptedMoney(void)
SetData(&AcceptedMoneyDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
SetData(&AcceptedMoneyCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
}
// ñ÷èòàåì cîõðàíåííûå äåíüãè èç FRAM
GetData(&AcceptedBankMoneyDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
// ñ÷èòàåì crc16 ýòèõ äåíåã èç FRAM
GetData(&AcceptedBankMoneyCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
crct = CRC16((unsigned char*)&m, sizeof(CPU_INT32U));
if (crct != crc)
{ // îáíóëÿåì, åñëè crc íå ñîøëàñü
m = 0;
crc = CRC16((unsigned char*)&m, sizeof(CPU_INT32U));
SetData(&AcceptedBankMoneyDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
SetData(&AcceptedBankMoneyCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
}
}
// äîáàâèòü äåíåã
@ -1167,6 +1208,37 @@ CPU_INT32U GetAcceptedMoney(void)
return m;
}
// äîáàâèòü äåíåã
void SetAcceptedBankMoney(CPU_INT32U money)
{
CPU_INT32U m,crc;
m=money;
crc = CRC16((unsigned char*)&m, sizeof(CPU_INT32U));
SetData(&AcceptedBankMoneyDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
SetData(&AcceptedBankMoneyCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
}
// î÷èñòèòü ñ÷åò÷èê äåíåã
void ClearAcceptedBankMoney(void)
{
CPU_INT32U m,crc;
m=0;
crc = CRC16((unsigned char*)&m, sizeof(CPU_INT32U));
SetData(&AcceptedBankMoneyDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
SetData(&AcceptedBankMoneyCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
}
// î÷èñòèòü ñ÷åò÷èê äåíåã
CPU_INT32U GetAcceptedBankMoney(void)
{
CPU_INT32U m;
GetData(&AcceptedBankMoneyDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
return m;
}
// èíèöèàëèçàöèÿ ïàðîëÿ
void InitPass(void)
{

View File

@ -175,7 +175,7 @@ void GetEventStr(char* str, char event)
sprintf(str, "Âí.êóïþðà ");
break;
case JOURNAL_EVENT_MONEY_COIN:
sprintf(str, "Âí.ìîíåòû ");
sprintf(str, "Áåçíàë.îïëàòà ");
break;
case JOURNAL_EVENT_START_SESSION:
sprintf(str, "Íà÷.ñåàíñà ");
@ -189,6 +189,9 @@ void GetEventStr(char* str, char event)
case JOURNAL_EVENT_PRINT_BILL:
sprintf(str, "Ïå÷àòü ÷åêà");
break;
case JOURNAL_EVENT_PRINT_BILL_ONLINE:
sprintf(str, "Ïå÷àòü ÷åêà áåçíàë");
break;
case JOURNAL_EVENT_PRINT_Z:
sprintf(str, "Ïå÷àòü Z-îò÷åòà");
break;
@ -226,7 +229,7 @@ void GetEventStrEng(char* str, char event)
sprintf(str, " | Vnesena kupura ");
break;
case JOURNAL_EVENT_MONEY_COIN:
sprintf(str, " | Vneseny monety ");
sprintf(str, " | Âí.áåçíàë ");
break;
case JOURNAL_EVENT_START_SESSION:
sprintf(str, " | Nachalo seansa ");
@ -263,7 +266,10 @@ void GetEventStrEng(char* str, char event)
break;
case JOURNAL_EVENT_EMAIL_OK:
sprintf(str, " | E-mail otpravleno uspeshno ");
break;
break;
case JOURNAL_EVENT_PRINT_BILL_ONLINE:
sprintf(str, "Ïå÷àòü ÷åêà áåçíàë");
break;
default:
sprintf(str, " | Net sobytiya ");
break;
@ -344,21 +350,24 @@ void PrintEventJournalRecordEng(char* str, TEventRecord *record)
}
}
void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money)
void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money, CPU_INT32U moneyBank)
{
CPU_INT32U r, t, m;
CPU_INT32U r, t, m, b;
TCountersLong long_ctrs;
// óâåëè÷èì êàíàëüíûå ñ÷åò÷èêè
ReadArrayFram(offsetof(TFramMap, Counters.CounterChannelRun)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&r);
ReadArrayFram(offsetof(TFramMap, Counters.CounterChannelTime)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&t);
ReadArrayFram(offsetof(TFramMap, Counters.CounterChannelMoney)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&m);
ReadArrayFram(offsetof(TFramMap, Counters.CounterChannelBankMoney)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&b);
r++;
t+=time;
m+=money;
b+=moneyBank;
WriteArrayFram(offsetof(TFramMap, Counters.CounterChannelRun)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&r);
WriteArrayFram(offsetof(TFramMap, Counters.CounterChannelTime)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&t);
WriteArrayFram(offsetof(TFramMap, Counters.CounterChannelMoney)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&m);
WriteArrayFram(offsetof(TFramMap, Counters.CounterChannelBankMoney)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&b);
// óâåëè÷èì îáùèå ñ÷åò÷èêè
ReadArrayFram(offsetof(TFramMap, Counters.CounterRun), sizeof(CPU_INT32U), (unsigned char*)&r);
@ -366,7 +375,7 @@ void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money)
ReadArrayFram(offsetof(TFramMap, Counters.CounterMoney), sizeof(CPU_INT32U), (unsigned char*)&m);
r++;
t+=time;
m+=money;
m+=(money + moneyBank);
WriteArrayFram(offsetof(TFramMap, Counters.CounterRun), sizeof(CPU_INT32U), (unsigned char*)&r);
WriteArrayFram(offsetof(TFramMap, Counters.CounterTime), sizeof(CPU_INT32U), (unsigned char*)&t);
WriteArrayFram(offsetof(TFramMap, Counters.CounterMoney), sizeof(CPU_INT32U), (unsigned char*)&m);
@ -376,9 +385,10 @@ void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money)
long_ctrs.CounterChannelRunLong[ch]++;
long_ctrs.CounterChannelTimeLong[ch] += time;
long_ctrs.CounterChannelMoneyLong[ch] += money;
long_ctrs.CounterChannelBankMoneyLong[ch] += moneyBank;
long_ctrs.CounterRunLong++;
long_ctrs.CounterTimeLong += time;
long_ctrs.CounterMoneyLong += money;
long_ctrs.CounterMoneyLong += (money + moneyBank);
long_ctrs.crc = CRC16((unsigned char*)&long_ctrs, offsetof(TCountersLong, crc));
WriteArrayFram(offsetof(TFramMap, CountersLong), sizeof(TCountersLong), (unsigned char*)&long_ctrs);
}

View File

@ -92,7 +92,7 @@ typedef struct{
CPU_INT08U event;
#define JOURNAL_EVENT_NO_EVENT 0 // íåò ñîáûòèÿ
#define JOURNAL_EVENT_MONEY_NOTE 1 // ñîáûòèå ïîëó÷åíèÿ êóïþðû
#define JOURNAL_EVENT_MONEY_COIN 2 // ñîáûòèå ïîëó÷åíèÿ ìîíåòû (êîë-âî ðóáëåé)
#define JOURNAL_EVENT_MONEY_COIN 2 // ñîáûòèå ïîëó÷åíèÿ ìîíåòû (êîë-âî ðóáëåé) (òåïåðü ýòî áàíêîâñêèé òåðìèíàë)
#define JOURNAL_EVENT_START_SESSION 3 // ñîáûòèå íà÷àëà ñåàíñà
#define JOURNAL_EVENT_END_SESSION 4 // ñîáûòèå êîíöà ñåàíñà
#define JOURNAL_EVENT_DEVICE_ON 6 // âêëþ÷åíèå óñòðîéñòâà
@ -105,8 +105,8 @@ typedef struct{
#define JOURNAL_EVENT_PASS_FAIL 13 // íåâåðíûé ââîä ïàðîëÿ
#define JOURNAL_EVENT_EMAIL_OK 14 // ïðàâèëüíî îòïðàâëåí email
#define JOURNAL_EVENT_EMAIL_FAIL 15 // îøèáêà ïðè îòïðàâêå email
#define JOURNAL_EVENTS_NUM 16 // ÷èñëî ñîáûòèé
#define JOURNAL_EVENT_PRINT_BILL_ONLINE 16 // ïå÷àòü ÷åêà ñ äåíüãàìè ñ áàíêîâñêîãî òåðìèíàëà
#define JOURNAL_EVENTS_NUM 17 // ÷èñëî ñîáûòèé
// êàíàë
CPU_INT08U channel;
@ -122,6 +122,8 @@ typedef struct{
CPU_INT32U CounterChannelTime[CHANNELS_NUM];
// Ñóììà äåíåã ïîêàíàëüíî
CPU_INT32U CounterChannelMoney[CHANNELS_NUM];
// Ñóììà áåçíàëè÷íûõ äåíåã ïîêàíàëüíî
CPU_INT32U CounterChannelBankMoney[CHANNELS_NUM];
// îáùåå ÷èñëî çàïóñêîâ
CPU_INT32U CounterRun;
@ -146,6 +148,9 @@ typedef struct{
CPU_INT32U CounterChannelTimeLong[CHANNELS_NUM];
// Ñóììà äåíåã ïîêàíàëüíî
CPU_INT32U CounterChannelMoneyLong[CHANNELS_NUM];
// Ñóììà áåçíàëè÷íûõ äåíåã ïîêàíàëüíî
CPU_INT32U CounterChannelBankMoneyLong[CHANNELS_NUM];
CPU_INT32U CounterRunLong;
CPU_INT32U CounterTimeLong;
CPU_INT32U CounterMoneyLong;
@ -167,7 +172,7 @@ extern void ClearEventJournal(void);
extern void GetEventStr(char* str, char event);
extern int GetEventRecord(TEventRecord* record, CPU_INT32U index);
extern int GetErrorRecord(TErrorRecord* record, CPU_INT32U index);
extern void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money);
extern void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money, CPU_INT32U moneyBank);
extern void ClearCounters(void);
extern void ErrorServer(void);
extern int TstCriticalValidatorErrors(void);

View File

@ -393,7 +393,7 @@ TDataDescStruct const StatSendHourMinDesc = {
Âêëþ÷åíèå ìîíåòîïðèåìíèêà
*************************************/
TRangeValueULONG const EnableCoinRange = {0, 1};
CPU_INT08U const EnableCoinName[] = "Ìîíåòîïð-ê";
CPU_INT08U const EnableCoinName[] = "Банк.терминал";
CPU_INT08U const *EnableCoinList[] = {OnOffList_str0, OnOffList_str1};
void OnchangeEnableCoin(void)
@ -1968,6 +1968,29 @@ TDataDescStruct const CounterChannelMoneyDesc = {
0
};
CPU_INT08U const CounterBankMoneyName[] = "Безнал.,руб.";
/*************************************
Канальный счетчик денег
*************************************/
TDataDescStruct const CounterChannelBankMoneyDesc = {
DATA_DESC_VIEW, // тип дескриптора
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
CHANNELS_NUM, // размер массива
&ChannelStIndexDesc, // указатель на десриптор индекса массива
(void*)offsetof(TFramMap, Counters.CounterChannelBankMoney[0]), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
sizeof(CPU_INT32U), // смещение между элементами в массиве
CounterBankMoneyName, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
/*************************************
Êàíàëüíûé ñ÷åò÷èê âðåìåíè ðàáîòû
*************************************/
@ -2032,6 +2055,27 @@ TDataDescStruct const CounterChannelMoneyLongDesc = {
0
};
/*************************************
Канальный счетчик денег
*************************************/
TDataDescStruct const CounterChannelBankMoneyLongDesc = {
DATA_DESC_VIEW, // тип дескриптора
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
CHANNELS_NUM, // размер массива
&ChannelStIndexDesc, // указатель на десриптор индекса массива
(void*)offsetof(TFramMap, CountersLong.CounterChannelBankMoneyLong[0]), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
sizeof(CPU_INT32U), // смещение между элементами в массиве
CounterBankMoneyName, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
/*************************************
Êàíàëüíûé ñ÷åò÷èê âðåìåíè ðàáîòû
*************************************/
@ -2327,6 +2371,44 @@ TDataDescStruct const AcceptedMoneyCRC16Desc = {
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
};
/*************************************
Äåñêðèïòîð ïàðîëÿ

View File

@ -143,6 +143,7 @@ extern TDataDescStruct const CounterMoneyDesc;
extern TDataDescStruct const CounterTimeDesc;
extern TDataDescStruct const CounterChannelRunDesc;
extern TDataDescStruct const CounterChannelMoneyDesc;
extern TDataDescStruct const CounterChannelBankMoneyDesc;
extern TDataDescStruct const CounterChannelTimeDesc;
extern TDataDescStruct const ChannelStIndexDesc;
extern TDataDescStruct const ClearStatCmdDesc;
@ -152,6 +153,9 @@ extern TDataDescStruct const NameChannelDesc;
extern TDataDescStruct const AcceptedMoneyDesc;
extern TDataDescStruct const AcceptedMoneyCRC16Desc;
extern TDataDescStruct const AcceptedBankMoneyDesc;
extern TDataDescStruct const AcceptedBankMoneyCRC16Desc;
extern TDataDescStruct const DisableFiscalErrorsDesc;
extern TDataDescStruct const StartButtonNameDesc;
@ -177,6 +181,7 @@ extern TDataDescStruct const MasterPassTempDesc;
extern TDataDescStruct const CounterChannelRunLongDesc;
extern TDataDescStruct const CounterChannelMoneyLongDesc;
extern TDataDescStruct const CounterChannelBankMoneyLongDesc;
extern TDataDescStruct const CounterChannelTimeLongDesc;
extern TDataDescStruct const ChannelStLongIndexDesc;

View File

@ -43,5 +43,9 @@ typedef struct{
CPU_INT32U CommandV2;
CPU_INT32U TaxSystem;
// ëčíč˙ áĺçíŕëč÷íűő äĺíĺă
CPU_INT32U FRAM_AcceptedBankMoney;
CPU_INT32U crc_AcceptedBankMoney;
}TFramMap;

View File

@ -327,14 +327,21 @@ const TMenuLine line_ChannelCountersMenu_2 = {
};
const TMenuLine line_ChannelCountersMenu_3 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterChannelBankMoneyDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_ChannelCountersMenu_4 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterChannelTimeDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLineArray arr_ChannelCountersArray[] = {&line_ChannelCountersMenu_0, &line_ChannelCountersMenu_1, &line_ChannelCountersMenu_2, &line_ChannelCountersMenu_3, NULL};
const TMenuPanel ChannelCountersPanel[] = {arr_ChannelCountersArray, NULL, 4, MENU_PANEL_STATIC};
const TMenuLineArray arr_ChannelCountersArray[] = {&line_ChannelCountersMenu_0, &line_ChannelCountersMenu_1, &line_ChannelCountersMenu_2, &line_ChannelCountersMenu_3, &line_ChannelCountersMenu_4, NULL};
const TMenuPanel ChannelCountersPanel[] = {arr_ChannelCountersArray, NULL, 5, MENU_PANEL_STANDARD};
/***********************************
@ -839,7 +846,7 @@ const TMenuPanel PriceWeekendMenuPanel[] = {arr_PriceMenuArrayWend, OnEnterPanel
const CPU_INT08U str_DeviceMenu_0[] = " ÎÁÎÐÓÄÎÂÀÍÈÅ";
const CPU_INT08U str_DeviceMenu_1[] = "ÔÐ";
const CPU_INT08U str_DeviceMenu_2[] = "Ìîíåòîïðèåìíèê";
const CPU_INT08U str_DeviceMenu_2[] = "Áàíê.òåðìèíàë";
const CPU_INT08U str_DeviceMenu_3[] = "Ìîäåì";
const TMenuLine line_DeviceMenu_0 = {
@ -962,7 +969,7 @@ const TMenuPanel FrMenuPanel[] = {arr_FrMenuArray, NULL, 9, MENU_PANEL_STANDARD}
/***********************************
ÌÅÍÞ ÍÀÑÒÐÎÉÊÀ ÌÎÍÅÒÎÏÐÈÅÌÍÈÊÀ
***********************************/
const CPU_INT08U str_CoinMenu_0[] = "ÍÀÑÒÐÎéÊÈ ÌÎÍÅÒÎÏÐ.";
const CPU_INT08U str_CoinMenu_0[] = "ÍÀÑÒÐÎéÊÈ ÁÀÍÊ.ÒÅÐÌ.";
const TMenuLine line_CoinMenu_0 = {
MENU_LINE_STRING, // òèï ïóíêòà ìåíþ
@ -1655,7 +1662,7 @@ void PrintEventJournalRecord(TEventRecord *record)
{
sprintf(str_EventData, "");
}
else if (record->event == JOURNAL_EVENT_PRINT_BILL)
else if (record->event == JOURNAL_EVENT_PRINT_BILL || record->event == JOURNAL_EVENT_PRINT_BILL_ONLINE)
{
sprintf(str_EventData, "êàíàë %d", record->channel+1);
}
@ -1832,11 +1839,18 @@ const TMenuLine line_ChannelCountersLongMenu_2 = {
};
const TMenuLine line_ChannelCountersLongMenu_3 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterChannelBankMoneyLongDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_ChannelCountersLongMenu_4 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterChannelTimeLongDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLineArray arr_ChannelCountersLongArray[] = {&line_ChannelCountersLongMenu_0, &line_ChannelCountersLongMenu_1, &line_ChannelCountersLongMenu_2, &line_ChannelCountersLongMenu_3, NULL};
const TMenuPanel ChannelCountersLongPanel[] = {arr_ChannelCountersLongArray, NULL, 4, MENU_PANEL_STATIC};
const TMenuLineArray arr_ChannelCountersLongArray[] = {&line_ChannelCountersLongMenu_0, &line_ChannelCountersLongMenu_1, &line_ChannelCountersLongMenu_2, &line_ChannelCountersLongMenu_3, &line_ChannelCountersLongMenu_4, NULL};
const TMenuPanel ChannelCountersLongPanel[] = {arr_ChannelCountersLongArray, NULL, 5, MENU_PANEL_STANDARD};

View File

@ -624,7 +624,7 @@ void ClrFiscalErrorByCode(CPU_INT08U err)
// ïå÷àòü ÷åêà íà ÔÐ
// time òåïåðü â ñåêóíäàõ
int PrintFiscalBill(CPU_INT32U money, CPU_INT32U time)
int PrintFiscalBill(CPU_INT32U money, CPU_INT32U time, CPU_INT32U online)
{
CPU_INT08U err;
CPU_INT64U count = (time*1000)/60;
@ -798,27 +798,53 @@ repeat_close:
tax[0] = (CPU_INT08U)tax1;
}
if (((ext == 0) && (FiscCloseBill(DEFAULT_PASS, &cash, &tax[0], "Ñïàñèáî çà ïîêóïêó!!!", &err) != FISC_OK))
|| ((ext) && (FiscCloseBillV2(DEFAULT_PASS, &cash, tax[0], "Ñïàñèáî çà ïîêóïêó!!!!", &err) != FISC_OK))
)
if(online)
{
if (err)
{
SetFiscalErrorByCode(err);
}
else
{
// íåò ñîåäèíåíèÿ
ClearFiscalErrors();
FiscalConnState = FISCAL_NOCONN;
SetErrorFlag(ERROR_FR_CONN);
}
if (repeat)
{
FPost();
return -4;
}
repeat++;
if(((ext) && (FiscCloseBillV2Online(DEFAULT_PASS, &cash, tax[0], "Ñïàñèáî çà ïîêóïêó!!!", &err) != FISC_OK)))
{
if (err)
{
SetFiscalErrorByCode(err);
}
else
{
// íåò ñîåäèíåíèÿ
ClearFiscalErrors();
FiscalConnState = FISCAL_NOCONN;
SetErrorFlag(ERROR_FR_CONN);
}
if (repeat)
{
FPost();
return -4;
}
repeat++;
}
}
else
{
if (((ext == 0) && (FiscCloseBill(DEFAULT_PASS, &cash, &tax[0], "Ñïàñèáî çà ïîêóïêó!!!", &err) != FISC_OK))
|| ((ext) && (FiscCloseBillV2(DEFAULT_PASS, &cash, tax[0], "Ñïàñèáî çà ïîêóïêó!!!!", &err) != FISC_OK))
)
{
if (err)
{
SetFiscalErrorByCode(err);
}
else
{
// íåò ñîåäèíåíèÿ
ClearFiscalErrors();
FiscalConnState = FISCAL_NOCONN;
SetErrorFlag(ERROR_FR_CONN);
}
if (repeat)
{
FPost();
return -4;
}
repeat++;
}
}
if (repeat)

View File

@ -14,7 +14,7 @@ extern void InitFiscal(void);
extern int IsFiscalConnected(void);
extern void FPend(void);
extern void FPost(void);
extern int PrintFiscalBill(CPU_INT32U money, CPU_INT32U time);
extern int PrintFiscalBill(CPU_INT32U money, CPU_INT32U time, CPU_INT32U online);
extern int PrintFiscalBillRepeated(CPU_INT32U money, CPU_INT32U time);
extern void SetFiscalErrorByCode(CPU_INT08U err);
extern void ClearFiscalErrors(void);

View File

@ -1,7 +1,7 @@
#ifndef _VERSION_H_
#define _VERSION_H_
#define DEVICE_FW_VERSION "03.33"
#define DEVICE_FW_VERSION "03.34"
#endif // #ifndef _VERSION_H_

View File

@ -60,14 +60,14 @@
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\version.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>77</SelStart><SelEnd>77</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>360</YPos><SelStart>18127</SelStart><SelEnd>18127</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\fr.c</Filename><XPos>0</XPos><YPos>73</YPos><SelStart>445</SelStart><SelEnd>445</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>426</YPos><SelStart>97646</SelStart><SelEnd>97646</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>54</YPos><SelStart>2473</SelStart><SelEnd>2473</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>186</YPos><SelStart>6570</SelStart><SelEnd>6570</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>26</YPos><SelStart>706</SelStart><SelEnd>706</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\coin.c</Filename><XPos>0</XPos><YPos>28</YPos><SelStart>982</SelStart><SelEnd>992</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\modem\modem.c</Filename><XPos>0</XPos><YPos>143</YPos><SelStart>3321</SelStart><SelEnd>3321</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>889</YPos><SelStart>38896</SelStart><SelEnd>38896</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\modem_task.c</Filename><XPos>0</XPos><YPos>462</YPos><SelStart>15080</SelStart><SelEnd>15080</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\keyboard\keyboard.c</Filename><XPos>0</XPos><YPos>129</YPos><SelStart>2822</SelStart><SelEnd>2822</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>167</SelStart><SelEnd>167</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app.c</Filename><XPos>0</XPos><YPos>1</YPos><SelStart>590</SelStart><SelEnd>590</SelEnd></Tab><ActiveTab>13</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.c</Filename><XPos>0</XPos><YPos>9</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\symtab.h</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.h</Filename><XPos>0</XPos><YPos>3</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menu.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>406</SelStart><SelEnd>406</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\control.c</Filename><XPos>0</XPos><YPos>176</YPos><SelStart>1865</SelStart><SelEnd>1865</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>125</YPos><SelStart>3550</SelStart><SelEnd>3550</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\validator.c</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>9825</SelStart><SelEnd>9825</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\coin.c</Filename><XPos>0</XPos><YPos>28</YPos><SelStart>982</SelStart><SelEnd>992</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\modem\modem.c</Filename><XPos>0</XPos><YPos>143</YPos><SelStart>3321</SelStart><SelEnd>3321</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\modem_task.c</Filename><XPos>0</XPos><YPos>462</YPos><SelStart>15080</SelStart><SelEnd>15080</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\keyboard\keyboard.c</Filename><XPos>0</XPos><YPos>129</YPos><SelStart>2822</SelStart><SelEnd>2822</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>21</YPos><SelStart>854</SelStart><SelEnd>873</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app.c</Filename><XPos>0</XPos><YPos>1</YPos><SelStart>590</SelStart><SelEnd>590</SelEnd></Tab><ActiveTab>5</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.c</Filename><XPos>0</XPos><YPos>9</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\symtab.h</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.h</Filename><XPos>0</XPos><YPos>3</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menu.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>406</SelStart><SelEnd>406</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\control.c</Filename><XPos>0</XPos><YPos>176</YPos><SelStart>1865</SelStart><SelEnd>1865</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>575</YPos><SelStart>22600</SelStart><SelEnd>22600</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\validator.c</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>9825</SelStart><SelEnd>9825</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\version.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>77</SelStart><SelEnd>77</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.c</Filename><XPos>0</XPos><YPos>184</YPos><SelStart>4367</SelStart><SelEnd>4367</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\fr.c</Filename><XPos>0</XPos><YPos>607</YPos><SelStart>16346</SelStart><SelEnd>16365</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\fiscal\fiscal.c</Filename><XPos>0</XPos><YPos>840</YPos><SelStart>21887</SelStart><SelEnd>21887</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>360</YPos><SelStart>18263</SelStart><SelEnd>18263</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\fr.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>416</SelStart><SelEnd>416</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>1963</YPos><SelStart>91825</SelStart><SelEnd>91825</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>12</YPos><SelStart>808</SelStart><SelEnd>808</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>90</YPos><SelStart>3905</SelStart><SelEnd>3936</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>170</YPos><SelStart>6311</SelStart><SelEnd>6311</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>958</YPos><SelStart>39421</SelStart><SelEnd>39421</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.h</Filename><XPos>0</XPos><YPos>29</YPos><SelStart>1564</SelStart><SelEnd>1564</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-058229c8><key>iaridepm.enu1</key></Toolbar-058229c8><Toolbar-05875ba8><key>debuggergui.enu1</key></Toolbar-05875ba8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>484</Bottom><Right>302</Right><x>-2</x><y>-2</y><xscreen>213</xscreen><yscreen>206</yscreen><sizeHorzCX>155930</sizeHorzCX><sizeHorzCY>284138</sizeHorzCY><sizeVertCX>222548</sizeVertCX><sizeVertCY>670345</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>196</Bottom><Right>1368</Right><x>-2</x><y>-2</y><xscreen>1370</xscreen><yscreen>198</yscreen><sizeHorzCX>1002928</sizeHorzCX><sizeHorzCY>273103</sizeHorzCY><sizeVertCX>155930</sizeVertCX><sizeVertCY>273103</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-048629c8><key>iaridepm.enu1</key></Toolbar-048629c8><Toolbar-048af288><key>debuggergui.enu1</key></Toolbar-048af288></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>484</Bottom><Right>302</Right><x>-2</x><y>-2</y><xscreen>213</xscreen><yscreen>206</yscreen><sizeHorzCX>155930</sizeHorzCX><sizeHorzCY>284138</sizeHorzCY><sizeVertCX>222548</sizeVertCX><sizeVertCY>670345</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>196</Bottom><Right>1368</Right><x>-2</x><y>-2</y><xscreen>1370</xscreen><yscreen>198</yscreen><sizeHorzCX>1002928</sizeHorzCX><sizeHorzCY>273103</sizeHorzCY><sizeVertCX>155930</sizeVertCX><sizeVertCY>273103</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Project>

View File

@ -3,7 +3,7 @@ WatchCond=_ 0
Watch0=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0
Watch1=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0
[DebugChecksum]
Checksum=-454810418
Checksum=-1867077700
[DisAssemblyWindow]
NumStates=_ 1
State 1=_ 1

View File

@ -63,14 +63,14 @@
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\version.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>77</SelStart><SelEnd>77</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>360</YPos><SelStart>18127</SelStart><SelEnd>18127</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\fr.c</Filename><XPos>0</XPos><YPos>73</YPos><SelStart>445</SelStart><SelEnd>445</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>426</YPos><SelStart>97646</SelStart><SelEnd>97646</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>54</YPos><SelStart>2473</SelStart><SelEnd>2473</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>186</YPos><SelStart>6570</SelStart><SelEnd>6570</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>26</YPos><SelStart>706</SelStart><SelEnd>706</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\coin.c</Filename><XPos>0</XPos><YPos>28</YPos><SelStart>982</SelStart><SelEnd>992</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\modem\modem.c</Filename><XPos>0</XPos><YPos>143</YPos><SelStart>3321</SelStart><SelEnd>3321</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>889</YPos><SelStart>38896</SelStart><SelEnd>38896</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\modem_task.c</Filename><XPos>0</XPos><YPos>462</YPos><SelStart>15080</SelStart><SelEnd>15080</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\keyboard\keyboard.c</Filename><XPos>0</XPos><YPos>129</YPos><SelStart>2822</SelStart><SelEnd>2822</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>167</SelStart><SelEnd>167</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app.c</Filename><XPos>0</XPos><YPos>1</YPos><SelStart>590</SelStart><SelEnd>590</SelEnd></Tab><ActiveTab>13</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.c</Filename><XPos>0</XPos><YPos>9</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\symtab.h</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.h</Filename><XPos>0</XPos><YPos>3</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menu.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>406</SelStart><SelEnd>406</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\control.c</Filename><XPos>0</XPos><YPos>176</YPos><SelStart>1865</SelStart><SelEnd>1865</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>125</YPos><SelStart>3550</SelStart><SelEnd>3550</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\validator.c</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>9825</SelStart><SelEnd>9825</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\coin.c</Filename><XPos>0</XPos><YPos>28</YPos><SelStart>982</SelStart><SelEnd>992</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\modem\modem.c</Filename><XPos>0</XPos><YPos>143</YPos><SelStart>3321</SelStart><SelEnd>3321</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\modem_task.c</Filename><XPos>0</XPos><YPos>462</YPos><SelStart>15080</SelStart><SelEnd>15080</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\keyboard\keyboard.c</Filename><XPos>0</XPos><YPos>129</YPos><SelStart>2822</SelStart><SelEnd>2822</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>21</YPos><SelStart>854</SelStart><SelEnd>873</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app.c</Filename><XPos>0</XPos><YPos>1</YPos><SelStart>590</SelStart><SelEnd>590</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.c</Filename><XPos>0</XPos><YPos>9</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\symtab.h</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.h</Filename><XPos>0</XPos><YPos>3</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menu.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>406</SelStart><SelEnd>406</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\control.c</Filename><XPos>0</XPos><YPos>176</YPos><SelStart>1865</SelStart><SelEnd>1865</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>527</YPos><SelStart>21024</SelStart><SelEnd>21024</SelEnd></Tab><ActiveTab>11</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\validator.c</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>9825</SelStart><SelEnd>9825</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\version.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>77</SelStart><SelEnd>77</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.c</Filename><XPos>0</XPos><YPos>184</YPos><SelStart>4367</SelStart><SelEnd>4367</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\fr.c</Filename><XPos>0</XPos><YPos>607</YPos><SelStart>16346</SelStart><SelEnd>16365</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\fiscal\fiscal.c</Filename><XPos>0</XPos><YPos>840</YPos><SelStart>21887</SelStart><SelEnd>21887</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>360</YPos><SelStart>18263</SelStart><SelEnd>18263</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\fr.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>416</SelStart><SelEnd>416</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>1963</YPos><SelStart>91825</SelStart><SelEnd>91825</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>12</YPos><SelStart>808</SelStart><SelEnd>808</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>90</YPos><SelStart>3905</SelStart><SelEnd>3936</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>170</YPos><SelStart>6311</SelStart><SelEnd>6311</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>958</YPos><SelStart>39421</SelStart><SelEnd>39421</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.h</Filename><XPos>0</XPos><YPos>29</YPos><SelStart>1564</SelStart><SelEnd>1564</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-058229c8><key>iaridepm.enu1</key></Toolbar-058229c8></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>522</Bottom><Right>290</Right><x>-2</x><y>-2</y><xscreen>160</xscreen><yscreen>0</yscreen><sizeHorzCX>117130</sizeHorzCX><sizeHorzCY>0</sizeHorzCY><sizeVertCX>213763</sizeVertCX><sizeVertCY>722759</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>158</Bottom><Right>1368</Right><x>-2</x><y>-2</y><xscreen>1370</xscreen><yscreen>160</yscreen><sizeHorzCX>1002928</sizeHorzCX><sizeHorzCY>220690</sizeHorzCY><sizeVertCX>117130</sizeVertCX><sizeVertCY>0</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-048629c8><key>iaridepm.enu1</key></Toolbar-048629c8></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>488</Bottom><Right>290</Right><x>-2</x><y>-2</y><xscreen>160</xscreen><yscreen>0</yscreen><sizeHorzCX>117130</sizeHorzCX><sizeHorzCY>0</sizeHorzCY><sizeVertCX>213763</sizeVertCX><sizeVertCY>675862</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>192</Bottom><Right>1368</Right><x>-2</x><y>-2</y><xscreen>1370</xscreen><yscreen>194</yscreen><sizeHorzCX>1002928</sizeHorzCX><sizeHorzCY>267586</sizeHorzCY><sizeVertCX>117130</sizeVertCX><sizeVertCY>0</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>

File diff suppressed because it is too large Load Diff

View File

@ -585,7 +585,7 @@
</option>
<option>
<name>OOCOutputFile</name>
<state>solarium_3_33.hex</state>
<state>solarium_3_34.hex</state>
</option>
<option>
<name>OOCCommandLineProducer</name>