diff --git a/PROJECT/app/app_serv.c b/PROJECT/app/app_serv.c
index 0b6f426..c0f9a20 100644
--- a/PROJECT/app/app_serv.c
+++ b/PROJECT/app/app_serv.c
@@ -22,16 +22,13 @@
CPU_INT32U SystemTime;
CPU_INT32U money_timestamp[COUNT_POST + COUNT_VACUUM];
-CPU_INT08U ChannelsState[COUNT_POST + COUNT_VACUUM];
+//CPU_INT08U ChannelsState[COUNT_POST + COUNT_VACUUM];
#define CHANNEL_STATE_FREE 0
#define CHANNEL_STATE_BUSY 1
#define CHANNEL_STATE_DISABLED 2
-CPU_INT32U ChannelsCounters[COUNT_POST + COUNT_VACUUM];
+//CPU_INT32U ChannelsCounters[COUNT_POST + COUNT_VACUUM];
CPU_INT32U ChannelsPayedTime[COUNT_POST + COUNT_VACUUM];
-CPU_INT32U incas_bill_nom_counter[24];
-CPU_INT32U incas_common_bill_counter;
-
#define USER_QUERY_LEN 64
OS_STK UserTaskStk[USER_TASK_STK_SIZE];
@@ -86,8 +83,7 @@ void AddOutPulses(int count, int len_ms)
#endif
-int drawPostInfo[COUNT_POST + COUNT_VACUUM] = {0,0,0,0,0,0,0,0};
-int currentPosition = 0;
+static int currentPosition = 0;
typedef enum {
@@ -98,15 +94,14 @@ typedef enum {
} washStateEnum;
-washStateEnum wash_State[COUNT_POST + COUNT_VACUUM] = {waitMoney, waitMoney, waitMoney, waitMoney, waitMoney, waitMoney, waitMoney, waitMoney};
+static washStateEnum wash_State[COUNT_POST + COUNT_VACUUM] = {waitMoney, waitMoney, waitMoney, waitMoney, waitMoney, waitMoney, waitMoney, waitMoney};
-int countSecWait[COUNT_POST + COUNT_VACUUM] = {0, 0, 0, 0, 0, 0, 0, 0};
-
-CPU_INT32U enable_coin[COUNT_POST + COUNT_VACUUM];
-CPU_INT32U cash_enable[COUNT_POST];
-CPU_INT32U bank_enable[COUNT_POST];
-CPU_INT32U enable_signal[COUNT_POST];
-CPU_INT32U fiscal_enable;
+static int countSecWait[COUNT_POST + COUNT_VACUUM] = {0, 0, 0, 0, 0, 0, 0, 0};
+static CPU_INT32U enable_coin[COUNT_POST + COUNT_VACUUM];
+static CPU_INT32U cash_enable[COUNT_POST];
+static CPU_INT32U bank_enable[COUNT_POST];
+static CPU_INT32U enable_signal[COUNT_POST];
+static CPU_INT32U fiscal_enable;
void DrawMenu(void)
{
@@ -230,9 +225,6 @@ void UserAppTask(void *p_arg)
if (accmoney > 0)
{
- // есть принятые деньги
- drawPostInfo[post] = 1;
-
if(wash_State[post] != washing)
{
// печать по внешнему сигналу, ждем таймаут отмены, но не в режиме мойки
@@ -253,10 +245,6 @@ void UserAppTask(void *p_arg)
money_timestamp[post] = OSTimeGet();
}
}
- else
- {
- drawPostInfo[post] = 0;
- }
if(countSecWait[post])
{
@@ -679,10 +667,10 @@ void UserStartupFunc(void)
OSTaskCreate(UserAppTask, (void *)0, (OS_STK *)&UserTaskStk[USER_TASK_STK_SIZE-1], USER_TASK_PRIO);
}
- InitConsole();
+ //InitConsole();
#ifdef BOARD_CENTRAL_CFG
- InitHostApp();
+ //InitHostApp();
#endif
SystemTime = GetTimeSec();
@@ -723,6 +711,14 @@ void UserPrintMoneyMenu(int post)
strcpy(buf, " ");
PrintUserMenuStr(buf, 0);
+ accmoney = GetAcceptedMoney(post) + GetAcceptedBankMoney(post);
+
+ if((wash_State[post] == waitMoney) && (accmoney > 0))
+ {
+ // если была перезагрузка и есть деньги - сразу переходим на ожидание денег
+ wash_State[post] = insertMoney;
+ }
+
if(wash_State[post] == waitMoney)
{
sprintf(buf, " Внесите деньги");
@@ -733,8 +729,6 @@ void UserPrintMoneyMenu(int post)
}
else if(wash_State[post] == insertMoney)
{
- accmoney = GetAcceptedMoney(post) + GetAcceptedBankMoney(post);
-
sprintf(buf, " Внесите деньги");
PrintUserMenuStr(buf, 1);
@@ -757,7 +751,7 @@ void UserPrintMoneyMenu(int post)
sprintf(buf, " ");
PrintUserMenuStr(buf, 2);
}
-
+
if(post < COUNT_POST)
sprintf(buf, " Пост %d", post + 1);
else if(post < COUNT_POST + COUNT_VACUUM)
diff --git a/PROJECT/app/app_serv.h b/PROJECT/app/app_serv.h
index 16fe869..d0851d0 100644
--- a/PROJECT/app/app_serv.h
+++ b/PROJECT/app/app_serv.h
@@ -5,13 +5,10 @@
#define CONSOLE_TCP_DEFAULT_PORT 10000
-extern CPU_INT32U incas_bill_nom_counter[24];
-extern CPU_INT32U incas_common_bill_counter;
-
#define KBRD_TASK_STK_SIZE 128
-#define USER_TASK_STK_SIZE 384
+#define USER_TASK_STK_SIZE 512
#define MENU_TASK_STK_SIZE 384
-#define COIN_TASK_STK_SIZE 128
+#define COIN_TASK_STK_SIZE 384
#define VALIDATOR_TASK_STK_SIZE 384
#define FISCAL_TASK_STK_SIZE 384
#define MODEM_TASK_STK_SIZE 768
diff --git a/PROJECT/data/datadesc.c b/PROJECT/data/datadesc.c
index 1939196..0660542 100644
--- a/PROJECT/data/datadesc.c
+++ b/PROJECT/data/datadesc.c
@@ -30,7 +30,7 @@ CPU_INT08U const CoinPulseLenName[] = "
void OnChangeCoinPulseLen()
{
CPU_INT32U pulse, pause;
- for(int post = 0; post < COUNT_POST; post++)
+ for(int post = 0; post < COUNT_POST + COUNT_VACUUM; post++)
{
GetData(&CoinPulseLenDesc, &pulse, post, DATA_FLAG_DIRECT_INDEX);
GetData(&CoinPauseLenDesc, &pause, post, DATA_FLAG_DIRECT_INDEX);
@@ -43,7 +43,7 @@ TDataDescStruct const CoinPulseLenDesc = {
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
- COUNT_POST, // размер массива
+ COUNT_POST + COUNT_VACUUM, // размер массива
&CoinIndexDesc, // указатель на десриптор индекса массива
(void*)offsetof(TFramMap, coin_pulse_len), // указатель на переменную или адрес FRAM
(void*)&CoinPulseLenRange, // указатель на границы параметра
@@ -137,7 +137,7 @@ TDataDescStruct const CoinPauseLenDesc = {
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
- COUNT_POST, // размер массива
+ COUNT_POST + COUNT_VACUUM, // размер массива
&CoinIndexDesc, // указатель на десриптор индекса массива
(void*)offsetof(TFramMap, coin_pause_len), // указатель на переменную или адрес FRAM
(void*)&CoinPauseLenRange, // указатель на границы параметра
@@ -250,7 +250,7 @@ TDataDescStruct const EnableValidatorDesc = {
DATA_IS_INDEX, // признак индексного параметра (список строк)
EnableValidatorList, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
- 1 // значение по умолчанию
+ 0 // значение по умолчанию
};
/*************************************
@@ -274,7 +274,7 @@ TDataDescStruct const EnableBankDesc = {
DATA_IS_INDEX, // признак индексного параметра (список строк)
EnableValidatorList, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
- 1 // значение по умолчанию
+ 0 // значение по умолчанию
};
/*************************************
@@ -503,7 +503,7 @@ TDataDescStruct const EnableSignalDesc = {
DATA_IS_INDEX, // признак индексного параметра (список строк)
EnableSignalList, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
- 1
+ 0
};
/*************************************
@@ -627,7 +627,7 @@ TDataDescStruct const CoinPerPulseDesc = {
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
- 1 // значение по умолчанию
+ 10 // значение по умолчанию
};
/*************************************
@@ -817,7 +817,7 @@ TDataDescStruct const PrintTimeoutAfterDesc = {
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
- 60 // значение по умолчанию
+ 0 // значение по умолчанию
};
/*************************************
@@ -935,7 +935,7 @@ TDataDescStruct const CashLevelDesc = {
DATA_IS_INDEX, // признак индексного параметра (список строк)
LevelList, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
- 1 // значение по умолчанию
+ 0 // значение по умолчанию
};
/*************************************
@@ -956,7 +956,7 @@ TDataDescStruct const BankLevelDesc = {
DATA_IS_INDEX, // признак индексного параметра (список строк)
LevelList, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
- 1 // значение по умолчанию
+ 0 // значение по умолчанию
};
/*************************************
@@ -977,7 +977,7 @@ TDataDescStruct const CoinLevelDesc = {
DATA_IS_INDEX, // признак индексного параметра (список строк)
LevelList, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
- 1 // значение по умолчанию
+ 0 // значение по умолчанию
};
/*************************************
@@ -1049,7 +1049,7 @@ TDataDescStruct const EnableFiscalDesc = {
DATA_IS_INDEX, // признак индексного параметра (список строк)
EnableFiscalList, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
- 1
+ 0
};
/*************************************
diff --git a/PROJECT/services/coin.c b/PROJECT/services/coin.c
index b1d8fa2..d112313 100644
--- a/PROJECT/services/coin.c
+++ b/PROJECT/services/coin.c
@@ -11,9 +11,9 @@ OS_STK CoinTaskStk[COIN_TASK_STK_SIZE];
void InitImpInput(void);
-CPU_INT32U CoinImpCounter[COUNT_POST + COUNT_VACUUM];
-CPU_INT32U CashImpCounter[COUNT_POST + COUNT_VACUUM];
-CPU_INT32U BankImpCounter[COUNT_POST + COUNT_VACUUM];
+static CPU_INT32U CoinImpCounter[COUNT_POST + COUNT_VACUUM];
+static CPU_INT32U CashImpCounter[COUNT_POST + COUNT_VACUUM];
+static CPU_INT32U BankImpCounter[COUNT_POST + COUNT_VACUUM];
static CPU_INT32U coin_pulse[COUNT_POST + COUNT_VACUUM];
static CPU_INT32U coin_pause[COUNT_POST + COUNT_VACUUM];
@@ -35,12 +35,12 @@ static char pend_upsignal_counter[COUNT_POST + COUNT_VACUUM];
static char pend_downsignal_counter[COUNT_POST + COUNT_VACUUM];
static CPU_INT32U pend_signal_timestamp[COUNT_POST + COUNT_VACUUM];
-CPU_INT32U cashLevel[COUNT_POST + COUNT_VACUUM];
-CPU_INT32U coinLevel[COUNT_POST + COUNT_VACUUM];
-CPU_INT32U SignalLevel[COUNT_POST + COUNT_VACUUM];
-CPU_INT32U bankLevel[COUNT_POST + COUNT_VACUUM];
+static CPU_INT32U cashLevel[COUNT_POST + COUNT_VACUUM];
+static CPU_INT32U coinLevel[COUNT_POST + COUNT_VACUUM];
+static CPU_INT32U SignalLevel[COUNT_POST + COUNT_VACUUM];
+static CPU_INT32U bankLevel[COUNT_POST + COUNT_VACUUM];
-void SetCashPulseParam(CPU_INT32U pulse, CPU_INT32U pause, CPU_INT32U post)
+void SetCoinPulseParam(CPU_INT32U pulse, CPU_INT32U pause, CPU_INT32U post)
{
#if OS_CRITICAL_METHOD == 3
OS_CPU_SR cpu_sr = 0;
@@ -51,7 +51,7 @@ void SetCashPulseParam(CPU_INT32U pulse, CPU_INT32U pause, CPU_INT32U post)
OS_EXIT_CRITICAL();
}
-void SetCoinPulseParam(CPU_INT32U pulse, CPU_INT32U pause, CPU_INT32U post)
+void SetCashPulseParam(CPU_INT32U pulse, CPU_INT32U pause, CPU_INT32U post)
{
#if OS_CRITICAL_METHOD == 3
OS_CPU_SR cpu_sr = 0;
@@ -101,22 +101,22 @@ void SetLevelParam(CPU_INT32U level1, CPU_INT32U level2, CPU_INT32U level3, CPU_
OS_EXIT_CRITICAL();
}
+static CPU_INT32U enable_coin[COUNT_POST + COUNT_VACUUM];
+static CPU_INT32U cash_enable[COUNT_POST];
+static CPU_INT32U enable_signal[COUNT_POST];
+static CPU_INT32U bank_enable[COUNT_POST];
+
+static CPU_INT32U last_coin_count[COUNT_POST];
+static CPU_INT32U last_coin_time[COUNT_POST];
+
+static CPU_INT32U last_cash_count[COUNT_POST];
+static CPU_INT32U last_cash_time[COUNT_POST];
+
+static CPU_INT32U last_bank_count[COUNT_POST];
+static CPU_INT32U last_bank_time[COUNT_POST];
+
void CoinTask(void *p_arg)
{
- CPU_INT32U enable_coin[COUNT_POST + COUNT_VACUUM];
- CPU_INT32U cash_enable[COUNT_POST];
- CPU_INT32U enable_signal[COUNT_POST];
- CPU_INT32U bank_enable[COUNT_POST];
-
- CPU_INT32U last_coin_count[COUNT_POST];
- CPU_INT32U last_coin_time[COUNT_POST];
-
- CPU_INT32U last_cash_count[COUNT_POST];
- CPU_INT32U last_cash_time[COUNT_POST];
-
- CPU_INT32U last_bank_count[COUNT_POST];
- CPU_INT32U last_bank_time[COUNT_POST];
-
CPU_INT32U last_settings_time = 0;
while(1)
@@ -532,9 +532,9 @@ CPU_INT32U input_register()
return input;
}
-CPU_INT32U input_event = 0;
-CPU_INT32U prev_input = 0;
-CPU_INT32U curr_input = 0;
+static CPU_INT32U input_event = 0;
+static CPU_INT32U prev_input = 0;
+static CPU_INT32U curr_input = 0;
void InputCapture_ISR(void)
{
@@ -1262,6 +1262,8 @@ void InitInputPorts()
else PINMODE0_bit.P0_1 = 0;
FIO0DIR_bit.P0_1 = 0;
FIO0MASK_bit.P0_1 = 0;
+
+ prev_input = curr_input = input_register();
}
// инициализация импульсных входов
@@ -1311,8 +1313,6 @@ void InitImpInput (void)
VICINTENABLE = (1 << VIC_TIMER3);
T3IR = 0xFF;
-
- prev_input = curr_input = input_register();
OS_EXIT_CRITICAL();
}
diff --git a/settings/sk-mlpc2368.dni b/settings/sk-mlpc2368.dni
index 5bac420..3e3fb48 100644
--- a/settings/sk-mlpc2368.dni
+++ b/settings/sk-mlpc2368.dni
@@ -14,7 +14,7 @@ Count=0
Enabled=0
ShowSource=1
[DebugChecksum]
-Checksum=-853996095
+Checksum=839030362
[Exceptions]
StopOnUncaught=_ 0
StopOnThrow=_ 0
diff --git a/settings/sk-mlpc2368.wsdt b/settings/sk-mlpc2368.wsdt
index 140a3fc..d100434 100644
--- a/settings/sk-mlpc2368.wsdt
+++ b/settings/sk-mlpc2368.wsdt
@@ -18,7 +18,7 @@
- 202272727
+ 157272727
44062754221219
@@ -52,14 +52,14 @@
- TextEditor$WS_DIR$\OS\app\app_cfg.h005858TextEditor$WS_DIR$\..\..\8\positive_6_24\OS\app\app.c02614311431TextEditor$WS_DIR$\PROJECT\services\console.c010933323332TextEditor$WS_DIR$\OS\uc\lib\lib_def.h011159735981TextEditor$WS_DIR$\PROJECT\services\time.c081625625TextEditor$WS_DIR$\PROJECT\services\mode.c028763763TextEditor$WS_DIR$\PROJECT\app\app_serv.h05820912091TextEditor$WS_DIR$\PROJECT\app\journal.h03437643785TextEditor$WS_DIR$\PROJECT\data\datadesc.h03503526TextEditor$WS_DIR$\PROJECT\drivers\fiscal\fiscal.h03421786617866TextEditor$WS_DIR$\PROJECT\services\fr.h00348348TextEditor$WS_DIR$\OS\uc\os_ii\source\os_core.c013595689856898TextEditor$WS_DIR$\PROJECT\menu\menudesc.c011514628046280TextEditor$WS_DIR$\PROJECT\app\app_serv.c03691159311593TextEditor$WS_DIR$\PROJECT\drivers\fiscal\fiscal.c06951805818058TextEditor$WS_DIR$\PROJECT\services\fr.c03901206712067TextEditor$WS_DIR$\PROJECT\services\coin.h03390390TextEditor$WS_DIR$\OS\app\app.c02711311131TextEditor$WS_DIR$\PROJECT\menu\menudesc.h02613901532TextEditor$WS_DIR$\PROJECT\data\data.c011535403540TextEditor$WS_DIR$\PROJECT\menu\menu.c04911513515135TextEditor$WS_DIR$\PROJECT\data\datadesc.c022149956099560TextEditor$WS_DIR$\PROJECT\services\coin.c0962234112341622TextEditor$WS_DIR$\PROJECT\drivers\keyboard\keyboard.h00420429TextEditor$WS_DIR$\PROJECT\app\journal.c010931023102TextEditor$WS_DIR$\PROJECT\data\fram_map.h062992990100000010000001
+ TextEditor$WS_DIR$\OS\app\app_cfg.h005858TextEditor$WS_DIR$\..\..\8\positive_6_24\OS\app\app.c02614311431TextEditor$WS_DIR$\OS\uc\lib\lib_def.h011159735981TextEditor$WS_DIR$\PROJECT\services\time.c081625625TextEditor$WS_DIR$\PROJECT\services\mode.c028763763TextEditor$WS_DIR$\PROJECT\drivers\fiscal\fiscal.h03421786617866TextEditor$WS_DIR$\PROJECT\services\fr.h00348348TextEditor$WS_DIR$\PROJECT\menu\menudesc.c011514628046280TextEditor$WS_DIR$\PROJECT\app\app_serv.c06982265422654TextEditor$WS_DIR$\PROJECT\drivers\fiscal\fiscal.c06951805818058TextEditor$WS_DIR$\PROJECT\services\fr.c03901177111771TextEditor$WS_DIR$\PROJECT\services\coin.h03390390TextEditor$WS_DIR$\PROJECT\menu\menudesc.h02613901532TextEditor$WS_DIR$\PROJECT\data\data.c011535403540TextEditor$WS_DIR$\PROJECT\menu\menu.c04911513515135TextEditor$WS_DIR$\PROJECT\data\datadesc.c02413081308TextEditor$WS_DIR$\PROJECT\services\coin.c04228132813TextEditor$WS_DIR$\PROJECT\drivers\keyboard\keyboard.h00420429TextEditor$WS_DIR$\PROJECT\app\journal.c010931023102TextEditor$WS_DIR$\PROJECT\data\fram_map.h03547561TextEditor$WS_DIR$\PROJECT\app\app_serv.h00777777TextEditor$WS_DIR$\PROJECT\app\journal.h08444024402TextEditor$WS_DIR$\PROJECT\data\datadesc.h03236248TextEditor$WS_DIR$\OS\app\app.c0871659165923TextEditor$WS_DIR$\OS\uc\os_ii\source\os_core.c0135956869568690100000010000001
- iaridepm.enu1-2-2710293-2-2254205198438215563230469748686-2-21961282-2-212841981003125208202198438215563
+ iaridepm.enu1-2-2710248-2-2254205198438215563195313748686-2-21961282-2-212841981003125208202198438215563
diff --git a/sk-mlpc2368.dep b/sk-mlpc2368.dep
index 7f84a86..acfc471 100644
--- a/sk-mlpc2368.dep
+++ b/sk-mlpc2368.dep
@@ -862,10 +862,6 @@
-
- BICOMP
- 64 18 7 9 45 10 78 1 11 50 88 68 51 80 71 48 84 92 16 61 30 12 22 38 40 52 43 91 77 83 67 65 56 89 46 62 59
-
ICCARM
64 18 7 9 45 10 78 1 11 50 88 68 51 80 71 48 84 92 16 61 30 12 22 38 40 52 43 91 77 83 67 65 56 89 46 62 59