mirror of
https://github.com/dimoniche/solarium.vlad.git
synced 2026-01-30 04:53:30 +03:00
Ограничение добавили
This commit is contained in:
parent
766505b914
commit
0da9014b61
@ -2305,6 +2305,19 @@ void UserPrintPaymentErrorMenu(void)
|
||||
PrintUserMenuStr(buf, 3);
|
||||
}
|
||||
|
||||
void UserPrintAbonementPaymentErrorMenu(void)
|
||||
{
|
||||
char buf[32];
|
||||
sprintf(buf, " ");
|
||||
PrintUserMenuStr(buf, 0);
|
||||
sprintf(buf, " Ïî ıòîé ÊÀĞÒÅ ÇÀÃÀĞÀ");
|
||||
PrintUserMenuStr(buf, 1);
|
||||
sprintf(buf, " ñåãîäíÿ ïîñåùåíèÿ");
|
||||
PrintUserMenuStr(buf, 2);
|
||||
sprintf(buf, " èñ÷åğïàíû");
|
||||
PrintUserMenuStr(buf, 3);
|
||||
}
|
||||
|
||||
int ChannelBusy(CPU_INT08U ch)
|
||||
{
|
||||
CPU_INT32U ch_en = 0;
|
||||
|
||||
@ -76,6 +76,8 @@ typedef struct
|
||||
#define USER_MENU_ABONENT_PROCESSING 43
|
||||
#define USER_MENU_ABONENT_WRONG 44
|
||||
|
||||
#define USER_MENU_ABONEMENT_FAIL 45
|
||||
|
||||
///
|
||||
#define USER_MENU_ERROR 255
|
||||
|
||||
@ -327,6 +329,7 @@ extern void SetAcceptedMoney(CPU_INT32U money);
|
||||
extern void PrintCardBill(void);
|
||||
extern void UserPrintTerminalRequestMenu();
|
||||
extern void UserPrintPaymentErrorMenu(void);
|
||||
extern void UserPrintAbonementPaymentErrorMenu(void);
|
||||
extern void UserPrintResultMenu(void);
|
||||
|
||||
#endif //#ifndef _APP_SERV_H_
|
||||
|
||||
@ -1035,7 +1035,8 @@ void AppVladEventProcess(CPU_INT32U event)
|
||||
{
|
||||
TRTC_Data rtc_data_currnet, rtc_data_abonement;
|
||||
uint32_t time_current = GetTimeSec();
|
||||
uint8_t count_use = 0;
|
||||
uint32_t count_use = 0;
|
||||
GetData(&CountUseAbonementDesc, &count_use, 0, DATA_FLAG_SYSTEM_INDEX);
|
||||
|
||||
Sec2Date(&rtc_data_currnet, time_current);
|
||||
Sec2Date(&rtc_data_abonement, data->fileds.time_use);
|
||||
@ -1050,7 +1051,14 @@ void AppVladEventProcess(CPU_INT32U event)
|
||||
&& data->fileds.count_use >= count_use)
|
||||
{
|
||||
// ñåãîäíÿ îïëàòà óæå áûëà óêàçàííîå êîëè÷åñòâî ðàç - óõîäèì â îøèáêó
|
||||
UserPrintAbonementPaymentErrorMenu();
|
||||
RefreshMenu();
|
||||
app_state.user_menu = USER_MENU_ABONEMENT_FAIL;
|
||||
app_state.menu_timeout = MENU_CARD_FAIL_TIMEOUT;
|
||||
|
||||
write_mifare_card();
|
||||
stop_card_working();
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1419,6 +1427,18 @@ void AppVladEventProcess(CPU_INT32U event)
|
||||
app_state.menu_timeout--;
|
||||
}
|
||||
}
|
||||
else if (app_state.user_menu == USER_MENU_ABONEMENT_FAIL)
|
||||
{
|
||||
if (!app_state.menu_timeout)
|
||||
{
|
||||
PostUserEvent(EVENT_KEY_CANSEL);
|
||||
}
|
||||
else
|
||||
{
|
||||
UserPrintAbonementPaymentErrorMenu();
|
||||
app_state.menu_timeout--;
|
||||
}
|
||||
}
|
||||
else if (app_state.user_menu == USER_MENU_ERROR_BANK_CARD)
|
||||
{
|
||||
if (!app_state.menu_timeout)
|
||||
@ -2386,6 +2406,7 @@ void AppVladEventProcess(CPU_INT32U event)
|
||||
|| app_state.user_menu == USER_MENU_BRILLANCE_BONUS
|
||||
|| app_state.user_menu == USER_MENU_ERROR_BANK_CARD
|
||||
|| app_state.user_menu == USER_MENU_FINISH_PAY_BONUS_CARD
|
||||
|| app_state.user_menu == USER_MENU_ABONEMENT_FAIL
|
||||
)
|
||||
{
|
||||
app_state.user_menu = USER_MENU_IDLE;
|
||||
|
||||
@ -697,6 +697,34 @@ TDataDescStruct const EnableAbonementDesc = {
|
||||
0
|
||||
};
|
||||
|
||||
/*************************************
|
||||
Êîëè÷åñòâî èñïîëüçîâàíèé àáîíåìåíòà â äåíü
|
||||
*************************************/
|
||||
TRangeValueULONG const CountUseAbonementRange = {1, 9};
|
||||
CPU_INT08U const CountUseAbonementName[] = "Êîë.èñïîëüç.";
|
||||
|
||||
void OnchangeCountUseAbonement(void)
|
||||
{
|
||||
}
|
||||
|
||||
TDataDescStruct const CountUseAbonementDesc = {
|
||||
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||||
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||||
0, // ðàçìåð ìàññèâà
|
||||
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||||
(void*)offsetof(TFramMap, DeviceConfig.CountUseAbonement), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||||
(void*)&CountUseAbonementRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||||
OnchangeCountUseAbonement, // ôóíêöèÿ ïî èçìåíåíèþ
|
||||
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||||
CountUseAbonementName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||||
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||||
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||||
DATA_INIT_ENABLE,
|
||||
2
|
||||
};
|
||||
|
||||
/*************************************
|
||||
Êîìàíäà íà î÷èñòêó ñòàòèñòèêè àáîíåìåíòîâ
|
||||
*************************************/
|
||||
@ -7468,6 +7496,7 @@ char const PostPauseLenCostDescId[] = "PostPauseLenCostDesc";
|
||||
char const AbonementMoneyDescId[] = "AbonementMoneyDesc";
|
||||
char const AbonementBonusDescId[] = "AbonementBonusDesc";
|
||||
char const AbonementBestBeforeDescId[] = "AbonementBestBeforeDesc";
|
||||
char const CountUseAbonementDescId[] = "CountUseAbonementDesc";
|
||||
|
||||
#if defined(BOARD_SOLARIUM_WEB)
|
||||
char const SolariumTypeDescId[] = "SolariumTypeDescId";
|
||||
@ -7708,6 +7737,7 @@ const TDataDescArrayStruct AllDataArray[] =
|
||||
{&AbonementMoneyDesc, AbonementMoneyDescId},
|
||||
{&AbonementBonusDesc, AbonementBonusDescId},
|
||||
{&AbonementBestBeforeDesc, AbonementBestBeforeDescId},
|
||||
{&CountUseAbonementDesc, CountUseAbonementDescId},
|
||||
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
@ -77,6 +77,7 @@ typedef struct{
|
||||
CPU_INT32U EnableValidator;
|
||||
CPU_INT32U EnableCoinAcceptor;
|
||||
CPU_INT32U EnableAbonementAcceptor;
|
||||
CPU_INT32U CountUseAbonement;
|
||||
CPU_INT32U EnableModem;
|
||||
CPU_INT32U EnableFiscal;
|
||||
CPU_INT32U EnableFiscalDayClear;
|
||||
@ -142,6 +143,7 @@ extern TDataDescStruct const T_End_WeekendDesc;
|
||||
extern TDataDescStruct const EnableFiscalDesc;
|
||||
extern TDataDescStruct const EnableCoinDesc;
|
||||
extern TDataDescStruct const EnableAbonementDesc;
|
||||
extern TDataDescStruct const CountUseAbonementDesc;
|
||||
extern TDataDescStruct const ClearStatAbonementCmdDesc;
|
||||
extern TDataDescStruct const AbonementCounterIndexDesc;
|
||||
extern TDataDescStruct const EnableModemDesc;
|
||||
|
||||
@ -1577,14 +1577,21 @@ const TMenuLine line_AbonementMenuSet_1 = {
|
||||
};
|
||||
|
||||
const TMenuLine line_AbonementMenuSet_2 = {
|
||||
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
|
||||
0, // äîï. ôëàãè
|
||||
(void*)&CountUseAbonementDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
|
||||
NULL // ïàíåëü äëÿ ïåðåõîäà
|
||||
};
|
||||
|
||||
const TMenuLine line_AbonementMenuSet_3 = {
|
||||
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
|
||||
0, // äîï. ôëàãè
|
||||
(void*)&ClearStatAbonementCmdDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
|
||||
NULL // ïàíåëü äëÿ ïåðåõîäà
|
||||
};
|
||||
|
||||
const TMenuLineArray arr_AbonementMenuArray[] = {&line_AbonementMenuSet_0, &line_AbonementMenuSet_1, &line_AbonementMenuSet_2, NULL};
|
||||
const TMenuPanel AbonementSetupPanel[] = {arr_AbonementMenuArray, NULL, 3, MENU_PANEL_STANDARD};
|
||||
const TMenuLineArray arr_AbonementMenuArray[] = {&line_AbonementMenuSet_0, &line_AbonementMenuSet_1, &line_AbonementMenuSet_2, &line_AbonementMenuSet_2, NULL};
|
||||
const TMenuPanel AbonementSetupPanel[] = {arr_AbonementMenuArray, NULL, 4, MENU_PANEL_STANDARD};
|
||||
|
||||
/***********************************
|
||||
ÌÅÍÞ ÍÀÑÒÐÎÉÊÀ ÌÎÄÅÌÀ
|
||||
|
||||
@ -25,7 +25,7 @@ if not "%~1" == "" goto debugFile
|
||||
|
||||
@echo on
|
||||
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
|
||||
@echo off
|
||||
goto end
|
||||
@ -34,7 +34,7 @@ goto end
|
||||
|
||||
@echo on
|
||||
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" "--debug_file=%~1" --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" "--debug_file=%~1" --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
|
||||
@echo off
|
||||
:end
|
||||
@ -23,9 +23,9 @@
|
||||
|
||||
if ($debugfile -eq "")
|
||||
{
|
||||
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
}
|
||||
else
|
||||
{
|
||||
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --debug_file=$debugfile --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --debug_file=$debugfile --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\arm\bin\armJLINK.dll"
|
||||
|
||||
"C:\git_work\solarium.vlad\Solarium Vlad\Exe\sk_mlpc2368.out"
|
||||
"C:\work\solarium.vlad\Solarium Vlad\Exe\sk_mlpc2368.out"
|
||||
|
||||
--plugin="C:\Program Files\IAR Systems\Embedded Workbench 9.0\arm\bin\armbat.dll"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
2960
sk-mlpc2368.dep
2960
sk-mlpc2368.dep
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user