второй режим начало интеграции ftp

2 часа
This commit is contained in:
Dmitriy 2021-02-18 21:31:32 +03:00
parent cac1e49ac5
commit d58b9d6217
20 changed files with 11593 additions and 9934 deletions

File diff suppressed because it is too large Load Diff

View File

@ -21,12 +21,16 @@
#include "host_app.h"
#include "console.h"
#include "keyboard.h"
#include "term_tsk.h"
// åñëè îïðåäåëèòü ýòîò ìàêðîñ, áóäóò âíîñèòüñÿ äåíüãè ïî êíîïêå F1
//#define _DEBUG_MONEY
CPU_INT32U SystemTime;
CPU_INT32U money_timestamp;
CPU_INT32U coin_timestamp;
CPU_INT08U EnabledChannelsNum;
CPU_INT08U RecentChannel;
CPU_INT08U UserMenuState;
@ -46,7 +50,7 @@ extern CPU_INT32U BillNominals[24];
CPU_INT32U incas_bill_nom_counter[24];
CPU_INT32U incas_common_bill_counter;
#define USER_QUERY_LEN 64
#define USER_QUERY_LEN 256
OS_STK UserTaskStk[USER_TASK_STK_SIZE];
OS_EVENT *UserQuery = NULL;
@ -73,6 +77,10 @@ void SetAcceptedRestMoney(CPU_INT32U money);
void ClearAcceptedRestMoney(void);
CPU_INT32U GetAcceptedRestMoney(void);
void SetAcceptedCoin(CPU_INT32U money);
void ClearAcceptedCoin(void);
CPU_INT32U GetAcceptedCoin(void);
void InitPass(void);
int CheckChannelEnabled(CPU_INT08U channel);
int ChannelBusy(CPU_INT08U ch);
@ -168,7 +176,14 @@ void UserAppTask(void *p_arg)
PostModemTask(MODEM_TASK_SEND_INCAS);
}
#endif
// êîëè÷åñòâî æåòîíîâ ïîä âûäà÷ó
CPU_INT32U CountCoin = 0;
// ðåæèì õîïïåðà
CPU_INT32U regime_hopper = 0;
// ññòîÿíèå õîïïåðà - 1 - âûäà÷à æåòîíîâ
CPU_INT32U hopperOn = 0;
while (1)
{
if (GetUserEvent(&event))
@ -256,13 +271,24 @@ void UserAppTask(void *p_arg)
CPU_INT32U HopperSaveCredit = 0;
GetData(&HopperSaveCreditDesc, &HopperSaveCredit, 0, DATA_FLAG_SYSTEM_INDEX);
if ((HopperSaveCredit > 0) && (labs(OSTimeGet() - money_timestamp) > 60000UL * HopperSaveCredit))
if ((accmoney > 0) && (HopperSaveCredit > 0) && (labs(OSTimeGet() - money_timestamp) > 60000UL * HopperSaveCredit))
{
// åñëè ðàçðåøåíî îáíóëåíèå è ïðèøëî âðåìÿ - î÷èñòèì ñ÷åò÷èêè ïðèåìà äåíåã
// åñëè åñòü äåíüãè, ðàçðåøåíî îáíóëåíèå è ïðèøëî âðåìÿ - î÷èñòèì ñ÷åò÷èêè ïðèåìà äåíåã
SetAcceptedRestMoney(0);
SetAcceptedBankMoney(0);
SetAcceptedMoney(0);
}
// ïîñìîòðèì ñêîëüêî åùå ìîæíî êóðòèòü ìîòîð õîïïåðà
CPU_INT32U HopperStopEngine = 0;
GetData(&HopperStopEngineDesc, &HopperStopEngine, 0, DATA_FLAG_SYSTEM_INDEX);
if (hopperOn && (labs(OSTimeGet() - coin_timestamp) > 1000UL * HopperStopEngine))
{
// õîïïåð âêëþ÷åí è ïðèøëî âðåìÿ îñòàíîâèòü õîïïåð
FIO0SET_bit.P0_24 = 1;
hopperOn = 0;
}
}
// ïðèíèìàåì äåíüãè
@ -551,8 +577,7 @@ void UserAppTask(void *p_arg)
// çäåñü óïðàâëÿåì õîïïåðîì--
{
CPU_INT32U hopper_mode = 0;
GetData(&RegimeHopperDesc, &hopper_mode, 0, DATA_FLAG_SYSTEM_INDEX);
GetData(&RegimeHopperDesc, &regime_hopper, 0, DATA_FLAG_SYSTEM_INDEX);
// ñòîèìîñòü æåòîíà â õîïïåðå
CPU_INT32U HopperCost = 0;
@ -564,11 +589,10 @@ void UserAppTask(void *p_arg)
if(accmoney >= HopperCost)
{
CPU_INT32U CountCoin = 0;
CountCoin = accmoney / HopperCost;
// åñëè õâàòàåò íà æåòîí - âíå çàâèñèìîñòè îò òèïà âûäà÷è æåòîíîâ
if(!hopper_mode)
if(!regime_hopper)
{
// ðåæèì Elolution - óïðàâëÿåì âûäà÷åé æåòîíîâ èìïóëüñàìè
for(int j = 0; j < CountCoin; j++)
@ -578,20 +602,28 @@ void UserAppTask(void *p_arg)
FIO0SET_bit.P0_24 = 1;
OSTimeDly(50);
}
// æåòîíû âûäàëè
CountCoin = 0;
// ïîñëå ðàáîòû ñ õîïïåðîì - ïå÷àòàåì ÷åêè - òîëüêî åñëè âûäàëè æåòîí
PostUserEvent(EVENT_PRINT_CHECK);
// íàéäåì îñòàòîê îò âûäà÷è æåòîíà
CPU_INT32U restMoney = accmoney % HopperCost;
SetAcceptedRestMoney(restMoney);
}
else
{
// ðåæèì Cube
// íà÷àëè âûäàâàòü æåòîíû
hopperOn = 1;
// ðåæèì Cube - ðàçðåøàåì âûäàâàòü æåòîíû - îïóñêàåì ëèíèþ
FIO0CLR_bit.P0_24 = 1;
// ïå÷àòü ÷åêà, ðàñ÷åò îñòàòêà ïîñëå îñòàíîâêè âûäà÷è íà õîïïåðå
}
// ïîñëå ðàáîòû ñ õîïïåðîì - ïå÷àòàåì ÷åêè - òîëüêî åñëè âûäàëè æåòîí
PostUserEvent(EVENT_PRINT_CHECK);
// íàéäåì îñòàòîê îò âûäà÷è æåòîíà
CPU_INT32U restMoney = accmoney % HopperCost;
SetAcceptedRestMoney(restMoney);
}
}
@ -715,6 +747,66 @@ void UserAppTask(void *p_arg)
#else
#endif
case EVENT_HOPPER_EXTRACTED:
{
if (GetMode() != MODE_WORK || !hopperOn || !CountCoin)
{
// ÷òî-òî ïîøëî íå òàê - îñòàíàâëèâàåì âûäà÷ó
FIO0SET_bit.P0_24 = 1;
break;
}
// èìïóëüñû îò õîïïåðà â ðåæèìå Cube
// ñ÷èòàåì è ïûòàåìñÿ îñòàíîâèòü õîïïåð âîâðåìÿ
if (regime_hopper) // ðåæèì õîïïåðà áûë çàãðóæåí ðàíåå
{
// ìû â íóæíîì ðåæèìå - ïîñìîòðèì ñêîëüêî ìû òàì íàêîïèëè èìïóëüñîâ - âûäàëè æåòîíîâ
CPU_INT32U coin = GetResetHopperCount();
// ïðèáàâèì ñêîëüêî âûäàëè ðàíåå
coin += GetAcceptedCoin();
// íåòó æåòîíîâ - âûõîä
if (!coin) break;
if (coin >= CountCoin)
{
// âñå âûäàëè - îñòàíàâëèâàåì âûäà÷ó
FIO0SET_bit.P0_24 = 1;
// æåòîíû âûäàëè
CountCoin = 0;
// îñòàíîâèëè âûäà÷ó
hopperOn = 0;
// æåòîíû âûäàëè - çàáûâàåì ïðî íèõ
SetAcceptedCoin(0);
// ïîñëå ðàáîòû ñ õîïïåðîì - ïå÷àòàåì ÷åêè - òîëüêî åñëè âûäàëè íóæíîå êîëè÷åñòâî æåòîíîâ
PostUserEvent(EVENT_PRINT_CHECK);
// ñêîëüêî äåíåã óæå åñòü
CPU_INT32U accmoney = GetAcceptedMoney();
accmoney += GetAcceptedBankMoney();
accmoney += GetAcceptedRestMoney();
// ñòîèìîñòü æåòîíà â õîïïåðå
CPU_INT32U HopperCost = 0;
GetData(&HopperCostDesc, &HopperCost, 0, DATA_FLAG_SYSTEM_INDEX);
// íàéäåì îñòàòîê îò âûäà÷è æåòîíà
CPU_INT32U restMoney = accmoney % HopperCost;
SetAcceptedRestMoney(restMoney);
}
else
{
SetAcceptedCoin(coin);
coin_timestamp = OSTimeGet();
}
}
}
break;
case EVENT_KEY_F1:
//testMoney = 10;
//PostUserEvent(EVENT_COIN_INSERTED);
@ -814,7 +906,11 @@ void UserStartupFunc(void)
#ifdef BOARD_CENTRAL_CFG
InitHostApp();
#endif
#if defined(CONFIG_TERMINAL_ENABLE)
InitTerminalApp();
#endif
SystemTime = GetTimeSec();
#ifdef BOARD_CENTRAL_CFG
@ -1060,6 +1156,21 @@ void LoadAcceptedMoney(void)
SetData(&AcceptedRestMoneyDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
SetData(&AcceptedRestMoneyCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
}
// ñ÷èòàåì cîõðàíåííûå äåíüãè èç FRAM
GetData(&AcceptedCoinDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
// ñ÷èòàåì crc16 ýòèõ äåíåã èç FRAM
GetData(&AcceptedCoinCRC16Desc, &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(&AcceptedCoinDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
SetData(&AcceptedCoinCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
}
}
// äîáàâèòü äåíåã
@ -1152,6 +1263,34 @@ CPU_INT32U GetAcceptedRestMoney(void)
return m;
}
// âûäàëè æåòîíîâ
void SetAcceptedCoin(CPU_INT32U money)
{
CPU_INT32U m,crc;
m=money;
crc = crc16((unsigned char*)&m, sizeof(CPU_INT32U));
SetData(&AcceptedCoinDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
SetData(&AcceptedCoinCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
}
// î÷èñòèòü ñ÷åò÷èê æåòîíîâ
void ClearAcceptedCoin(void)
{
CPU_INT32U m,crc;
m=0;
crc = crc16((unsigned char*)&m, sizeof(CPU_INT32U));
SetData(&AcceptedCoinDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
SetData(&AcceptedCoinCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
}
// âûäàëè æåòîíîâ
CPU_INT32U GetAcceptedCoin(void)
{
CPU_INT32U m;
GetData(&AcceptedCoinDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
return m;
}
// èíèöèàëèçàöèÿ ïàðîëÿ
void InitPass(void)
{

View File

@ -16,9 +16,9 @@ extern CPU_INT32U incas_common_bill_counter;
#define VALIDATOR_TASK_STK_SIZE 384
#define FISCAL_TASK_STK_SIZE 384
#define MODEM_TASK_STK_SIZE 768
#define CONSOLE_TASK_STK_SIZE 256
#define HOST_TASK_STK_SIZE 256
#define TERM_TASK_STK_SIZE 384
#define CONSOLE_TASK_STK_SIZE 256
#define HOST_TASK_STK_SIZE 256
#define VALIDATOR_TASK_PRIO USER_HIGHEST_PRIO
@ -28,8 +28,9 @@ extern CPU_INT32U incas_common_bill_counter;
#define FISCAL_TASK_PRIO (USER_HIGHEST_PRIO + 4)
#define MENU_TASK_PRIO (USER_HIGHEST_PRIO + 5)
#define CONSOLE_TASK_PRIO (USER_HIGHEST_PRIO + 6)
#define HOST_TASK_PRIO (USER_HIGHEST_PRIO + 7)
#define CONSOLE_TASK_PRIO (USER_HIGHEST_PRIO + 6)
#define HOST_TASK_PRIO (USER_HIGHEST_PRIO + 7)
#define TERM_TASK_PRIO (USER_HIGHEST_PRIO + 8)
#define MODEM_TASK_PRIO USER_LOWEST_PRIO
@ -78,6 +79,8 @@ enum{
#define EVENT_KEY_LEFT EVENT_KEY_POST2
#define EVENT_KEY_RIGHT EVENT_KEY_POST5
extern CPU_INT32U SystemTime;
extern void UserStartupFunc(void);
extern void PostUserEvent(int event);

View File

@ -90,194 +90,194 @@ int ReadFtpCountersString(int index, char *buf)
case 0:
strcpy(buf, header1);
break;
case 1:
strcpy(buf, line1);
for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
{
strcat(buf, ";");
GetDataStr(&CounterSolarMoneyDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 2:
strcpy(buf, line2);
for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
{
strcat(buf, ";");
GetDataStr(&CounterSolarRunsDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 3:
strcpy(buf, line3);
for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
{
strcat(buf, ";");
GetDataStr(&CounterSolarWorkTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 4:
strcpy(buf, line6);
for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
{
strcat(buf, ";");
GetDataStr(&CounterSolarTestRunsDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 5:
strcpy(buf, line6);
for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
{
strcat(buf, ";");
GetDataStr(&CounterSolarTestWorkTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 6:
strcpy(buf, "\r\n");
break;
case 7:
strcpy(buf, header2);
break;
case 8:
strcpy(buf, line1);
for (i = 0; i < SOLAR_MODES_COUNT; i++)
{
strcat(buf, ";");
GetDataStr(&CounterModeMoneyDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 9:
strcpy(buf, line2);
for (i = 0; i < SOLAR_MODES_COUNT; i++)
{
strcat(buf, ";");
GetDataStr(&CounterModeRunsDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 10:
strcpy(buf, line3);
for (i = 0; i < SOLAR_MODES_COUNT; i++)
{
strcat(buf, ";");
GetDataStr(&CounterModeWorkTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 11:
strcpy(buf, line6);
for (i = 0; i < SOLAR_MODES_COUNT; i++)
{
strcat(buf, ";");
GetDataStr(&CounterModeTestRunsDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 12:
strcpy(buf, line7);
for (i = 0; i < SOLAR_MODES_COUNT; i++)
{
strcat(buf, ";");
GetDataStr(&CounterModeWorkTestTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 13:
strcpy(buf, "\r\n");
break;
case 14:
strcpy(buf, header3);
break;
case 15:
strcpy(buf, line4);
for (i = 0; i < CHANNELS_NUM; i++)
{
strcat(buf, ";");
GetDataStr(&CounterCollatenTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 16:
strcpy(buf, line5);
for (i = 0; i < CHANNELS_NUM; i++)
{
strcat(buf, ";");
GetDataStr(&CounterUFTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 17:
strcpy(buf, line6);
for (i = 0; i < CHANNELS_NUM; i++)
{
strcat(buf, ";");
GetDataStr(&CounterAllTestCountDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 18:
strcpy(buf, line7);
for (i = 0; i < CHANNELS_NUM; i++)
{
strcat(buf, ";");
GetDataStr(&CounterAllTestTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 19:
strcpy(buf, line13);
for (i = 0; i < CHANNELS_NUM; i++)
{
strcat(buf, ";");
GetDataStr(&CounterTestMeanTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 20:
strcpy(buf, line10);
for (i = 0; i < CHANNELS_NUM; i++)
{
strcat(buf, ";");
GetDataStr(&CounterCleaningCountDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 21:
strcpy(buf, line11);
for (i = 0; i < CHANNELS_NUM; i++)
{
strcat(buf, ";");
GetDataStr(&CounterCleaningTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 22:
strcpy(buf, line12);
for (i = 0; i < CHANNELS_NUM; i++)
{
strcat(buf, ";");
GetDataStr(&CounterCleaningMeanTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
}
strcat(buf, "\r\n");
break;
case 23:
strcpy(buf, "\r\n");
break;
case 24:
strcpy(buf, header4);
break;
case 25:
GetDataStr(&CounterCashMoneyDesc, (CPU_INT08U*)buf, i, DATA_FLAG_DIRECT_INDEX);
strcat(buf, ";");
GetDataStr(&CounterCardMoneyDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
strcat(buf, ";");
GetDataStr(&CounterCommonMoneyDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
strcat(buf, "\r\n");
break;
// case 1:
// strcpy(buf, line1);
// for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterSolarMoneyDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 2:
// strcpy(buf, line2);
// for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterSolarRunsDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 3:
// strcpy(buf, line3);
// for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterSolarWorkTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 4:
// strcpy(buf, line6);
// for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterSolarTestRunsDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 5:
// strcpy(buf, line6);
// for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterSolarTestWorkTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 6:
// strcpy(buf, "\r\n");
// break;
// case 7:
// strcpy(buf, header2);
// break;
// case 8:
// strcpy(buf, line1);
// for (i = 0; i < SOLAR_MODES_COUNT; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterModeMoneyDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 9:
// strcpy(buf, line2);
// for (i = 0; i < SOLAR_MODES_COUNT; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterModeRunsDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 10:
// strcpy(buf, line3);
// for (i = 0; i < SOLAR_MODES_COUNT; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterModeWorkTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 11:
// strcpy(buf, line6);
// for (i = 0; i < SOLAR_MODES_COUNT; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterModeTestRunsDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 12:
// strcpy(buf, line7);
// for (i = 0; i < SOLAR_MODES_COUNT; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterModeWorkTestTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 13:
// strcpy(buf, "\r\n");
// break;
// case 14:
// strcpy(buf, header3);
// break;
// case 15:
// strcpy(buf, line4);
// for (i = 0; i < CHANNELS_NUM; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterCollatenTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 16:
// strcpy(buf, line5);
// for (i = 0; i < CHANNELS_NUM; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterUFTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 17:
// strcpy(buf, line6);
// for (i = 0; i < CHANNELS_NUM; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterAllTestCountDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 18:
// strcpy(buf, line7);
// for (i = 0; i < CHANNELS_NUM; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterAllTestTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 19:
// strcpy(buf, line13);
// for (i = 0; i < CHANNELS_NUM; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterTestMeanTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 20:
// strcpy(buf, line10);
// for (i = 0; i < CHANNELS_NUM; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterCleaningCountDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 21:
// strcpy(buf, line11);
// for (i = 0; i < CHANNELS_NUM; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterCleaningTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 22:
// strcpy(buf, line12);
// for (i = 0; i < CHANNELS_NUM; i++)
// {
// strcat(buf, ";");
// GetDataStr(&CounterCleaningMeanTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// }
// strcat(buf, "\r\n");
// break;
// case 23:
// strcpy(buf, "\r\n");
// break;
// case 24:
// strcpy(buf, header4);
// break;
// case 25:
// GetDataStr(&CounterCashMoneyDesc, (CPU_INT08U*)buf, i, DATA_FLAG_DIRECT_INDEX);
// strcat(buf, ";");
// GetDataStr(&CounterCardMoneyDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// strcat(buf, ";");
// GetDataStr(&CounterCommonMoneyDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
// strcat(buf, "\r\n");
// break;
default:
return 0;
}

View File

@ -271,6 +271,26 @@ int HostWritePulses(CPU_INT32U ip_addr, CPU_INT32U count, CPU_INT32U len_ms)
return HostWriteParam(ip_addr, CONSOLE_TCP_DEFAULT_PORT, "PULSEOUT", str, HOST_SOCKET_DEFAULT_TIMEOUT);
}
int HostWriteData(NET_SOCK_ID sock, char* str, int len)
{
int tx_ctr = 0;
while (tx_ctr < len)
{
NET_ERR err;
int tx_size = NetSock_TxData(sock, &str[tx_ctr], len - tx_ctr, NET_SOCK_FLAG_NONE, &err);
OSTimeDly(10);
if (tx_size > 0)
{
tx_ctr += tx_size;
}
else
{
return -1;
}
}
return tx_ctr;
}
int HostWriteDataTimeout(NET_SOCK_ID sock, char* str, int len, CPU_INT32U timeout)
{
CPU_INT32U time_stamp = OSTimeGet();

View File

@ -17,6 +17,7 @@ extern int HostWritePulses(CPU_INT32U ip_addr, CPU_INT32U count, CPU_INT32U len_
extern NET_SOCK_ID HostConnectSocket(CPU_INT32U ip_addr, CPU_INT16U port, CPU_INT32U timeout, NET_ERR* err);
extern int HostWriteDataTimeout(NET_SOCK_ID sock, char* str, int len, CPU_INT32U timeout);
extern int HostWriteData(NET_SOCK_ID sock, char* str, int len);
extern int HostReadData(NET_SOCK_ID sock, char *str, CPU_INT32U maxlen, CPU_INT32U timeout, NET_ERR *err);
#endif //_HOST_APP_H_

View File

@ -95,9 +95,12 @@ typedef struct{
#define ERROR_HOPPER JOURNAL_EVENT_PRINT_BILL_ONLINE + 1 // îøèáêà õîïïåðà
#define ERROR_NO_MONEY_HOPPER ERROR_HOPPER + 1 // îøèáêà õîïïåðà - êîí÷èëèñü äåíüãè
// ñîáûòèå îòïðàâêè æóðíàëà
#define JOURNAL_EVENT_FTP_SEND ERROR_NO_MONEY_HOPPER + 1
#define JOURNAL_EVENTS_COUNT ERROR_NO_MONEY_HOPPER // ÷èñëî ñîáûòèé
#define JOURNAL_EVENTS_COUNT JOURNAL_EVENT_FTP_SEND // ÷èñëî ñîáûòèé
// êàíàë
CPU_INT08U channel;

1274
PROJECT/app/term_tsk.c Normal file

File diff suppressed because it is too large Load Diff

63
PROJECT/app/term_tsk.h Normal file
View File

@ -0,0 +1,63 @@
#ifndef _TERM_TSK_H_
#define _TERM_TSK_H_
#include <stdint.h>
#define TERM_PARAM_COUNT 1
#define TERM_BUFFER_SIZE 2048
#define TERM_SOCKET_CONNECT_TIMEOUT 1000
#define TERM_READ_PACKET_TIMEOUT 3000
/** \name Ñîñòîÿíèÿ òåðìèíàëà
*/
/**{*/
#define TERM_STATE_IDLE 0
#define TERM_STATE_PENDING_PUR 1
#define TERM_STATE_WAITING_PUR 2
#define TERM_STATE_ABORTING 3
#define TERM_STATE_DONE_PUR 4
#define TERM_STATE_ERR_PUR 5
/**}*/
/** \name Êîìàíäû òåðìèíàëà
*/
/**{*/
#define TERM_COMMAND_NONE 0x0000
#define TERM_COMMAND_PEND_PUR 0x0001
#define TERM_COMMAND_ABORT_PUR 0x0002
#define TERM_COMMAND_CLEAR_STATE 0x0004
#define TERM_COMMAND_MAKE_SVERKA 0x0008
#define TERM_COMMAND_MAKE_SYNCHRO 0x0010
/**}*/
/// ñòðóêòóðà äëÿ ñîõðàíåíèÿ èíôîðìöèè î òåêóùåì çàïðîñå
typedef struct
{
/// íîìåð êàññîâîãî äîêóìåíòà
uint32_t ern;
/// âðåìÿ ïîñëåäíåé ñâåðêè
uint32_t time_sverka;
/// âðåìÿ ïîñëåäíåé ñèíõðîíèçàöèè æóðíàëà
uint32_t time_syn;
/// ïðèçíàê àêòèâíîãî òåêóùåãî çàïðîñà
uint8_t request_active;
/// êîíòðîëüíàÿ ñóììà
uint16_t crc16;
}TerminalCurrInfo;
extern void InitTerminalApp();
extern uint32_t GetTermState(void);
extern uint32_t SetTermCommand(uint32_t cmd, uint32_t* param);
extern int ttk2_get_field_string(uint16_t field, char* str, uint16_t maxlen);
extern CPU_INT32U term_protocol(void);
#endif //_TERM_TSK_H_

View File

@ -3005,6 +3005,48 @@ TDataDescStruct const AcceptedRestMoneyCRC16Desc = {
0
};
/*************************************
Дескриптор для энергонезависимого сохранения выданных жетонов
*************************************/
TDataDescStruct const AcceptedCoinDesc = {
DATA_DESC_EDIT, // тип дескриптора
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_NO_ARRAY, // признак массива
0, // размер массива
NULL, // указатель на десриптор индекса массива
(void*)offsetof(TFramMap, FRAM_AcceptedMoney), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
0, // смещение между элементами в массиве
NULL, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
/*************************************
Дескриптор Crc16 энергонезависимого сохранения выданных жетонов
*************************************/
TDataDescStruct const AcceptedCoinCRC16Desc = {
DATA_DESC_EDIT, // тип дескриптора
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_NO_ARRAY, // признак массива
0, // размер массива
NULL, // указатель на десриптор индекса массива
(void*)offsetof(TFramMap, crc_AcceptedMoney), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
0, // смещение между элементами в массиве
NULL, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
/*************************************
ؤمّيِوَُِْ ُـًَِ<EFBFBD>
*************************************/

View File

@ -4,6 +4,9 @@
#include "data.h"
#include "control.h"
#define TERMINAL_PROTOCOL_TTK2 0
#define TERMINAL_PROTOCOL_VTK 1
#define INCAS_SEND_FLAG 0x87654321
#define MAX_PRICE 9999
@ -285,4 +288,7 @@ extern TDataDescStruct const AcceptedBankMoneyCRC16Desc;
extern TDataDescStruct const AcceptedRestMoneyDesc;
extern TDataDescStruct const AcceptedRestMoneyCRC16Desc;
extern TDataDescStruct const AcceptedCoinDesc;
extern TDataDescStruct const AcceptedCoinCRC16Desc;
#endif //#ifndef _DATADESC_H_

View File

@ -1,7 +1,7 @@
#include "cpu.h"
#include "datadesc.h"
#include "journal.h"
#include "term_tsk.h"
typedef struct
{
@ -80,5 +80,19 @@ typedef struct
CPU_INT32U CommandV2;
CPU_INT32U TaxSystem;
TerminalCurrInfo terminal_info;
#ifdef CONFIG_FTP_CLIENT_ENABLE
CPU_INT32U FtpEnable;
CPU_INT32U FtpServerIpAddr;
CPU_INT32U FtpDeviceNumber;
CPU_INT32U FtpSendHourMin;
CPU_INT32U FtpSendIntervalIndex;
CPU_INT32U FtpLastTime;
CPU_INT32U FtpLastResult;
char FtpLogin[16];
char FtpPass[16];
#endif
}TFramMap;

View File

@ -155,6 +155,8 @@ void CoinTask(void *p_arg)
if (enable_coin)
{
CoinEnable();
OS_ENTER_CRITICAL();
if (pend_coin_counter)
{
@ -200,6 +202,8 @@ void CoinTask(void *p_arg)
if (bank_enable)
{
BankEnable();
OS_ENTER_CRITICAL();
if (pend_bank_counter)
{
@ -245,37 +249,29 @@ void CoinTask(void *p_arg)
if (regime_hopper)
{
OS_ENTER_CRITICAL();
if (pend_hopper_counter)
{
// èìïóëüñû èíêðåìåíòèðóåì òîëüêî ïîñëå âûäåðæêè ïàóçû
if (OSTimeGet() - pend_hopper_timestamp > hopper_pause)
OS_ENTER_CRITICAL();
if (pend_hopper_counter)
{
pend_hopper_counter = 0;
HopperImpCounter++;
}
}
OS_EXIT_CRITICAL();
if (GetHopperCount())
{
if (last_hopper_count == GetHopperCount())
{
if (labs(OSTimeGet() - last_hopper_time) > 500)
// èìïóëüñû èíêðåìåíòèðóåì òîëüêî ïîñëå âûäåðæêè ïàóçû
if (OSTimeGet() - pend_hopper_timestamp > hopper_pause)
{
PostUserEvent(EVENT_HOPPER_EXTRACTED);
pend_hopper_counter = 0;
HopperImpCounter++;
}
}
else
OS_EXIT_CRITICAL();
if (GetHopperCount())
{
last_hopper_count = GetHopperCount();
last_hopper_time = OSTimeGet();
if (last_hopper_count != GetHopperCount())
{
// ñîáûòèå îò õîïïåðà øëåì ñðàçó - ÷òîáû óñïåòü âñå âîâðåìÿ îñòàíîâèòü
PostUserEvent(EVENT_HOPPER_EXTRACTED);
// ìîæåò áûòü ïðèäåòñÿ è çäåñü îñòàíàâëèâàòü õîïïåð
last_hopper_count = GetHopperCount();
}
}
}
else
{
last_bank_time = OSTimeGet();
}
}
else
{

View File

@ -319,4 +319,9 @@ void Sec2Date(TRTC_Data *pDest, CPU_INT32U ulSec)
pDest->sec = ulSec;
}
void PrintSecDateTimeStringRaw(char *str, CPU_INT32U time)
{
TRTC_Data rtc_data;
Sec2Date(&rtc_data, time);
sprintf(str, "20%02d%02d%02d_%02d%02d%02d", rtc_data.year, rtc_data.mon, rtc_data.date, rtc_data.hour, rtc_data.min, rtc_data.sec);
}

View File

@ -40,5 +40,6 @@ extern void PrintTimeString(char *str, CPU_INT32U time);
extern void PrintSecToHourMinSec(char *str, int seconds);
extern void PrintSecToBigHourMinSec(char *str, int seconds);
extern void PrintSecDateTimeStringRaw(char *str, CPU_INT32U time);
#endif //#ifndef _TIME_H_

View File

@ -39,7 +39,7 @@
<Wnd0>
<Wnd3>
<Tabs>
<Tab>
<Identity>TabID-4454-14979</Identity>
@ -55,7 +55,7 @@
</Tab>
<Tab><Identity>TabID-8358-20066</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1>
<SelectedTab>0</SelectedTab></Wnd3><Wnd4>
<Tabs>
<Tab>
<Identity>TabID-15203-14983</Identity>
@ -67,7 +67,7 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd1><Wnd2>
<SelectedTab>0</SelectedTab></Wnd4><Wnd5>
<Tabs>
<Tab>
<Identity>TabID-25951-14986</Identity>
@ -77,20 +77,20 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd2></Windows>
<SelectedTab>0</SelectedTab></Wnd5></Windows>
<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>
<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>273</YPos><SelStart>9807</SelStart><SelEnd>9807</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>3568</YPos><SelStart>165170</SelStart><SelEnd>165190</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><ActiveTab>9</ActiveTab><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>756</YPos><SelStart>27496</SelStart><SelEnd>27496</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>248</YPos><SelStart>6991</SelStart><SelEnd>6991</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\version.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>110</SelStart><SelEnd>110</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-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>
<Top><Row0><Sizes><Toolbar-04db29c8><key>iaridepm.enu1</key></Toolbar-04db29c8></Sizes></Row0><Row1><Sizes><Toolbar-07372998><key>debuggergui.enu1</key></Toolbar-07372998></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>
</Desktop>
</Project>

View File

@ -9,7 +9,7 @@ TriggerName=main
LimitSize=0
ByteLimit=50
[DebugChecksum]
Checksum=1371909601
Checksum=700038343
[Exceptions]
StopOnUncaught=_ 0
StopOnThrow=_ 0

View File

@ -12,7 +12,7 @@
<Column0>129</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
<Column0>199</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace>
<Build>
@ -30,7 +30,7 @@
<Windows>
<Wnd2>
<Wnd0>
<Tabs>
<Tab>
<Identity>TabID-22094-17165</Identity>
@ -42,7 +42,7 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd2><Wnd3>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1>
<Tabs>
<Tab>
<Identity>TabID-15821-17283</Identity>
@ -58,20 +58,20 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd3></Windows>
<SelectedTab>0</SelectedTab></Wnd1></Windows>
<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>
<Pane><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\data\datadesc.c</Filename><XPos>0</XPos><YPos>3568</YPos><SelStart>165170</SelStart><SelEnd>165190</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\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>1406</SelStart><SelEnd>1406</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>85</YPos><SelStart>4235</SelStart><SelEnd>4235</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>6</YPos><SelStart>494</SelStart><SelEnd>494</SelEnd></Tab><ActiveTab>14</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>248</YPos><SelStart>6991</SelStart><SelEnd>6991</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\version.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>110</SelStart><SelEnd>110</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\ftp_app.c</Filename><XPos>0</XPos><YPos>387</YPos><SelStart>13703</SelStart><SelEnd>13728</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\term_tsk.c</Filename><XPos>0</XPos><YPos>447</YPos><SelStart>12046</SelStart><SelEnd>12046</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>63</YPos><SelStart>1934</SelStart><SelEnd>1934</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>73</YPos><SelStart>1943</SelStart><SelEnd>1943</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>151</SelStart><SelEnd>151</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\time.c</Filename><XPos>0</XPos><YPos>319</YPos><SelStart>8509</SelStart><SelEnd>8509</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\time.h</Filename><XPos>0</XPos><YPos>32</YPos><SelStart>1385</SelStart><SelEnd>1385</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\host_app.c</Filename><XPos>0</XPos><YPos>266</YPos><SelStart>7580</SelStart><SelEnd>7643</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\host_app.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>732</SelStart><SelEnd>732</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-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>
<Top><Row0><Sizes><Toolbar-04db29c8><key>iaridepm.enu1</key></Toolbar-04db29c8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>484</Bottom><Right>290</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>146413</sizeHorzCX><sizeHorzCY>275862</sizeHorzCY><sizeVertCX>213763</sizeVertCX><sizeVertCY>670345</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><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>146413</sizeVertCX><sizeVertCY>275862</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>

File diff suppressed because it is too large Load Diff

View File

@ -1084,6 +1084,8 @@
<option>
<name>CCDefines</name>
<state>BOARD_CENTRAL_CFG</state>
<state>CONFIG_FTP_CLIENT_ENABLE</state>
<state>CONFIG_TERMINAL_ENABLE</state>
</option>
<option>
<name>CCPreprocFile</name>
@ -3161,6 +3163,12 @@
<file>
<name>$PROJ_DIR$\PROJECT\app\modem_task.h</name>
</file>
<file>
<name>$PROJ_DIR$\PROJECT\app\term_tsk.c</name>
</file>
<file>
<name>$PROJ_DIR$\PROJECT\app\term_tsk.h</name>
</file>
</group>
<group>
<name>data</name>