первая версия - первый режим работает

3 часа
This commit is contained in:
Dmitriy 2021-02-17 22:56:18 +03:00
parent 8a31e64a99
commit cac1e49ac5
22 changed files with 19972 additions and 9454 deletions

File diff suppressed because it is too large Load Diff

View File

@ -127,38 +127,6 @@ CPU_INT32U FindBillIndex(CPU_INT32U nom)
return 0xFFFFFFFF; return 0xFFFFFFFF;
} }
/*
P0.24 MK_P8 óïðàâëåíèå õîïïåðîì
P0.25 MK_P7 çàïðåò áàíêîâñêîãî òåðìèíàëà
P1.31 MK_P20 èìïóëüñíûé âûõîä õîïïåðà
*/
// íàñòðîéêà âûõîäíûõ íîã óïðàâëåíèÿ
void initOutputPorts(void)
{
// óïðàâëåíèå õîïïåðîì: âûäà÷à èìïóëüñîâ íà õîïïåð èëè íåïðåðûâíûé ñèãíàë - LOW - óïðàâëåíèå è íîðìàëüíûé ñèãíàë èìïóëüñà
PINSEL1_bit.P0_24 = 0;
PINMODE1_bit.P0_24 = 0;
FIO0DIR_bit.P0_24 = 1;
FIO0MASK_bit.P0_24 = 0;
// çàïðåò áàíêîâñêîãî òåðìèíàëà - HIGH - çàïðåò
PINSEL1_bit.P0_25 = 0;
PINMODE1_bit.P0_25 = 0;
FIO0DIR_bit.P0_25 = 1;
FIO0MASK_bit.P0_25 = 0;
// çàïðåò ìîíåòíèêà - HIGH - çàïðåò
PINSEL3_bit.P1_31 = 0;
PINMODE3_bit.P1_31 = 0;
FIO1DIR_bit.P1_31 = 1;
FIO1MASK_bit.P1_31 = 0;
FIO0SET_bit.P0_24 = 1; // HIGH
FIO0CLR_bit.P0_25 = 1; // LOW
FIO1CLR_bit.P1_31 = 1; // LOW
}
/*! /*!
Ńĺđâĺđ îáđŕáîňęč ńîáűňčé ďîëüçîâŕňĺë˙ Ńĺđâĺđ îáđŕáîňęč ńîáűňčé ďîëüçîâŕňĺë˙
*/ */
@ -241,22 +209,27 @@ void UserAppTask(void *p_arg)
// ĺńëč ĺńňü îřčáęč, íĺ đŕáîňŕĺě // ĺńëč ĺńňü îřčáęč, íĺ đŕáîňŕĺě
if (TstCriticalErrors()) if (TstCriticalErrors())
{ {
UserPrintErrorMenu(); UserPrintErrorMenu();
RefreshMenu(); RefreshMenu();
// âûêëþ÷èì ïðèåì äåíåã
if (was_critical_error == 0) // âûêëþ÷èì ïðèåì äåíåã
{ if (was_critical_error == 0)
if (IsValidatorConnected()) CC_CmdBillType(0x000000, 0x000000, ADDR_FL); {
CoinDisable(); if (IsValidatorConnected()) CC_CmdBillType(0x000000, 0x000000, ADDR_FL);
was_critical_error = 1; CoinDisable();
} BankDisable();
break; was_critical_error = 1;
}
break;
} }
// âęëţ÷čě çŕíîâî ďđčĺě äĺíĺă, ĺńëč áűëŕ îřčáęŕ // âęëţ÷čě çŕíîâî ďđčĺě äĺíĺă, ĺńëč áűëŕ îřčáęŕ
if (was_critical_error) if (was_critical_error)
{ {
if (IsValidatorConnected()) CC_CmdBillType(0xffffff, 0xffffff, ADDR_FL); if (IsValidatorConnected()) CC_CmdBillType(0xffffff, 0xffffff, ADDR_FL);
CoinEnable();
BankEnable();
was_critical_error = 0; was_critical_error = 0;
break; break;
} }
@ -278,6 +251,18 @@ void UserAppTask(void *p_arg)
{ {
LED_OK_OFF(); LED_OK_OFF();
} }
// ïîñìîòðèì ñêîëüêî åùå ìîæíî äåðæàòü êðåäèò
CPU_INT32U HopperSaveCredit = 0;
GetData(&HopperSaveCreditDesc, &HopperSaveCredit, 0, DATA_FLAG_SYSTEM_INDEX);
if ((HopperSaveCredit > 0) && (labs(OSTimeGet() - money_timestamp) > 60000UL * HopperSaveCredit))
{
// åñëè ðàçðåøåíî îáíóëåíèå è ïðèøëî âðåìÿ - î÷èñòèì ñ÷åò÷èêè ïðèåìà äåíåã
SetAcceptedRestMoney(0);
SetAcceptedBankMoney(0);
SetAcceptedMoney(0);
}
} }
// ďđčíčěŕĺě äĺíüăč // ďđčíčěŕĺě äĺíüăč
@ -337,6 +322,8 @@ void UserAppTask(void *p_arg)
accmoney = GetAcceptedMoney(); accmoney = GetAcceptedMoney();
accmoney += money; accmoney += money;
SetAcceptedMoney(accmoney); SetAcceptedMoney(accmoney);
IncCounterCoin(money);
money_timestamp = OSTimeGet(); money_timestamp = OSTimeGet();
if (UserMenuState == USER_STATE_ACCEPT_MONEY) if (UserMenuState == USER_STATE_ACCEPT_MONEY)
{ {
@ -365,6 +352,8 @@ void UserAppTask(void *p_arg)
accmoney = GetAcceptedMoney(); accmoney = GetAcceptedMoney();
accmoney += money; accmoney += money;
SetAcceptedMoney(accmoney); SetAcceptedMoney(accmoney);
IncCounterCash(money);
money_timestamp = OSTimeGet(); money_timestamp = OSTimeGet();
if (UserMenuState == USER_STATE_ACCEPT_MONEY) if (UserMenuState == USER_STATE_ACCEPT_MONEY)
{ {
@ -397,6 +386,8 @@ void UserAppTask(void *p_arg)
accmoney = GetAcceptedBankMoney(); accmoney = GetAcceptedBankMoney();
accmoney += money; accmoney += money;
SetAcceptedBankMoney(accmoney); SetAcceptedBankMoney(accmoney);
IncCounterBank(money);
money_timestamp = OSTimeGet(); money_timestamp = OSTimeGet();
if (UserMenuState == USER_STATE_ACCEPT_MONEY) if (UserMenuState == USER_STATE_ACCEPT_MONEY)
@ -431,6 +422,9 @@ void UserAppTask(void *p_arg)
accmoney = GetAcceptedMoney(); accmoney = GetAcceptedMoney();
accmoney += note; accmoney += note;
SetAcceptedMoney(accmoney); SetAcceptedMoney(accmoney);
IncCounterCash(note);
money_timestamp = OSTimeGet(); money_timestamp = OSTimeGet();
if (UserMenuState == USER_STATE_ACCEPT_MONEY) if (UserMenuState == USER_STATE_ACCEPT_MONEY)
{ {
@ -473,7 +467,7 @@ void UserAppTask(void *p_arg)
break; break;
case EVENT_KEY_START: case EVENT_KEY_START:
case EVENT_KEY_USER_START: //case EVENT_KEY_USER_START:
if (incassation) break; if (incassation) break;
if (GetMode() != MODE_WORK) if (GetMode() != MODE_WORK)
{ {
@ -518,6 +512,13 @@ void UserAppTask(void *p_arg)
GoToPreviousMenu(); GoToPreviousMenu();
} }
} }
else if (GetCurrentMenu() == CanselCheckMenuPanel)
{
int res = CanselFiscalBill();
SaveEventRecord(0, JOURNAL_EVENT_PRINT_X, res);
CheckFiscalStatus();
GoToPreviousMenu();
}
break; break;
} }
@ -526,7 +527,7 @@ void UserAppTask(void *p_arg)
break; break;
// íŕćŕëč âíĺříţţ ęíîďęó // íŕćŕëč âíĺříţţ ęíîďęó
case EVENT_BUTTON_PRESS: case EVENT_KEY_USER_START:
if (GetMode() != MODE_WORK) break; if (GetMode() != MODE_WORK) break;
// íŕćŕëč ęíîďęó - âűäŕäčě äĺíüăč // íŕćŕëč ęíîďęó - âűäŕäčě äĺíüăč
@ -572,7 +573,7 @@ void UserAppTask(void *p_arg)
// đĺćčě Elolution - óďđŕâë˙ĺě âűäŕ÷ĺé ćĺňîíîâ čěďóëüńŕěč // đĺćčě Elolution - óďđŕâë˙ĺě âűäŕ÷ĺé ćĺňîíîâ čěďóëüńŕěč
for(int j = 0; j < CountCoin; j++) for(int j = 0; j < CountCoin; j++)
{ {
FIO0SET_bit.P0_24 = 0; FIO0CLR_bit.P0_24 = 1;
OSTimeDly(50); OSTimeDly(50);
FIO0SET_bit.P0_24 = 1; FIO0SET_bit.P0_24 = 1;
OSTimeDly(50); OSTimeDly(50);
@ -591,8 +592,6 @@ void UserAppTask(void *p_arg)
CPU_INT32U restMoney = accmoney % HopperCost; CPU_INT32U restMoney = accmoney % HopperCost;
SetAcceptedRestMoney(restMoney); SetAcceptedRestMoney(restMoney);
SetAcceptedBankMoney(0);
SetAcceptedMoney(0);
} }
} }
@ -717,15 +716,15 @@ void UserAppTask(void *p_arg)
#endif #endif
case EVENT_KEY_F1: case EVENT_KEY_F1:
testMoney = 10; //testMoney = 10;
PostUserEvent(EVENT_COIN_INSERTED); //PostUserEvent(EVENT_COIN_INSERTED);
break; break;
case EVENT_KEY_F2: case EVENT_KEY_F2:
testMoney = 50; //testMoney = 50;
PostUserEvent(EVENT_BANK_INSERTED); //PostUserEvent(EVENT_ERROR_HOPPER_ON);
break; break;
case EVENT_KEY_F3: case EVENT_KEY_F3:
//PostUserEvent(EVENT_BILL_STACKED); //PostUserEvent(EVENT_ERROR_HOPPER_OFF);
break; break;
default: default:
@ -747,10 +746,7 @@ void UserStartupFunc(void)
#ifdef BOARD_CENTRAL_CFG #ifdef BOARD_CENTRAL_CFG
// číčöčŕëčçŕöč˙ đĺćčěŕ đŕáîňű // číčöčŕëčçŕöč˙ đĺćčěŕ đŕáîňű
InitMode(); InitMode();
// èíèöèàëèçèðóåì âûõîäíûå ïîðòû
initOutputPorts();
// číčöčŕëčçŕöč˙ äŕííűő // číčöčŕëčçŕöč˙ äŕííűő
CheckAllData(); CheckAllData();

View File

@ -50,8 +50,6 @@ enum{
EVENT_ERROR_HOPPER_OFF, EVENT_ERROR_HOPPER_OFF,
EVENT_NOMONEY_HOPPER_ON, EVENT_NOMONEY_HOPPER_ON,
EVENT_NOMONEY_HOPPER_OFF, EVENT_NOMONEY_HOPPER_OFF,
EVENT_BUTTON_PRESS,
EVENT_PRINT_CHECK, EVENT_PRINT_CHECK,
EVENT_GIVE_COIN, EVENT_GIVE_COIN,

View File

@ -68,7 +68,8 @@ int TstCriticalErrors(void)
} }
errors |= TstErrorFlag(ERROR_VALIDATOR_CONN); errors |= TstErrorFlag(ERROR_VALIDATOR_CONN);
errors |= TstErrorFlag(ERROR_HOPPER) || TstErrorFlag(ERROR_NO_MONEY_HOPPER); errors |= TstErrorFlag(ERROR_HOPPER);
errors |= TstErrorFlag(ERROR_NO_MONEY_HOPPER);
OS_EXIT_CRITICAL(); OS_EXIT_CRITICAL();
if (errors) return 1; if (errors) return 1;
@ -343,6 +344,57 @@ void IncCounter(CPU_INT32U time, CPU_INT32U money)
WriteArrayFram(offsetof(TFramMap, CountersLong), sizeof(TCountersLong), (unsigned char*)&long_ctrs); WriteArrayFram(offsetof(TFramMap, CountersLong), sizeof(TCountersLong), (unsigned char*)&long_ctrs);
} }
void IncCounterBank(CPU_INT32U money)
{
CPU_INT32U m;
TCountersLong long_ctrs;
// óâåëè÷èì êîëè÷åñòâî äåíåã ïîëó÷åííûõ ÷åðåç áàíê
ReadArrayFram(offsetof(TFramMap, Counters.CounterBank), sizeof(CPU_INT32U), (unsigned char*)&m);
m+=money;
WriteArrayFram(offsetof(TFramMap, Counters.CounterBank), sizeof(CPU_INT32U), (unsigned char*)&m);
// óâåëè÷èì äëèííûå ñ÷åò÷èêè
ReadArrayFram(offsetof(TFramMap, CountersLong), sizeof(TCountersLong), (unsigned char*)&long_ctrs);
long_ctrs.CounterBankLong += money;
long_ctrs.crc = CRC16((unsigned char*)&long_ctrs, offsetof(TCountersLong, crc));
WriteArrayFram(offsetof(TFramMap, CountersLong), sizeof(TCountersLong), (unsigned char*)&long_ctrs);
}
void IncCounterCoin(CPU_INT32U money)
{
CPU_INT32U m;
TCountersLong long_ctrs;
// óâåëè÷èì êîëè÷åñòâî äåíåã ïîëó÷åííûõ ÷åðåç ìîíåòíèê
ReadArrayFram(offsetof(TFramMap, Counters.CounterCoin), sizeof(CPU_INT32U), (unsigned char*)&m);
m+=money;
WriteArrayFram(offsetof(TFramMap, Counters.CounterCoin), sizeof(CPU_INT32U), (unsigned char*)&m);
// óâåëè÷èì äëèííûå ñ÷åò÷èêè
ReadArrayFram(offsetof(TFramMap, CountersLong), sizeof(TCountersLong), (unsigned char*)&long_ctrs);
long_ctrs.CounterCoinLong += money;
long_ctrs.crc = CRC16((unsigned char*)&long_ctrs, offsetof(TCountersLong, crc));
WriteArrayFram(offsetof(TFramMap, CountersLong), sizeof(TCountersLong), (unsigned char*)&long_ctrs);
}
void IncCounterCash(CPU_INT32U money)
{
CPU_INT32U m;
TCountersLong long_ctrs;
// óâåëè÷èì êîëè÷åñòâî äåíåã ïîëó÷åííûõ ÷åðåç ìîíåòíèê
ReadArrayFram(offsetof(TFramMap, Counters.CounterCash), sizeof(CPU_INT32U), (unsigned char*)&m);
m+=money;
WriteArrayFram(offsetof(TFramMap, Counters.CounterCash), sizeof(CPU_INT32U), (unsigned char*)&m);
// óâåëè÷èì äëèííûå ñ÷åò÷èêè
ReadArrayFram(offsetof(TFramMap, CountersLong), sizeof(TCountersLong), (unsigned char*)&long_ctrs);
long_ctrs.CounterCashLong += money;
long_ctrs.crc = CRC16((unsigned char*)&long_ctrs, offsetof(TCountersLong, crc));
WriteArrayFram(offsetof(TFramMap, CountersLong), sizeof(TCountersLong), (unsigned char*)&long_ctrs);
}
CPU_INT32U GetShortMoney() CPU_INT32U GetShortMoney()
{ {
CPU_INT32U money; CPU_INT32U money;
@ -369,7 +421,8 @@ void CheckLongCounters(void)
void ClearCounters(void) void ClearCounters(void)
{ {
SetArrayFram(offsetof(TFramMap, Counters), sizeof(CPU_INT32U)*(CHANNELS_NUM+1)*3, 0x00); SetArrayFram(offsetof(TFramMap, Counters), sizeof(CPU_INT32U)*3, 0x00);
SetArrayFram(offsetof(TFramMap, Counters.CounterCoin), sizeof(CPU_INT32U)*3, 0x00);
} }
/// èíêðåìåíò ñ÷åò÷èêà êóïþð ïî íîìèíàëàì /// èíêðåìåíò ñ÷åò÷èêà êóïþð ïî íîìèíàëàì

View File

@ -155,6 +155,9 @@ extern void ClearEventJournal(void);
extern void GetEventStr(char* str, char event); extern void GetEventStr(char* str, char event);
extern int GetEventRecord(TEventRecord* record, CPU_INT32U index); extern int GetEventRecord(TEventRecord* record, CPU_INT32U index);
extern void IncCounter(CPU_INT32U time, CPU_INT32U money); extern void IncCounter(CPU_INT32U time, CPU_INT32U money);
extern void IncCounterBank(CPU_INT32U money);
extern void IncCounterCoin(CPU_INT32U money);
extern void IncCounterCash(CPU_INT32U money);
extern void ClearCounters(void); extern void ClearCounters(void);
extern void ErrorServer(void); extern void ErrorServer(void);
extern int TstCriticalValidatorErrors(void); extern int TstCriticalValidatorErrors(void);

View File

@ -1879,8 +1879,8 @@ CPU_INT08U const *ErrorNumberList0[JOURNAL_EVENTS_COUNT] = {"
"ФР:С8h-Отсутствуют", "ФР:С8h-Отсутствуют",
"", "",
"", "",
"ОШИБКА ХОППЕРА", "Ошибка хоппера",
"ХОППЕР: Нет жетонов" "Хоппер пуст"
}; };
@ -2449,6 +2449,74 @@ TDataDescStruct const CounterTimeDesc = {
0 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 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
};
/************************************* /*************************************
Общий счетчик числа запусков ДЛИННЫЙ Общий счетчик числа запусков ДЛИННЫЙ
@ -2492,6 +2560,69 @@ TDataDescStruct const CounterLongMoneyDesc = {
0 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 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
};
/************************************* /*************************************
Общий счетчик времени работы Общий счетчик времени работы
*************************************/ *************************************/

View File

@ -204,6 +204,14 @@ extern TDataDescStruct const CounterLongRunDesc;
extern TDataDescStruct const CounterLongMoneyDesc; extern TDataDescStruct const CounterLongMoneyDesc;
extern TDataDescStruct const CounterLongTimeDesc; extern TDataDescStruct const CounterLongTimeDesc;
extern TDataDescStruct const CounterLongCoinDesc;
extern TDataDescStruct const CounterLongCashDesc;
extern TDataDescStruct const CounterLongBankDesc;
extern TDataDescStruct const CounterCoinDesc;
extern TDataDescStruct const CounterCashDesc;
extern TDataDescStruct const CounterBankDesc;
extern TDataDescStruct const MasterPassTempDesc; extern TDataDescStruct const MasterPassTempDesc;
extern TDataDescStruct const CounterChannelRunLongDesc; extern TDataDescStruct const CounterChannelRunLongDesc;

View File

@ -944,3 +944,35 @@ int FiscPrintContinue(CPU_INT32U pass, CPU_INT08U* err)
return FISC_OK; return FISC_OK;
} }
// Àäìèí.îòìåíà ÷åêà
int FiscCanselBill(CPU_INT32U pass, CPU_INT08U* err)
{
CPU_INT08U* rxdat;
CPU_INT08U len;
memcpy(&fisc_buf[0], (CPU_INT08U*)&pass, 4);
if (FiscSendCommand(FISC_CANSEL_BILL, fisc_buf, 4) != FISC_OK)
{
return FISC_ERR;
}
if (FiscReceiveAnswer(&rxdat, &len, FISC_ANSWER_TIMEOUT) != FISC_OK)
{
return FISC_ERR;
}
*err = rxdat[1];
if (3 != len)
{
return FISC_ERR;
}
if ((rxdat[0] != FISC_CANSEL_BILL) || (rxdat[1] != 0))
{
return FISC_ERR;
}
return FISC_OK;
}

View File

@ -59,6 +59,7 @@ extern CPU_INT08U FiscalState;
#define FISC_MAKE_SELL 0x80 #define FISC_MAKE_SELL 0x80
#define FISC_CLOSE_BILL 0x85 #define FISC_CLOSE_BILL 0x85
#define FISC_CANSEL_BILL 0x88
#define FISC_EXTENDED_CMD 0xFF #define FISC_EXTENDED_CMD 0xFF
@ -362,4 +363,6 @@ extern int FiscMakeSellV2(CPU_INT32U pass, CPU_INT64U *count, CPU_INT64U *price,
extern int FiscCloseBillV2(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U taxsys, 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 FiscCloseBillV2Online(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U taxsys, char* text, CPU_INT08U* err);
extern int FiscCanselBill(CPU_INT32U pass, CPU_INT08U* err);
#endif //#ifndef _FISCAL_H_ #endif //#ifndef _FISCAL_H_

View File

@ -382,30 +382,44 @@ const TMenuLine line_CommonCountersMenu_0 = {
(void*)&str_CommonCountersMenu_0, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð (void*)&str_CommonCountersMenu_0, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà NULL // ïàíåëü äëÿ ïåðåõîäà
}; };
/*
const TMenuLine line_CommonCountersMenu_1 = { const TMenuLine line_CommonCountersMenu_1 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè 0, // äîï. ôëàãè
(void*)&CounterRunDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð (void*)&CounterRunDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà NULL // ïàíåëü äëÿ ïåðåõîäà
}; };
*/
const TMenuLine line_CommonCountersMenu_2 = { const TMenuLine line_CommonCountersMenu_2 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè 0, // äîï. ôëàãè
(void*)&CounterMoneyDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð (void*)&CounterMoneyDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà NULL // ïàíåëü äëÿ ïåðåõîäà
}; };
/*
const TMenuLine line_CommonCountersMenu_3 = { const TMenuLine line_CommonCountersMenu_3 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè 0, // äîï. ôëàãè
(void*)&CounterTimeDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð (void*)&CounterCoinDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà NULL // ïàíåëü äëÿ ïåðåõîäà
}; };
*/
const TMenuLineArray arr_CommonCountersArray[] = {&line_CommonCountersMenu_0, /*&line_CommonCountersMenu_1,*/ &line_CommonCountersMenu_2, /*&line_CommonCountersMenu_3,*/ NULL};
const TMenuPanel CommonCountersPanel[] = {arr_CommonCountersArray, NULL, 2, MENU_PANEL_STATIC}; const TMenuLine line_CommonCountersMenu_4 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterCashDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_CommonCountersMenu_5 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterBankDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLineArray arr_CommonCountersArray[] = {&line_CommonCountersMenu_0, &line_CommonCountersMenu_1, &line_CommonCountersMenu_2, &line_CommonCountersMenu_3, &line_CommonCountersMenu_4, &line_CommonCountersMenu_5,NULL};
const TMenuPanel CommonCountersPanel[] = {arr_CommonCountersArray, NULL, 6, MENU_PANEL_STANDARD};
/*********************************** /***********************************
ÌÅÍÞ ÎÁÙÀß ÑÒÀÒÈÑÒÈÊÀ ÄËÈÍÍÛÅ Ñ×ÅÒ×ÈÊÈ ÌÅÍÞ ÎÁÙÀß ÑÒÀÒÈÑÒÈÊÀ ÄËÈÍÍÛÅ Ñ×ÅÒ×ÈÊÈ
@ -418,30 +432,45 @@ const TMenuLine line_CommonCountersLongMenu_0 = {
(void*)&str_CommonCountersLongMenu_0, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð (void*)&str_CommonCountersLongMenu_0, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà NULL // ïàíåëü äëÿ ïåðåõîäà
}; };
/*
const TMenuLine line_CommonCountersLongMenu_1 = { const TMenuLine line_CommonCountersLongMenu_1 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè 0, // äîï. ôëàãè
(void*)&CounterLongRunDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð (void*)&CounterLongRunDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà NULL // ïàíåëü äëÿ ïåðåõîäà
}; };
*/
const TMenuLine line_CommonCountersLongMenu_2 = { const TMenuLine line_CommonCountersLongMenu_2 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè 0, // äîï. ôëàãè
(void*)&CounterLongMoneyDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð (void*)&CounterLongMoneyDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà NULL // ïàíåëü äëÿ ïåðåõîäà
}; };
/*
const TMenuLine line_CommonCountersLongMenu_3 = { const TMenuLine line_CommonCountersLongMenu_3 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè 0, // äîï. ôëàãè
(void*)&CounterLongTimeDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð (void*)&CounterLongCoinDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà NULL // ïàíåëü äëÿ ïåðåõîäà
}; };
*/
const TMenuLineArray arr_CommonCountersLongArray[] = {&line_CommonCountersLongMenu_0, /*&line_CommonCountersLongMenu_1,*/ &line_CommonCountersLongMenu_2, /*&line_CommonCountersLongMenu_3, */ NULL};
const TMenuPanel CommonCountersLongPanel[] = {arr_CommonCountersLongArray, NULL, 2, MENU_PANEL_STATIC}; const TMenuLine line_CommonCountersLongMenu_4 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterLongCashDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_CommonCountersLongMenu_5 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterLongBankDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLineArray arr_CommonCountersLongArray[] = {&line_CommonCountersLongMenu_0, &line_CommonCountersLongMenu_1, &line_CommonCountersLongMenu_2, &line_CommonCountersLongMenu_3, &line_CommonCountersLongMenu_4, &line_CommonCountersLongMenu_5, NULL};
const TMenuPanel CommonCountersLongPanel[] = {arr_CommonCountersLongArray, NULL, 6, MENU_PANEL_STANDARD};
/*********************************** /***********************************
ÌÅÍÞ ÍÀÑÒÐÎÉÊÈ ÌÅÍÞ ÍÀÑÒÐÎÉÊÈ
@ -1540,7 +1569,8 @@ const TMenuPanel SelectJournalMenuPanel[] = {arr_SelectJournalMenuArray, NULL, 3
const CPU_INT08U str_ReportMenu_0[] = " ÎÒ×ÅÒÛ"; const CPU_INT08U str_ReportMenu_0[] = " ÎÒ×ÅÒÛ";
const CPU_INT08U str_ReportMenu_1[] = "X-îò÷åò"; const CPU_INT08U str_ReportMenu_1[] = "X-îò÷åò";
const CPU_INT08U str_ReportMenu_2[] = "Îò÷åò î çàêð.ñìåíû"; const CPU_INT08U str_ReportMenu_2[] = "Îò÷åò î çàêð.ñìåíû";
const CPU_INT08U str_ReportMenu_3[] = "Z-îò÷åò èç áóôåðà"; const CPU_INT08U str_ReportMenu_3[] = "Z-îò÷åò";
const CPU_INT08U str_ReportMenu_4[] = "Àííóëèðîâàíèå ÷åêà";
const TMenuLine line_ReportMenu_0 = { const TMenuLine line_ReportMenu_0 = {
MENU_LINE_STRING, // òèï ïóíêòà ìåíþ MENU_LINE_STRING, // òèï ïóíêòà ìåíþ
@ -1562,14 +1592,20 @@ const TMenuLine line_ReportMenu_2 = {
(void*)str_ReportMenu_2, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð (void*)str_ReportMenu_2, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
(void*)&zReportMenuPanel // ïàíåëü äëÿ ïåðåõîäà (void*)&zReportMenuPanel // ïàíåëü äëÿ ïåðåõîäà
}; };
/*
const TMenuLine line_ReportMenu_3 = { const TMenuLine line_ReportMenu_3 = {
MENU_LINE_GOTO_MENU, // òèï ïóíêòà ìåíþ MENU_LINE_GOTO_MENU, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè 0, // äîï. ôëàãè
(void*)str_ReportMenu_3, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð (void*)str_ReportMenu_3, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
(void*)&bufReportMenuPanel // ïàíåëü äëÿ ïåðåõîäà (void*)&bufReportMenuPanel // ïàíåëü äëÿ ïåðåõîäà
}; };
*/
const TMenuLine line_ReportMenu_4 = {
MENU_LINE_GOTO_MENU, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)str_ReportMenu_4, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
(void*)&CanselCheckMenuPanel // ïàíåëü äëÿ ïåðåõîäà
};
void OnEnterReportsPanel(void) void OnEnterReportsPanel(void)
{ {
@ -1583,8 +1619,8 @@ void OnEnterReportsPanel(void)
FlagForPrintReport = 0; FlagForPrintReport = 0;
} }
const TMenuLineArray arr_ReportMenuArray[] = {&line_ReportMenu_0, &line_ReportMenu_1, &line_ReportMenu_2, /*&line_ReportMenu_3,*/ NULL}; const TMenuLineArray arr_ReportMenuArray[] = {&line_ReportMenu_0, &line_ReportMenu_1, &line_ReportMenu_2, &line_ReportMenu_3, &line_ReportMenu_4, NULL};
const TMenuPanel ReportMenuPanel[] = {arr_ReportMenuArray, OnEnterReportsPanel, 3, MENU_PANEL_STANDARD}; const TMenuPanel ReportMenuPanel[] = {arr_ReportMenuArray, OnEnterReportsPanel, 5, MENU_PANEL_STANDARD};
/*********************************** /***********************************
ÌÅÍÞ ÏÅ×ÀÒÜ X-ÎÒ×ÅÒÀ ÌÅÍÞ ÏÅ×ÀÒÜ X-ÎÒ×ÅÒÀ
@ -1709,6 +1745,44 @@ const TMenuLine line_bufReportMenu_3 = {
const TMenuLineArray arr_bufReportMenuArray[] = {&line_bufReportMenu_0, &line_bufReportMenu_1, &line_bufReportMenu_2, &line_xReportMenu_3, NULL}; const TMenuLineArray arr_bufReportMenuArray[] = {&line_bufReportMenu_0, &line_bufReportMenu_1, &line_bufReportMenu_2, &line_xReportMenu_3, NULL};
const TMenuPanel bufReportMenuPanel[] = {arr_bufReportMenuArray, OnEnterZXReportPanel, 4, MENU_PANEL_STATIC}; const TMenuPanel bufReportMenuPanel[] = {arr_bufReportMenuArray, OnEnterZXReportPanel, 4, MENU_PANEL_STATIC};
/***********************************
ÌÅÍÞ ÀÍÍÓËÈÐÎÂÀÍÈÅ ×ÅÊÀ
***********************************/
const CPU_INT08U str_CanselCheckMenu_0[] = " ";
const CPU_INT08U str_CanselCheckMenu_1[] = " Àííóëèðîâaòü ÷åê?";
const CPU_INT08U str_CanselCheckMenu_2[] = " ";
const TMenuLine line_CanselCheckMenu_0 = {
MENU_LINE_STRING, // òèï ïóíêòà ìåíþ
MENU_FIXED_LINE, // äîï. ôëàãè
(void*)str_CanselCheckMenu_0, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_CanselCheckMenu_1 = {
MENU_LINE_STRING, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)str_CanselCheckMenu_1, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_CanselCheckMenu_2 = {
MENU_LINE_STRING, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)str_CanselCheckMenu_2, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_CanselCheckMenu_3 = {
MENU_LINE_STRING, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)str_xReportMenu_3, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLineArray arr_CanselCheckMenuArray[] = {&line_CanselCheckMenu_0, &line_CanselCheckMenu_1, &line_CanselCheckMenu_2, &line_CanselCheckMenu_3, NULL};
const TMenuPanel CanselCheckMenuPanel[] = {arr_CanselCheckMenuArray, OnEnterZXReportPanel, 4, MENU_PANEL_STATIC};
/*********************************** /***********************************
ÌÅÍÞ ÔÐ ÎÒÊËÞ×ÅÍ ÌÅÍÞ ÔÐ ÎÒÊËÞ×ÅÍ
***********************************/ ***********************************/

View File

@ -55,6 +55,7 @@ extern const TMenuPanel ChannelCountersPanel[];
extern const TMenuPanel CommonCountersPanel[]; extern const TMenuPanel CommonCountersPanel[];
extern const TMenuPanel bufReportMenuPanel[]; extern const TMenuPanel bufReportMenuPanel[];
extern const TMenuPanel ValidatorSetupPanel[]; extern const TMenuPanel ValidatorSetupPanel[];
extern const TMenuPanel CanselCheckMenuPanel[];
extern void PrintUserMenuStr(char* str, CPU_INT08U n); extern void PrintUserMenuStr(char* str, CPU_INT08U n);
extern void PrintEventJournalRecord(TEventRecord *record); extern void PrintEventJournalRecord(TEventRecord *record);

View File

@ -47,11 +47,6 @@ static char pend_upsignal_nomoney_hopper_counter;
static char pend_downsignal_nomoney_hopper_counter; static char pend_downsignal_nomoney_hopper_counter;
static CPU_INT32U pend_signal_nomoney_hopper_timestamp; static CPU_INT32U pend_signal_nomoney_hopper_timestamp;
static CPU_INT32U signal_button_pulse = 1000;
static char pend_upsignal_button_counter;
static char pend_downsignal_button_counter;
static CPU_INT32U pend_signal_button_timestamp;
static CPU_INT32U cashLevel; static CPU_INT32U cashLevel;
static CPU_INT32U coinLevel; static CPU_INT32U coinLevel;
static CPU_INT32U bankLevel; static CPU_INT32U bankLevel;
@ -319,19 +314,19 @@ void CoinTask(void *p_arg)
{ {
if (OSTimeGet() - pend_signal_nomoney_hopper_timestamp > signal_nomoney_hopper_pulse) if (OSTimeGet() - pend_signal_nomoney_hopper_timestamp > signal_nomoney_hopper_pulse)
{ {
// äåíüãè â õîïïåðå åñòü // деньги в хоппере кончились
PostUserEvent(EVENT_NOMONEY_HOPPER_ON); PostUserEvent(EVENT_NOMONEY_HOPPER_ON);
pend_upsignal_nomoney_hopper_counter = 0; pend_upsignal_nomoney_hopper_counter = 0;
} }
} }
if (pend_upsignal_button_counter) if (pend_downsignal_nomoney_hopper_counter)
{ {
if (OSTimeGet() - pend_signal_button_timestamp > signal_button_pulse) if (OSTimeGet() - pend_signal_nomoney_hopper_timestamp > signal_nomoney_hopper_pulse)
{ {
// êíîïêó íàæàëè // деньги в хоппере есть
PostUserEvent(EVENT_BUTTON_PRESS); PostUserEvent(EVENT_NOMONEY_HOPPER_OFF);
pend_upsignal_button_counter = 0; pend_downsignal_nomoney_hopper_counter = 0;
} }
} }
@ -341,22 +336,26 @@ void CoinTask(void *p_arg)
void CoinDisable(void) void CoinDisable(void)
{ {
// для запрета монетника выставим высокий уровень
FIO1SET_bit.P1_31 = 1;
} }
void CoinEnable(void) void CoinEnable(void)
{ {
// для разрешения монетника выставим низкий уровень
FIO0CLR_bit.P0_25 = 1;
} }
void BankDisable(void) void BankDisable(void)
{ {
// для запрета банка выставим высокий уровень
FIO0SET_bit.P0_25 = 1;
} }
void BankEnable(void) void BankEnable(void)
{ {
// для разрешения монетника выставим низкий уровень
FIO0CLR_bit.P0_25 = 1;
} }
void HopperDisable(void) void HopperDisable(void)
@ -503,17 +502,17 @@ CPU_INT32U input_register()
// 3 áèò // 3 áèò
if (FIO1PIN_bit.P1_24) if (FIO1PIN_bit.P1_24)
{ {
SETBIT(input, 2); SETBIT(input, 3);
} }
// 4 áèò // 4 áèò
if (FIO1PIN_bit.P1_23) if (FIO1PIN_bit.P1_23)
{ {
SETBIT(input, 3); SETBIT(input, 4);
} }
// 5 áèò // 5 áèò
if (FIO1PIN_bit.P1_20) if (FIO1PIN_bit.P1_20)
{ {
SETBIT(input, 3); SETBIT(input, 5);
} }
return input; return input;
@ -632,27 +631,19 @@ void InputCapture_ISR(void)
pend_downsignal_nomoney_hopper_counter = 1; pend_downsignal_nomoney_hopper_counter = 1;
} }
} }
// ñèãíàë íàæàòèÿ êíîïêè
if(TSTBIT(input_event, 5))
{
pend_signal_button_timestamp = OSTimeGet();
if (FIO1PIN_bit.P1_20)
{
pend_upsignal_button_counter = 1;
pend_downsignal_button_counter = 0;
}
else
{
pend_upsignal_button_counter = 0;
pend_downsignal_button_counter = 1;
}
}
} }
extern CPU_INT32U BSP_CPU_PclkFreq (CPU_INT08U pclk); extern CPU_INT32U BSP_CPU_PclkFreq (CPU_INT08U pclk);
/*
P0.23 MK_P9 импульсный выход монетоприемника
P0.26 MK_P6 импульсный выход банковского терминала
P1.25 MK_P39 импульсный выход хоппера
P1.23 MK_P37 Security Output с хоппером все в порядке - LOW
P1.24 MK_P38 Низкий уровень монет. Есть монеты - сигнал LOW.
*/
void InitInputPorts() void InitInputPorts()
{ {
// ìîíåòîïðèåìíèê // ìîíåòîïðèåìíèê
@ -687,25 +678,40 @@ void InitInputPorts()
PINMODE3_bit.P1_24 = 0; PINMODE3_bit.P1_24 = 0;
FIO1DIR_bit.P1_24 = 0; FIO1DIR_bit.P1_24 = 0;
FIO1MASK_bit.P1_24 = 0; FIO1MASK_bit.P1_24 = 0;
// ñèãíàë íàëè÷èÿ ìîíåò â õîïïåðå
PINSEL3_bit.P1_20 = 0;
PINMODE3_bit.P1_20 = 0;
FIO1DIR_bit.P1_20 = 0;
FIO1MASK_bit.P1_20 = 0;
} }
/* /*
P0.23 MK_P9 èìïóëüñíûé âûõîä ìîíåòîïðèåìíèêà P0.24 MK_P8 управление хоппером
P0.26 MK_P6 èìïóëüñíûé âûõîä áàíêîâñêîãî òåðìèíàëà P0.25 MK_P7 запрет банковского терминала
P1.25 MK_P39 èìïóëüñíûé âûõîä õîïïåðà P1.31 MK_P20 импульсный выход хоппера
P1.23 MK_P37 Security Output ñ õîïïåðîì âñå â ïîðÿäêå - LOW
P1.24 MK_P38 Íèçêèé óðîâåíü ìîíåò. Åñòü ìîíåòû - ñèãíàë LOW.
P1.20 MK_P34 Ñèãíàë îò êíîïêè
*/ */
// настройка выходных ног управления
void initOutputPorts(void)
{
// управление хоппером: выдача импульсов на хоппер или непрерывный сигнал - LOW - управление и нормальный сигнал импульса
PINSEL1_bit.P0_24 = 0;
PINMODE1_bit.P0_24 = 0;
FIO0DIR_bit.P0_24 = 1;
FIO0MASK_bit.P0_24 = 0;
// запрет банковского терминала - HIGH - запрет
PINSEL1_bit.P0_25 = 0;
PINMODE1_bit.P0_25 = 0;
FIO0DIR_bit.P0_25 = 1;
FIO0MASK_bit.P0_25 = 0;
// запрет монетника - HIGH - запрет
PINSEL3_bit.P1_31 = 0;
PINMODE3_bit.P1_31 = 0;
FIO1DIR_bit.P1_31 = 1;
FIO1MASK_bit.P1_31 = 0;
FIO0SET_bit.P0_24 = 1; // HIGH
FIO0CLR_bit.P0_25 = 1; // LOW
FIO1CLR_bit.P1_31 = 1; // LOW
}
// èíèöèàëèçàöèÿ èìïóëüñíîãî âõîäà // èíèöèàëèçàöèÿ èìïóëüñíîãî âõîäà
// èñïîëüçóåòñÿ CAP3.0 // èñïîëüçóåòñÿ CAP3.0
void InitImpInput (void) void InitImpInput (void)
@ -728,7 +734,9 @@ void InitImpInput (void)
// íàçíà÷èì âñå íîæêè // íàçíà÷èì âñå íîæêè
InitInputPorts(); InitInputPorts();
// инициализируем выходные порты
initOutputPorts();
PCONP_bit.PCTIM3 = 1; PCONP_bit.PCTIM3 = 1;
PCLKSEL1_bit.PCLK_TIMER3 = 2; PCLKSEL1_bit.PCLK_TIMER3 = 2;

View File

@ -1,14 +1,11 @@
#ifndef _COIN_H_ #ifndef _COIN_H_
#define _COIN_H_ #define _COIN_H_
#define COIN_IMP_MIN_LEN 22 // ěń/100
#define COIN_IMP_MAX_LEN 90 // ěń/100
#define COIN_IMP_MIN_LEN 2200 // ěń/100
#define COIN_IMP_MAX_LEN 9000 // ěń/100
// çàïàñ èçìåðåíèÿ ïåðèîäà, ïëþñ-ìèíóñ // çàïàñ èçìåðåíèÿ ïåðèîäà, ïëþñ-ìèíóñ
#define COIN_IMP_SPAN 1000 // ěń/100 #define COIN_IMP_SPAN 10 // ěń/100
extern void InitCoin(void); extern void InitCoin(void);
extern CPU_INT32U GetCoinCount(void); extern CPU_INT32U GetCoinCount(void);

View File

@ -1106,3 +1106,26 @@ int GetFirstCriticalFiscalError(CPU_INT08U *err)
} }
return res; return res;
} }
// îòìåíà ÷åêà
int CanselFiscalBill(void)
{
CPU_INT08U err;
FPend();
if (CheckFiscalStatus() < 0)
{
FPost();
return -100;
}
if (FiscCanselBill(DEFAULT_PASS, &err) != FISC_OK)
{
FPost();
return -101;
}
FPost();
return 0;
}

View File

@ -26,5 +26,5 @@ extern void FReportPost(void);
extern CPU_INT16U FReportTest(void); extern CPU_INT16U FReportTest(void);
extern int CheckFiscalStatus(); extern int CheckFiscalStatus();
extern int ConnectFiscalFast(void); extern int ConnectFiscalFast(void);
extern int CanselFiscalBill(void);
#endif //#ifndef _FR_H_ #endif //#ifndef _FR_H_

View File

@ -1,7 +1,7 @@
#ifndef _VERSION_H_ #ifndef _VERSION_H_
#define _VERSION_H_ #define _VERSION_H_
#define DEVICE_FW_VERSION "00.00" #define DEVICE_FW_VERSION "00.01"
#endif // #ifndef _VERSION_H_ #endif // #ifndef _VERSION_H_

View File

@ -39,7 +39,7 @@
<Wnd3> <Wnd0>
<Tabs> <Tabs>
<Tab> <Tab>
<Identity>TabID-4454-14979</Identity> <Identity>TabID-4454-14979</Identity>
@ -55,7 +55,7 @@
</Tab> </Tab>
<Tab><Identity>TabID-8358-20066</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs> <Tab><Identity>TabID-8358-20066</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs>
<SelectedTab>0</SelectedTab></Wnd3><Wnd4> <SelectedTab>0</SelectedTab></Wnd0><Wnd1>
<Tabs> <Tabs>
<Tab> <Tab>
<Identity>TabID-15203-14983</Identity> <Identity>TabID-15203-14983</Identity>
@ -67,7 +67,7 @@
</Tab> </Tab>
</Tabs> </Tabs>
<SelectedTab>0</SelectedTab></Wnd4><Wnd5> <SelectedTab>0</SelectedTab></Wnd1><Wnd2>
<Tabs> <Tabs>
<Tab> <Tab>
<Identity>TabID-25951-14986</Identity> <Identity>TabID-25951-14986</Identity>
@ -77,20 +77,20 @@
</Tab> </Tab>
</Tabs> </Tabs>
<SelectedTab>0</SelectedTab></Wnd5></Windows> <SelectedTab>0</SelectedTab></Wnd2></Windows>
<Editor> <Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\time.c</Filename><XPos>0</XPos><YPos>58</YPos><SelStart>1532</SelStart><SelEnd>1532</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\ccnet\CCRSProtocol.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>434</SelStart><SelEnd>434</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>28</YPos><SelStart>1223</SelStart><SelEnd>1241</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>255</YPos><SelStart>9412</SelStart><SelEnd>9412</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>905</YPos><SelStart>41490</SelStart><SelEnd>41502</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\bsp\iolpc2368.h</Filename><XPos>0</XPos><YPos>797</YPos><SelStart>17962</SelStart><SelEnd>17962</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>10</YPos><SelStart>220</SelStart><SelEnd>220</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>1075</YPos><SelStart>42732</SelStart><SelEnd>42732</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>255</SelStart><SelEnd>255</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app.c</Filename><XPos>0</XPos><YPos>33</YPos><SelStart>1131</SelStart><SelEnd>1131</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\keyboard\keyboard.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>466</SelStart><SelEnd>466</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>107</YPos><SelStart>4640</SelStart><SelEnd>4659</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.c</Filename><XPos>0</XPos><YPos>391</YPos><SelStart>11010</SelStart><SelEnd>11027</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\fr.c</Filename><XPos>0</XPos><YPos>617</YPos><SelStart>16296</SelStart><SelEnd>16311</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.c</Filename><XPos>0</XPos><YPos>882</YPos><SelStart>22988</SelStart><SelEnd>23009</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>186</YPos><SelStart>10097</SelStart><SelEnd>10097</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\keyboard\keyboard.c</Filename><XPos>0</XPos><YPos>18</YPos><SelStart>455</SelStart><SelEnd>583</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\control.c</Filename><XPos>0</XPos><YPos>13</YPos><SelStart>409</SelStart><SelEnd>409</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>517</YPos><SelStart>20388</SelStart><SelEnd>20388</SelEnd></Tab><ActiveTab>18</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\validator.c</Filename><XPos>0</XPos><YPos>348</YPos><SelStart>11492</SelStart><SelEnd>11497</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\coin.c</Filename><XPos>0</XPos><YPos>703</YPos><SelStart>11870</SelStart><SelEnd>11870</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\services\time.c</Filename><XPos>0</XPos><YPos>58</YPos><SelStart>1532</SelStart><SelEnd>1532</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\ccnet\CCRSProtocol.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>434</SelStart><SelEnd>434</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>39</YPos><SelStart>1351</SelStart><SelEnd>1351</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>189</YPos><SelStart>7118</SelStart><SelEnd>7118</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>2581</YPos><SelStart>120675</SelStart><SelEnd>120675</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\bsp\iolpc2368.h</Filename><XPos>0</XPos><YPos>797</YPos><SelStart>17962</SelStart><SelEnd>17962</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>10</YPos><SelStart>220</SelStart><SelEnd>220</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>398</YPos><SelStart>17579</SelStart><SelEnd>17579</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>255</SelStart><SelEnd>255</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app.c</Filename><XPos>0</XPos><YPos>33</YPos><SelStart>1131</SelStart><SelEnd>1131</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\keyboard\keyboard.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>356</SelStart><SelEnd>356</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>121</YPos><SelStart>5229</SelStart><SelEnd>5244</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.c</Filename><XPos>0</XPos><YPos>328</YPos><SelStart>9916</SelStart><SelEnd>9916</SelEnd></Tab><ActiveTab>12</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\fr.c</Filename><XPos>0</XPos><YPos>617</YPos><SelStart>16296</SelStart><SelEnd>16311</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.c</Filename><XPos>0</XPos><YPos>882</YPos><SelStart>22988</SelStart><SelEnd>23009</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>186</YPos><SelStart>10097</SelStart><SelEnd>10097</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\keyboard\keyboard.c</Filename><XPos>0</XPos><YPos>111</YPos><SelStart>3327</SelStart><SelEnd>3327</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\control.c</Filename><XPos>0</XPos><YPos>13</YPos><SelStart>409</SelStart><SelEnd>409</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>640</YPos><SelStart>22905</SelStart><SelEnd>22905</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\validator.c</Filename><XPos>0</XPos><YPos>348</YPos><SelStart>11492</SelStart><SelEnd>11497</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\coin.c</Filename><XPos>0</XPos><YPos>327</YPos><SelStart>8495</SelStart><SelEnd>8495</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions> <Positions>
<Top><Row0><Sizes><Toolbar-047729c8><key>iaridepm.enu1</key></Toolbar-047729c8></Sizes></Row0><Row1><Sizes><Toolbar-1741f700><key>debuggergui.enu1</key></Toolbar-1741f700></Sizes></Row1></Top><Left><Row0><Sizes><Wnd4><Rect><Top>-2</Top><Left>-2</Left><Bottom>458</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>146413</sizeHorzCX><sizeHorzCY>275862</sizeHorzCY><sizeVertCX>146413</sizeVertCX><sizeVertCY>634483</sizeVertCY></Rect></Wnd4></Sizes></Row0></Left><Right><Row0><Sizes><Wnd5><Rect><Top>-2</Top><Left>-2</Left><Bottom>458</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>146413</sizeHorzCX><sizeHorzCY>275862</sizeHorzCY><sizeVertCX>146413</sizeVertCX><sizeVertCY>634483</sizeVertCY></Rect></Wnd5></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1368</Right><x>-2</x><y>-2</y><xscreen>1370</xscreen><yscreen>200</yscreen><sizeHorzCX>1002928</sizeHorzCX><sizeHorzCY>275862</sizeHorzCY><sizeVertCX>146413</sizeVertCX><sizeVertCY>275862</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions> <Top><Row0><Sizes><Toolbar-04c329c8><key>iaridepm.enu1</key></Toolbar-04c329c8></Sizes></Row0><Row1><Sizes><Toolbar-099f8930><key>debuggergui.enu1</key></Toolbar-099f8930></Sizes></Row1></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>458</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>146413</sizeHorzCX><sizeHorzCY>275862</sizeHorzCY><sizeVertCX>146413</sizeVertCX><sizeVertCY>634483</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>458</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>146413</sizeHorzCX><sizeHorzCY>275862</sizeHorzCY><sizeVertCX>146413</sizeVertCX><sizeVertCY>634483</sizeVertCY></Rect></Wnd2></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1368</Right><x>-2</x><y>-2</y><xscreen>1370</xscreen><yscreen>200</yscreen><sizeHorzCX>1002928</sizeHorzCX><sizeHorzCY>275862</sizeHorzCY><sizeVertCX>146413</sizeVertCX><sizeVertCY>275862</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop> </Desktop>
</Project> </Project>

View File

@ -9,7 +9,7 @@ TriggerName=main
LimitSize=0 LimitSize=0
ByteLimit=50 ByteLimit=50
[DebugChecksum] [DebugChecksum]
Checksum=-949798228 Checksum=1371909601
[Exceptions] [Exceptions]
StopOnUncaught=_ 0 StopOnUncaught=_ 0
StopOnThrow=_ 0 StopOnThrow=_ 0
@ -57,9 +57,7 @@ Symbiont=0
[Disassemble mode] [Disassemble mode]
mode=0 mode=0
[Breakpoints2] [Breakpoints2]
Bp0=_ 1 "EMUL_CODE" "{$PROJ_DIR$\PROJECT\app\app_serv.c}.540.19" 0 0 1 "" 0 "" 0 Count=0
Bp1=_ 1 "EMUL_CODE" "{$PROJ_DIR$\PROJECT\app\app_serv.c}.530.19" 0 0 1 "" 0 "" 0
Count=2
[Aliases] [Aliases]
Count=0 Count=0
SuppressDialog=0 SuppressDialog=0

View File

@ -64,14 +64,14 @@
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\time.c</Filename><XPos>0</XPos><YPos>58</YPos><SelStart>1532</SelStart><SelEnd>1532</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\ccnet\CCRSProtocol.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>434</SelStart><SelEnd>434</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>28</YPos><SelStart>1223</SelStart><SelEnd>1241</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>255</YPos><SelStart>9412</SelStart><SelEnd>9412</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>905</YPos><SelStart>41490</SelStart><SelEnd>41502</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\bsp\iolpc2368.h</Filename><XPos>0</XPos><YPos>797</YPos><SelStart>17962</SelStart><SelEnd>17962</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>10</YPos><SelStart>220</SelStart><SelEnd>220</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>1075</YPos><SelStart>42732</SelStart><SelEnd>42732</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>255</SelStart><SelEnd>255</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app.c</Filename><XPos>0</XPos><YPos>33</YPos><SelStart>1131</SelStart><SelEnd>1131</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\keyboard\keyboard.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>466</SelStart><SelEnd>466</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>107</YPos><SelStart>4640</SelStart><SelEnd>4659</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.c</Filename><XPos>0</XPos><YPos>391</YPos><SelStart>11010</SelStart><SelEnd>11027</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\fr.c</Filename><XPos>0</XPos><YPos>617</YPos><SelStart>16296</SelStart><SelEnd>16311</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.c</Filename><XPos>0</XPos><YPos>882</YPos><SelStart>22988</SelStart><SelEnd>23009</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>186</YPos><SelStart>10097</SelStart><SelEnd>10097</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\keyboard\keyboard.c</Filename><XPos>0</XPos><YPos>18</YPos><SelStart>455</SelStart><SelEnd>583</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\control.c</Filename><XPos>0</XPos><YPos>13</YPos><SelStart>409</SelStart><SelEnd>409</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>535</YPos><SelStart>17918</SelStart><SelEnd>17918</SelEnd></Tab><ActiveTab>18</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\validator.c</Filename><XPos>0</XPos><YPos>348</YPos><SelStart>11492</SelStart><SelEnd>11497</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\coin.c</Filename><XPos>0</XPos><YPos>703</YPos><SelStart>11870</SelStart><SelEnd>11870</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\services\time.c</Filename><XPos>0</XPos><YPos>58</YPos><SelStart>1532</SelStart><SelEnd>1532</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\ccnet\CCRSProtocol.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>434</SelStart><SelEnd>434</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>39</YPos><SelStart>1351</SelStart><SelEnd>1351</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>189</YPos><SelStart>7118</SelStart><SelEnd>7118</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>2581</YPos><SelStart>120675</SelStart><SelEnd>120675</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\bsp\iolpc2368.h</Filename><XPos>0</XPos><YPos>797</YPos><SelStart>17962</SelStart><SelEnd>17962</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>10</YPos><SelStart>221</SelStart><SelEnd>221</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>123</YPos><SelStart>5518</SelStart><SelEnd>5518</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.h</Filename><XPos>0</XPos><YPos>41</YPos><SelStart>2340</SelStart><SelEnd>2340</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app.c</Filename><XPos>0</XPos><YPos>33</YPos><SelStart>1131</SelStart><SelEnd>1131</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\keyboard\keyboard.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>356</SelStart><SelEnd>356</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>103</YPos><SelStart>4751</SelStart><SelEnd>4762</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.c</Filename><XPos>0</XPos><YPos>358</YPos><SelStart>11446</SelStart><SelEnd>11447</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\fr.c</Filename><XPos>0</XPos><YPos>1104</YPos><SelStart>28470</SelStart><SelEnd>28470</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.c</Filename><XPos>0</XPos><YPos>948</YPos><SelStart>25046</SelStart><SelEnd>25046</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>44</YPos><SelStart>1993</SelStart><SelEnd>1993</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\keyboard\keyboard.c</Filename><XPos>0</XPos><YPos>111</YPos><SelStart>3327</SelStart><SelEnd>3327</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\control.c</Filename><XPos>0</XPos><YPos>13</YPos><SelStart>409</SelStart><SelEnd>409</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>547</YPos><SelStart>25243</SelStart><SelEnd>25243</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\validator.c</Filename><XPos>0</XPos><YPos>348</YPos><SelStart>11492</SelStart><SelEnd>11497</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\coin.c</Filename><XPos>0</XPos><YPos>531</YPos><SelStart>12394</SelStart><SelEnd>12394</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\fr.h</Filename><XPos>0</XPos><YPos>18</YPos><SelStart>882</SelStart><SelEnd>882</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\coin.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>186</SelStart><SelEnd>186</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><ActiveTab>23</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions> <Positions>
<Top><Row0><Sizes><Toolbar-047729c8><key>iaridepm.enu1</key></Toolbar-047729c8></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>493</Bottom><Right>220</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>146413</sizeHorzCX><sizeHorzCY>275862</sizeHorzCY><sizeVertCX>162518</sizeVertCX><sizeVertCY>682759</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>187</Bottom><Right>1368</Right><x>-2</x><y>-2</y><xscreen>1370</xscreen><yscreen>189</yscreen><sizeHorzCX>1002928</sizeHorzCX><sizeHorzCY>260690</sizeHorzCY><sizeVertCX>146413</sizeVertCX><sizeVertCY>275862</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions> <Top><Row0><Sizes><Toolbar-04c229c8><key>iaridepm.enu1</key></Toolbar-04c229c8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>506</Bottom><Right>220</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>146413</sizeHorzCX><sizeHorzCY>275862</sizeHorzCY><sizeVertCX>162518</sizeVertCX><sizeVertCY>700690</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>174</Bottom><Right>1368</Right><x>-2</x><y>-2</y><xscreen>1370</xscreen><yscreen>176</yscreen><sizeHorzCX>1002928</sizeHorzCX><sizeHorzCY>242759</sizeHorzCY><sizeVertCX>146413</sizeVertCX><sizeVertCY>275862</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop> </Desktop>
</Workspace> </Workspace>

File diff suppressed because it is too large Load Diff

View File

@ -1512,7 +1512,7 @@
</option> </option>
<option> <option>
<name>OOCOutputFile</name> <name>OOCOutputFile</name>
<state>version0_00.hex</state> <state>changer0_01.hex</state>
</option> </option>
<option> <option>
<name>OOCCommandLineProducer</name> <name>OOCCommandLineProducer</name>
@ -1566,7 +1566,7 @@
</option> </option>
<option> <option>
<name>IlinkOutputFile</name> <name>IlinkOutputFile</name>
<state>version0_00.out</state> <state>version0_01.out</state>
</option> </option>
<option> <option>
<name>IlinkDebugInfoEnable</name> <name>IlinkDebugInfoEnable</name>