mirror of
https://github.com/dimoniche/solarium.vlad.git
synced 2026-01-30 04:53:30 +03:00
Логику пополнения сделал - нужно отлаживать
This commit is contained in:
parent
df80c00425
commit
87c92d65e0
@ -58,6 +58,7 @@ typedef struct
|
|||||||
///
|
///
|
||||||
#define USER_MENU_SELECT_SERVICE_TIME 21
|
#define USER_MENU_SELECT_SERVICE_TIME 21
|
||||||
|
|
||||||
|
// ìåíþ äëÿ êàðòî÷íîé ñèñòåìû
|
||||||
#define USER_MENU_WAIT_CARD 30
|
#define USER_MENU_WAIT_CARD 30
|
||||||
#define USER_MENU_BALANCE_CARD 31
|
#define USER_MENU_BALANCE_CARD 31
|
||||||
#define USER_MENU_START_INSERT_CARD_MONEY 32
|
#define USER_MENU_START_INSERT_CARD_MONEY 32
|
||||||
@ -68,8 +69,9 @@ typedef struct
|
|||||||
#define USER_MENU_BRILLANCE_BONUS 37
|
#define USER_MENU_BRILLANCE_BONUS 37
|
||||||
#define USER_MENU_START_PAY_CARD 38
|
#define USER_MENU_START_PAY_CARD 38
|
||||||
#define USER_MENU_INSERT_BANK_CARD 39
|
#define USER_MENU_INSERT_BANK_CARD 39
|
||||||
#define USER_MENU_INSERT_BONUS_CARD 40
|
#define USER_MENU_ERROR_BANK_CARD 40
|
||||||
#define USER_MENU_FINISH_PAY_BONUS_CARD 41
|
#define USER_MENU_INSERT_BONUS_CARD 41
|
||||||
|
#define USER_MENU_FINISH_PAY_BONUS_CARD 42
|
||||||
|
|
||||||
///
|
///
|
||||||
#define USER_MENU_ERROR 255
|
#define USER_MENU_ERROR 255
|
||||||
@ -120,6 +122,17 @@ typedef struct
|
|||||||
#define SOLAR_IN_SERVICE 1
|
#define SOLAR_IN_SERVICE 1
|
||||||
#define SOLAR_IN_TEST 2
|
#define SOLAR_IN_TEST 2
|
||||||
|
|
||||||
|
CPU_INT32U last_card_manipulation_time;
|
||||||
|
#define MENU_CARD_MANIPULATION_TIMEOUT_MS 10000
|
||||||
|
|
||||||
|
CPU_INT08U current_abonement;
|
||||||
|
#define SILVER_ABONEMENT 0
|
||||||
|
#define GOLD_ABONEMENT 1
|
||||||
|
#define PLATINUM_ABONEMENT 2
|
||||||
|
#define DIAMOND_ABONEMENT 3
|
||||||
|
|
||||||
|
CPU_INT32U abonementtopay;
|
||||||
|
|
||||||
} ApplicationState;
|
} ApplicationState;
|
||||||
extern ApplicationState app_state;
|
extern ApplicationState app_state;
|
||||||
#endif
|
#endif
|
||||||
@ -279,6 +292,10 @@ enum{
|
|||||||
#elif defined(BOARD_CENTRAL_CARWASH)
|
#elif defined(BOARD_CENTRAL_CARWASH)
|
||||||
EVENT_REREAD_SIGNAL_LEVEL,
|
EVENT_REREAD_SIGNAL_LEVEL,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(BOARD_SOLARIUM_VLAD)
|
||||||
|
EVENT_FINISH_PAYMENT_ABONEMENT,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#define EVENT_KEY_LEFT EVENT_KEY_POST2
|
#define EVENT_KEY_LEFT EVENT_KEY_POST2
|
||||||
|
|||||||
@ -41,7 +41,7 @@ void PrintHelloMenu(void);
|
|||||||
void PrintStartReadCardMenu(void);
|
void PrintStartReadCardMenu(void);
|
||||||
void PrintBalanceMenu(void);
|
void PrintBalanceMenu(void);
|
||||||
void PrintMenuStartPay(void);
|
void PrintMenuStartPay(void);
|
||||||
void PrintMenuAllPrice(void);
|
void PrintMenuAllPrice(CPU_INT08U blink);
|
||||||
void PrintSilverMenu(void);
|
void PrintSilverMenu(void);
|
||||||
void PrintGoldMenu(void);
|
void PrintGoldMenu(void);
|
||||||
void PrintPlatMenu(void);
|
void PrintPlatMenu(void);
|
||||||
@ -749,7 +749,7 @@ void AppVladEventProcess(CPU_INT32U event)
|
|||||||
if (picc_is_new_card_present() ) {
|
if (picc_is_new_card_present() ) {
|
||||||
// Select one of the cards
|
// Select one of the cards
|
||||||
if (picc_read_card_serial()) {
|
if (picc_read_card_serial()) {
|
||||||
|
if(read_mifare_card() != NULL) {
|
||||||
if(is_empty_mifare_card()) {
|
if(is_empty_mifare_card()) {
|
||||||
init_mifare_card_data();
|
init_mifare_card_data();
|
||||||
|
|
||||||
@ -758,9 +758,6 @@ void AppVladEventProcess(CPU_INT32U event)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(read_mifare_card() != NULL) {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -771,11 +768,14 @@ void AppVladEventProcess(CPU_INT32U event)
|
|||||||
// Look for new cards
|
// Look for new cards
|
||||||
if (picc_is_new_card_present() ) {
|
if (picc_is_new_card_present() ) {
|
||||||
|
|
||||||
|
// ìåíþ ñòàðòà ÷òåíèÿ êàðòû
|
||||||
PrintStartReadCardMenu();
|
PrintStartReadCardMenu();
|
||||||
RefreshMenu();
|
RefreshMenu();
|
||||||
|
PlayMusicFile(40);
|
||||||
|
|
||||||
// Select one of the cards
|
// Select one of the cards
|
||||||
if (picc_read_card_serial()) {
|
if (picc_read_card_serial()) {
|
||||||
|
if(read_mifare_card() != NULL) {
|
||||||
if(is_empty_mifare_card()) {
|
if(is_empty_mifare_card()) {
|
||||||
init_mifare_card_data();
|
init_mifare_card_data();
|
||||||
|
|
||||||
@ -785,10 +785,41 @@ void AppVladEventProcess(CPU_INT32U event)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(read_mifare_card() != NULL) {
|
|
||||||
|
if(app_state.user_menu == USER_MENU_IDLE)
|
||||||
|
{
|
||||||
|
// íóæíî ïîêàçàòü áàëàíñ
|
||||||
|
app_state.last_card_manipulation_time = OSTimeGet();
|
||||||
|
|
||||||
app_state.user_menu = USER_MENU_BALANCE_CARD;
|
app_state.user_menu = USER_MENU_BALANCE_CARD;
|
||||||
|
PrintBalanceMenu();
|
||||||
|
RefreshMenu();
|
||||||
|
PlayMusicFile(41);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
app_state.user_menu = USER_MENU_IDLE;
|
app_state.user_menu = USER_MENU_IDLE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(app_state.user_menu == USER_MENU_INSERT_BONUS_CARD) {
|
||||||
|
// ïîïîëíÿåì êàðòó
|
||||||
|
mifaredata_t* data = get_mifare_data();
|
||||||
|
|
||||||
|
//data->money =
|
||||||
|
//data->bonus =
|
||||||
|
//data->best_before =
|
||||||
|
|
||||||
|
if(!write_mifare_card())
|
||||||
|
{
|
||||||
|
app_state.user_menu = USER_MENU_IDLE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
app_state.user_menu = USER_MENU_FINISH_PAY_BONUS_CARD;
|
||||||
|
PrintFinishPayMenu();
|
||||||
|
RefreshMenu();
|
||||||
|
PlayMusicFile(52);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
app_state.user_menu = USER_MENU_IDLE;
|
app_state.user_menu = USER_MENU_IDLE;
|
||||||
@ -825,7 +856,24 @@ void AppVladEventProcess(CPU_INT32U event)
|
|||||||
}
|
}
|
||||||
else if(app_state.user_menu == USER_MENU_BALANCE_CARD)
|
else if(app_state.user_menu == USER_MENU_BALANCE_CARD)
|
||||||
{
|
{
|
||||||
PrintBalanceMenu();
|
if (OSTimeGet() - app_state.last_card_manipulation_time > MENU_KEY_PRESS_TIMEOUT_MS)
|
||||||
|
{
|
||||||
|
app_state.user_menu = USER_MENU_IDLE;
|
||||||
|
app_state.ch_index = 0;
|
||||||
|
app_state.mode_index = 0;
|
||||||
|
app_state.pay_index = 0;
|
||||||
|
app_state.current_abonement = 0;
|
||||||
|
PrintHelloMenu();
|
||||||
|
RefreshMenu();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(app_state.user_menu == USER_MENU_START_INSERT_CARD_MONEY)
|
||||||
|
{
|
||||||
|
//PrintMenuStartPay();
|
||||||
|
}
|
||||||
|
else if(app_state.user_menu == USER_MENU_ALL_PRICE)
|
||||||
|
{
|
||||||
|
//PrintMenuAllPrice(app_state.blink_ctr >= 500);
|
||||||
}
|
}
|
||||||
else if (app_state.user_menu == USER_MENU_WARNING_1)
|
else if (app_state.user_menu == USER_MENU_WARNING_1)
|
||||||
{
|
{
|
||||||
@ -853,6 +901,7 @@ void AppVladEventProcess(CPU_INT32U event)
|
|||||||
app_state.ch_index = 0;
|
app_state.ch_index = 0;
|
||||||
app_state.mode_index = 0;
|
app_state.mode_index = 0;
|
||||||
app_state.pay_index = 0;
|
app_state.pay_index = 0;
|
||||||
|
app_state.current_abonement = 0;
|
||||||
PrintHelloMenu();
|
PrintHelloMenu();
|
||||||
RefreshMenu();
|
RefreshMenu();
|
||||||
}
|
}
|
||||||
@ -910,6 +959,34 @@ void AppVladEventProcess(CPU_INT32U event)
|
|||||||
RefreshMenu();
|
RefreshMenu();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (app_state.user_menu == USER_MENU_INSERT_BANK_CARD) // åñëè â ìåíþ ïðèåìà áàíêîâñêîé êàðòû äëÿ àáîíåìåíòà
|
||||||
|
{
|
||||||
|
CheckFiscalStatus();
|
||||||
|
if (GetTermState() == TERM_STATE_DONE_PUR)
|
||||||
|
{
|
||||||
|
/// ïå÷àòü ÷åêà òåðìèíàëà
|
||||||
|
SetTermCommand(TERM_COMMAND_CLEAR_STATE, NULL);
|
||||||
|
SetAcceptedMoney(app_state.abonementtopay);
|
||||||
|
SaveEventRecord(app_state.current_abonement, JOURNAL_EVENT_CARD_ACCEPTED, app_state.abonementtopay);
|
||||||
|
if (term_protocol() == TERMINAL_PROTOCOL_TTK2) PrintCardBill();
|
||||||
|
app_state.user_menu = USER_MENU_INSERT_BONUS_CARD;
|
||||||
|
PostUserEvent(EVENT_FINISH_PAYMENT_ABONEMENT);
|
||||||
|
}
|
||||||
|
else if (GetTermState() == TERM_STATE_ERR_PUR)
|
||||||
|
{
|
||||||
|
SetTermCommand(TERM_COMMAND_CLEAR_STATE, NULL);
|
||||||
|
SaveEventRecord(app_state.current_abonement, JOURNAL_EVENT_CARD_REJECTED, 0);
|
||||||
|
PrintAnotherCardMenu();
|
||||||
|
RefreshMenu();
|
||||||
|
app_state.user_menu = USER_MENU_ERROR_BANK_CARD;
|
||||||
|
app_state.menu_timeout = MENU_CARD_FAIL_TIMEOUT;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PrintInsertBankCardMenu();
|
||||||
|
RefreshMenu();
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (app_state.user_menu == USER_MENU_SHOW_THANKS)
|
else if (app_state.user_menu == USER_MENU_SHOW_THANKS)
|
||||||
{
|
{
|
||||||
if (!app_state.menu_timeout)
|
if (!app_state.menu_timeout)
|
||||||
@ -983,6 +1060,18 @@ void AppVladEventProcess(CPU_INT32U event)
|
|||||||
app_state.menu_timeout--;
|
app_state.menu_timeout--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (app_state.user_menu == USER_MENU_ERROR_BANK_CARD)
|
||||||
|
{
|
||||||
|
if (!app_state.menu_timeout)
|
||||||
|
{
|
||||||
|
PostUserEvent(EVENT_KEY_CANSEL);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PrintAnotherCardMenu();
|
||||||
|
app_state.menu_timeout--;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case EVENT_KEY_START:
|
case EVENT_KEY_START:
|
||||||
@ -1051,6 +1140,67 @@ void AppVladEventProcess(CPU_INT32U event)
|
|||||||
RefreshMenu();
|
RefreshMenu();
|
||||||
PlayMusicFile(2);
|
PlayMusicFile(2);
|
||||||
}
|
}
|
||||||
|
else if(app_state.user_menu == USER_MENU_BALANCE_CARD)
|
||||||
|
{
|
||||||
|
// ïðåäëîæèì ïîïîëíèòü êàðòó
|
||||||
|
app_state.user_menu = USER_MENU_START_INSERT_CARD_MONEY;
|
||||||
|
|
||||||
|
PrintMenuStartPay();
|
||||||
|
RefreshMenu();
|
||||||
|
PlayMusicFile(42);
|
||||||
|
}
|
||||||
|
else if(app_state.user_menu == USER_MENU_START_INSERT_CARD_MONEY)
|
||||||
|
{
|
||||||
|
// ïîêàæåì ïîëíûé ïðàéñ
|
||||||
|
app_state.user_menu = USER_MENU_ALL_PRICE;
|
||||||
|
|
||||||
|
PrintMenuAllPrice(app_state.blink_ctr >= 500);
|
||||||
|
RefreshMenu();
|
||||||
|
PlayMusicFile(43);
|
||||||
|
}
|
||||||
|
else if(app_state.user_menu == USER_MENU_START_INSERT_CARD_MONEY)
|
||||||
|
{
|
||||||
|
app_state.user_menu = USER_MENU_SILVER_BONUS + app_state.current_abonement;
|
||||||
|
|
||||||
|
// ïîëó÷èì ñóììó îïëàòû
|
||||||
|
// app_state.abonementtopay =
|
||||||
|
|
||||||
|
// âûáðàëè àáîíåìåíò
|
||||||
|
if(app_state.current_abonement == SILVER_ABONEMENT) {
|
||||||
|
PrintSilverMenu();
|
||||||
|
} else if(app_state.current_abonement == GOLD_ABONEMENT) {
|
||||||
|
PrintGoldMenu();
|
||||||
|
} else if(app_state.current_abonement == PLATINUM_ABONEMENT) {
|
||||||
|
PrintPlatMenu();
|
||||||
|
} else if(app_state.current_abonement == DIAMOND_ABONEMENT) {
|
||||||
|
PrintDiamondMenu();
|
||||||
|
}
|
||||||
|
|
||||||
|
RefreshMenu();
|
||||||
|
PlayMusicFile(44 + app_state.current_abonement);
|
||||||
|
}
|
||||||
|
else if(app_state.user_menu == USER_MENU_SILVER_BONUS
|
||||||
|
|| app_state.user_menu == USER_MENU_GOLD_BONUS
|
||||||
|
|| app_state.user_menu == USER_MENU_PLATINUM_BONUS
|
||||||
|
|| app_state.user_menu == USER_MENU_BRILLANCE_BONUS
|
||||||
|
)
|
||||||
|
{
|
||||||
|
app_state.user_menu = USER_MENU_START_PAY_CARD;
|
||||||
|
|
||||||
|
PrintStartPayCardMenu();
|
||||||
|
RefreshMenu();
|
||||||
|
PlayMusicFile(48);
|
||||||
|
}
|
||||||
|
else if(app_state.user_menu == USER_MENU_START_PAY_CARD)
|
||||||
|
{
|
||||||
|
uint32_t param[TERM_PARAM_COUNT];
|
||||||
|
param[0] = app_state.abonementtopay;
|
||||||
|
SetTermCommand(TERM_COMMAND_PEND_PUR, param);
|
||||||
|
app_state.user_menu = USER_MENU_INSERT_BANK_CARD;
|
||||||
|
PrintInsertBankCardMenu();
|
||||||
|
RefreshMenu();
|
||||||
|
//PlayMusicFile(49);
|
||||||
|
}
|
||||||
else if (app_state.user_menu == USER_MENU_WARNING_1)
|
else if (app_state.user_menu == USER_MENU_WARNING_1)
|
||||||
{
|
{
|
||||||
app_state.user_menu = USER_MENU_WARNING_2;
|
app_state.user_menu = USER_MENU_WARNING_2;
|
||||||
@ -1306,6 +1456,21 @@ void AppVladEventProcess(CPU_INT32U event)
|
|||||||
GoToPreviousMenu();
|
GoToPreviousMenu();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case EVENT_FINISH_PAYMENT_ABONEMENT:
|
||||||
|
{
|
||||||
|
CPU_INT32U price, accmoney;
|
||||||
|
CPU_INT32U min_time;
|
||||||
|
|
||||||
|
if (app_state.user_menu != USER_MENU_INSERT_BONUS_CARD)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ïîïîëíåíèå êàðòû çàêîí÷èëè - ñîîáùèì îá ýòîì
|
||||||
|
PrintInsertBonusCardMenu();
|
||||||
|
RefreshMenu();
|
||||||
|
}
|
||||||
|
break;
|
||||||
case EVENT_FINISH_PAYMENT:
|
case EVENT_FINISH_PAYMENT:
|
||||||
{
|
{
|
||||||
CPU_INT32U price, accmoney;
|
CPU_INT32U price, accmoney;
|
||||||
@ -1416,6 +1581,15 @@ void AppVladEventProcess(CPU_INT32U event)
|
|||||||
RefreshMenu();
|
RefreshMenu();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (app_state.user_menu == USER_MENU_ALL_PRICE)
|
||||||
|
{
|
||||||
|
if (AppCanStart())
|
||||||
|
{
|
||||||
|
app_state.current_abonement = (app_state.current_abonement + 1) & 0x02;
|
||||||
|
PrintMenuAllPrice(app_state.blink_ctr >= 500);
|
||||||
|
RefreshMenu();
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (app_state.user_menu == USER_MENU_CARD_PAYING)
|
else if (app_state.user_menu == USER_MENU_CARD_PAYING)
|
||||||
{
|
{
|
||||||
if (AppCanStart())
|
if (AppCanStart())
|
||||||
@ -1467,6 +1641,15 @@ void AppVladEventProcess(CPU_INT32U event)
|
|||||||
RefreshMenu();
|
RefreshMenu();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (app_state.user_menu == USER_MENU_ALL_PRICE)
|
||||||
|
{
|
||||||
|
if (AppCanStart())
|
||||||
|
{
|
||||||
|
app_state.current_abonement = (app_state.current_abonement + 1) & 0x02;
|
||||||
|
PrintMenuAllPrice(app_state.blink_ctr >= 500);
|
||||||
|
RefreshMenu();
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (app_state.user_menu == USER_MENU_CARD_PAYING)
|
else if (app_state.user_menu == USER_MENU_CARD_PAYING)
|
||||||
{
|
{
|
||||||
if (AppCanStart())
|
if (AppCanStart())
|
||||||
@ -1516,6 +1699,10 @@ void AppVladEventProcess(CPU_INT32U event)
|
|||||||
{
|
{
|
||||||
PrintSelectModeMenu(app_state.blink_ctr >= 500);
|
PrintSelectModeMenu(app_state.blink_ctr >= 500);
|
||||||
}
|
}
|
||||||
|
else if (app_state.user_menu == USER_MENU_ALL_PRICE)
|
||||||
|
{
|
||||||
|
PrintMenuAllPrice(app_state.blink_ctr >= 500);
|
||||||
|
}
|
||||||
else if (app_state.user_menu == USER_MENU_SELECT_PAY_TYPE)
|
else if (app_state.user_menu == USER_MENU_SELECT_PAY_TYPE)
|
||||||
{
|
{
|
||||||
PrintSelectPayTypeMenu(app_state.blink_ctr >= 500);
|
PrintSelectPayTypeMenu(app_state.blink_ctr >= 500);
|
||||||
@ -1746,6 +1933,18 @@ void AppVladEventProcess(CPU_INT32U event)
|
|||||||
|| (app_state.user_menu == USER_MENU_SELECT_CH)
|
|| (app_state.user_menu == USER_MENU_SELECT_CH)
|
||||||
|| (app_state.user_menu == USER_MENU_SERVICE_PASS)
|
|| (app_state.user_menu == USER_MENU_SERVICE_PASS)
|
||||||
|| (app_state.user_menu == USER_MENU_SELECT_CH_CLEANING)
|
|| (app_state.user_menu == USER_MENU_SELECT_CH_CLEANING)
|
||||||
|
|| (app_state.user_menu == USER_MENU_BALANCE_CARD)
|
||||||
|
|| (app_state.user_menu == USER_MENU_START_INSERT_CARD_MONEY)
|
||||||
|
|| (app_state.user_menu == USER_MENU_ALL_PRICE)
|
||||||
|
|| (app_state.user_menu == USER_MENU_SILVER_BONUS)
|
||||||
|
|| (app_state.user_menu == USER_MENU_GOLD_BONUS)
|
||||||
|
|| (app_state.user_menu == USER_MENU_PLATINUM_BONUS)
|
||||||
|
|| (app_state.user_menu == USER_MENU_BRILLANCE_BONUS)
|
||||||
|
|| app_state.user_menu == USER_MENU_SILVER_BONUS
|
||||||
|
|| app_state.user_menu == USER_MENU_GOLD_BONUS
|
||||||
|
|| app_state.user_menu == USER_MENU_PLATINUM_BONUS
|
||||||
|
|| app_state.user_menu == USER_MENU_BRILLANCE_BONUS
|
||||||
|
|| app_state.user_menu == USER_MENU_ERROR_BANK_CARD
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
app_state.user_menu = USER_MENU_IDLE;
|
app_state.user_menu = USER_MENU_IDLE;
|
||||||
@ -2029,7 +2228,7 @@ void PrintMenuStartPay(void)
|
|||||||
PrintUserMenuStr(" àáîíåìåíò?) ", 3);
|
PrintUserMenuStr(" àáîíåìåíò?) ", 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PrintMenuAllPrice(void)
|
void PrintMenuAllPrice(CPU_INT08U blink)
|
||||||
{
|
{
|
||||||
char str[32];
|
char str[32];
|
||||||
uint32_t pay_silver = 0, bonus_silver = 0;
|
uint32_t pay_silver = 0, bonus_silver = 0;
|
||||||
@ -2037,6 +2236,17 @@ void PrintMenuAllPrice(void)
|
|||||||
uint32_t pay_plat = 0, bonus_plat = 0;
|
uint32_t pay_plat = 0, bonus_plat = 0;
|
||||||
uint32_t pay_diamond = 0, bonus_diamond = 0;
|
uint32_t pay_diamond = 0, bonus_diamond = 0;
|
||||||
|
|
||||||
|
if(app_state.current_abonement == SILVER_ABONEMENT)
|
||||||
|
{
|
||||||
|
if(blink) {
|
||||||
|
PrintUserMenuStr(" ", 0);
|
||||||
|
sprintf(str, "ÇÎËÎÒ-%d ð %d áîí", pay_gold, bonus_gold);
|
||||||
|
PrintUserMenuStr(str, 1);
|
||||||
|
sprintf(str, "ÏËÀÒ.-%d ð %d áîí", pay_plat, bonus_plat);
|
||||||
|
PrintUserMenuStr(str, 2);
|
||||||
|
sprintf(str, "ÀËÌÀÇ-%d ð %d áîí", pay_diamond, bonus_diamond);
|
||||||
|
PrintUserMenuStr(str, 3);
|
||||||
|
} else {
|
||||||
sprintf(str, "ÑÅÐÅÁ-%d ð %d áîí", pay_silver, bonus_silver);
|
sprintf(str, "ÑÅÐÅÁ-%d ð %d áîí", pay_silver, bonus_silver);
|
||||||
PrintUserMenuStr(str, 0);
|
PrintUserMenuStr(str, 0);
|
||||||
sprintf(str, "ÇÎËÎÒ-%d ð %d áîí", pay_gold, bonus_gold);
|
sprintf(str, "ÇÎËÎÒ-%d ð %d áîí", pay_gold, bonus_gold);
|
||||||
@ -2045,6 +2255,74 @@ void PrintMenuAllPrice(void)
|
|||||||
PrintUserMenuStr(str, 2);
|
PrintUserMenuStr(str, 2);
|
||||||
sprintf(str, "ÀËÌÀÇ-%d ð %d áîí", pay_diamond, bonus_diamond);
|
sprintf(str, "ÀËÌÀÇ-%d ð %d áîí", pay_diamond, bonus_diamond);
|
||||||
PrintUserMenuStr(str, 3);
|
PrintUserMenuStr(str, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(app_state.current_abonement == GOLD_ABONEMENT)
|
||||||
|
{
|
||||||
|
if(blink) {
|
||||||
|
sprintf(str, "ÑÅÐÅÁ-%d ð %d áîí", pay_silver, bonus_silver);
|
||||||
|
PrintUserMenuStr(str, 0);
|
||||||
|
|
||||||
|
PrintUserMenuStr(" ", 1);
|
||||||
|
sprintf(str, "ÏËÀÒ.-%d ð %d áîí", pay_plat, bonus_plat);
|
||||||
|
PrintUserMenuStr(str, 2);
|
||||||
|
sprintf(str, "ÀËÌÀÇ-%d ð %d áîí", pay_diamond, bonus_diamond);
|
||||||
|
PrintUserMenuStr(str, 3);
|
||||||
|
} else {
|
||||||
|
sprintf(str, "ÑÅÐÅÁ-%d ð %d áîí", pay_silver, bonus_silver);
|
||||||
|
PrintUserMenuStr(str, 0);
|
||||||
|
sprintf(str, "ÇÎËÎÒ-%d ð %d áîí", pay_gold, bonus_gold);
|
||||||
|
PrintUserMenuStr(str, 1);
|
||||||
|
sprintf(str, "ÏËÀÒ.-%d ð %d áîí", pay_plat, bonus_plat);
|
||||||
|
PrintUserMenuStr(str, 2);
|
||||||
|
sprintf(str, "ÀËÌÀÇ-%d ð %d áîí", pay_diamond, bonus_diamond);
|
||||||
|
PrintUserMenuStr(str, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(app_state.current_abonement == PLATINUM_ABONEMENT)
|
||||||
|
{
|
||||||
|
if(blink) {
|
||||||
|
sprintf(str, "ÑÅÐÅÁ-%d ð %d áîí", pay_silver, bonus_silver);
|
||||||
|
PrintUserMenuStr(str, 0);
|
||||||
|
sprintf(str, "ÇÎËÎÒ-%d ð %d áîí", pay_gold, bonus_gold);
|
||||||
|
PrintUserMenuStr(str, 1);
|
||||||
|
|
||||||
|
PrintUserMenuStr(" ", 2);
|
||||||
|
sprintf(str, "ÀËÌÀÇ-%d ð %d áîí", pay_diamond, bonus_diamond);
|
||||||
|
PrintUserMenuStr(str, 3);
|
||||||
|
} else {
|
||||||
|
sprintf(str, "ÑÅÐÅÁ-%d ð %d áîí", pay_silver, bonus_silver);
|
||||||
|
PrintUserMenuStr(str, 0);
|
||||||
|
sprintf(str, "ÇÎËÎÒ-%d ð %d áîí", pay_gold, bonus_gold);
|
||||||
|
PrintUserMenuStr(str, 1);
|
||||||
|
sprintf(str, "ÏËÀÒ.-%d ð %d áîí", pay_plat, bonus_plat);
|
||||||
|
PrintUserMenuStr(str, 2);
|
||||||
|
sprintf(str, "ÀËÌÀÇ-%d ð %d áîí", pay_diamond, bonus_diamond);
|
||||||
|
PrintUserMenuStr(str, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(app_state.current_abonement == DIAMOND_ABONEMENT)
|
||||||
|
{
|
||||||
|
if(blink) {
|
||||||
|
sprintf(str, "ÑÅÐÅÁ-%d ð %d áîí", pay_silver, bonus_silver);
|
||||||
|
PrintUserMenuStr(str, 0);
|
||||||
|
sprintf(str, "ÇÎËÎÒ-%d ð %d áîí", pay_gold, bonus_gold);
|
||||||
|
PrintUserMenuStr(str, 1);
|
||||||
|
sprintf(str, "ÏËÀÒ.-%d ð %d áîí", pay_plat, bonus_plat);
|
||||||
|
PrintUserMenuStr(str, 2);
|
||||||
|
|
||||||
|
PrintUserMenuStr(" ", 3);
|
||||||
|
} else {
|
||||||
|
sprintf(str, "ÑÅÐÅÁ-%d ð %d áîí", pay_silver, bonus_silver);
|
||||||
|
PrintUserMenuStr(str, 0);
|
||||||
|
sprintf(str, "ÇÎËÎÒ-%d ð %d áîí", pay_gold, bonus_gold);
|
||||||
|
PrintUserMenuStr(str, 1);
|
||||||
|
sprintf(str, "ÏËÀÒ.-%d ð %d áîí", pay_plat, bonus_plat);
|
||||||
|
PrintUserMenuStr(str, 2);
|
||||||
|
sprintf(str, "ÀËÌÀÇ-%d ð %d áîí", pay_diamond, bonus_diamond);
|
||||||
|
PrintUserMenuStr(str, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PrintSilverMenu(void)
|
void PrintSilverMenu(void)
|
||||||
|
|||||||
@ -4970,6 +4970,110 @@ TDataDescStruct const SolarCleaningTimeoutMinutesDesc = {
|
|||||||
};
|
};
|
||||||
char const SolarCleaningTimeoutMinutesDescId[] = "SolarCleaningTimeoutMinutesDesc";
|
char const SolarCleaningTimeoutMinutesDescId[] = "SolarCleaningTimeoutMinutesDesc";
|
||||||
|
|
||||||
|
/*************************************
|
||||||
|
Èíäåêñ àáîíåìåíòà
|
||||||
|
*************************************/
|
||||||
|
CPU_INT08U const AbonementIndexName[] = "";
|
||||||
|
TRangeValueULONG const AbonementIndexHourRange = {0, 3};
|
||||||
|
CPU_INT08U const AbonementIndexHour_str0[] = "ÑÅÐÅÁÐßÍÍÛÉ";
|
||||||
|
CPU_INT08U const AbonementIndexHour_str1[] = "ÇÎËÎÒÎÉ";
|
||||||
|
CPU_INT08U const AbonementIndexHour_str2[] = "ÏËÀÒÈÍÎÂÛÉ";
|
||||||
|
CPU_INT08U const AbonementIndexHour_str3[] = "ÀËÌÀÇÍÛÉ";
|
||||||
|
CPU_INT08U const *AbonementIndexHourList[] = {AbonementIndexHour_str0, AbonementIndexHour_str1, AbonementIndexHour_str2, AbonementIndexHour_str3};
|
||||||
|
|
||||||
|
CPU_INT32U abonement_index;
|
||||||
|
|
||||||
|
TDataDescStruct const AbonementIndexDesc = {
|
||||||
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||||||
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||||||
|
DATA_LOC_RAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||||||
|
DATA_NO_ARRAY, // ïðèçíàê ìàññèâà
|
||||||
|
0, // ðàçìåð ìàññèâà
|
||||||
|
0, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||||||
|
&abonement_index, // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||||||
|
(void*)&AbonementIndexHourRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||||||
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||||||
|
0, // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||||||
|
AbonementIndexName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||||||
|
DATA_IS_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||||||
|
AbonementIndexHourList, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||||||
|
DATA_INIT_ENABLE,
|
||||||
|
0
|
||||||
|
};
|
||||||
|
char const AbonementIndexDescId[] = "AbonementIndexDesc";
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************
|
||||||
|
Äåíüãè
|
||||||
|
*************************************/
|
||||||
|
TRangeValueULONG const AbonementMoneyRange = {0, 99999};
|
||||||
|
CPU_INT08U const AbonementMoneyName[] = "Äåíüãè";
|
||||||
|
|
||||||
|
TDataDescStruct const AbonementMoneyDesc = {
|
||||||
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||||||
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||||||
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||||||
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||||||
|
4, // ðàçìåð ìàññèâà
|
||||||
|
&AbonementIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||||||
|
(void*)offsetof(TFramMap, AbonementMoney), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||||||
|
(void*)&AbonementMoneyRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||||||
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||||||
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||||||
|
AbonementMoneyName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||||||
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||||||
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||||||
|
DATA_INIT_DISABLE,
|
||||||
|
3000
|
||||||
|
};
|
||||||
|
|
||||||
|
/*************************************
|
||||||
|
Áîíóñû
|
||||||
|
*************************************/
|
||||||
|
TRangeValueULONG const AbonementBonusRange = {0, 99999};
|
||||||
|
CPU_INT08U const AbonementBonusName[] = "Áîíóñû";
|
||||||
|
|
||||||
|
TDataDescStruct const AbonementBonusDesc = {
|
||||||
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||||||
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||||||
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||||||
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||||||
|
4, // ðàçìåð ìàññèâà
|
||||||
|
&AbonementIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||||||
|
(void*)offsetof(TFramMap, AbonementBonus), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||||||
|
(void*)&AbonementBonusRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||||||
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||||||
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||||||
|
AbonementBonusName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||||||
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||||||
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||||||
|
DATA_INIT_DISABLE,
|
||||||
|
600
|
||||||
|
};
|
||||||
|
|
||||||
|
/*************************************
|
||||||
|
Ñðîê äåéñòâèÿ
|
||||||
|
*************************************/
|
||||||
|
TRangeValueULONG const AbonementBestBeforeRange = {0, 1000};
|
||||||
|
CPU_INT08U const AbonementBestBeforeName[] = "Ñðîê äåéñòâèÿ,äí.";
|
||||||
|
|
||||||
|
TDataDescStruct const AbonementBestBeforeDesc = {
|
||||||
|
DATA_DESC_EDIT, // òèï äåñêðèïòîðà
|
||||||
|
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||||||
|
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||||||
|
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||||||
|
4, // ðàçìåð ìàññèâà
|
||||||
|
&AbonementIndexDesc, // óêàçàòåëü íà äåñêðèïòîð èíäåêñà ìàññèâà
|
||||||
|
(void*)offsetof(TFramMap, AbonementBestBefore), // óêàçàòåëü íà ïåðåìåííóþ èëè àäðåñ FRAM
|
||||||
|
(void*)&AbonementBestBeforeRange, // óêàçàòåëü íà ãðàíèöû ïàðàìåòðà
|
||||||
|
NULL, // ôóíêöèÿ ïî èçìåíåíèþ
|
||||||
|
sizeof(CPU_INT32U), // ñìåùåíèå ìåæäó ýëåìåíòàìè â ìàññèâå
|
||||||
|
AbonementBestBeforeName, // óêàçàòåëü íà ñòðîêó íàçâàíèÿ ïàðàìåòðà
|
||||||
|
DATA_NO_INDEX, // ïðèçíàê èíäåêñíîãî ïàðàìåòðà (ñïèñîê ñòðîê)
|
||||||
|
NULL, // óêàçàòåëü íà ñïèñîê ñòðîê äëÿ èíäåêñíîãî ïàðàìåòðà
|
||||||
|
DATA_INIT_DISABLE,
|
||||||
|
180
|
||||||
|
};
|
||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
Èíäåêñ ñêèäêè ïî ÷àñàì
|
Èíäåêñ ñêèäêè ïî ÷àñàì
|
||||||
|
|||||||
@ -23,35 +23,35 @@
|
|||||||
|
|
||||||
#define MONEY_KEY_COUNT 8
|
#define MONEY_KEY_COUNT 8
|
||||||
|
|
||||||
// структура конфигурации каналов
|
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
typedef struct{
|
typedef struct{
|
||||||
// включение канала
|
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
CPU_INT32U Enable[CHANNELS_NUM];
|
CPU_INT32U Enable[CHANNELS_NUM];
|
||||||
// тайм-аут перед включением, сек.
|
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>.
|
||||||
CPU_INT32U TimeOutBefore[CHANNELS_NUM];
|
CPU_INT32U TimeOutBefore[CHANNELS_NUM];
|
||||||
// тайм-аут после выключения, мин.
|
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>.
|
||||||
CPU_INT32U TimeOutAfter[CHANNELS_NUM];
|
CPU_INT32U TimeOutAfter[CHANNELS_NUM];
|
||||||
// максимальное время работы, мин.
|
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>.
|
||||||
CPU_INT32U MaxWorkTime[CHANNELS_NUM];
|
CPU_INT32U MaxWorkTime[CHANNELS_NUM];
|
||||||
// минимальное время работы, мин.
|
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>.
|
||||||
CPU_INT32U MinWorkTime[CHANNELS_NUM];
|
CPU_INT32U MinWorkTime[CHANNELS_NUM];
|
||||||
// настройка уикенда, индекс
|
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
CPU_INT32U WeekEnd[CHANNELS_NUM];
|
CPU_INT32U WeekEnd[CHANNELS_NUM];
|
||||||
#define WEEKEND_NO 0
|
#define WEEKEND_NO 0
|
||||||
#define WEEKEND_FRIDAY_SUNDAY 1
|
#define WEEKEND_FRIDAY_SUNDAY 1
|
||||||
#define WEEKEND_SATURDAY_SUNDAY 2
|
#define WEEKEND_SATURDAY_SUNDAY 2
|
||||||
#define WEEKEND_FRIDAY_SATURDAY 3
|
#define WEEKEND_FRIDAY_SATURDAY 3
|
||||||
#define WEEKEND_FRIDAY_MONDAY 4
|
#define WEEKEND_FRIDAY_MONDAY 4
|
||||||
// название канала
|
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
CPU_INT32U Name[CHANNELS_NUM];
|
CPU_INT32U Name[CHANNELS_NUM];
|
||||||
|
|
||||||
// периоды
|
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
#define PRICE_PERIODS_NUM 4
|
#define PRICE_PERIODS_NUM 4
|
||||||
CPU_INT32U T_Start_Weekdays[CHANNELS_NUM][PRICE_PERIODS_NUM];
|
CPU_INT32U T_Start_Weekdays[CHANNELS_NUM][PRICE_PERIODS_NUM];
|
||||||
CPU_INT32U T_End_Weekdays[CHANNELS_NUM][PRICE_PERIODS_NUM];
|
CPU_INT32U T_End_Weekdays[CHANNELS_NUM][PRICE_PERIODS_NUM];
|
||||||
CPU_INT32U T_Start_Weekend[CHANNELS_NUM][PRICE_PERIODS_NUM];
|
CPU_INT32U T_Start_Weekend[CHANNELS_NUM][PRICE_PERIODS_NUM];
|
||||||
CPU_INT32U T_End_Weekend[CHANNELS_NUM][PRICE_PERIODS_NUM];
|
CPU_INT32U T_End_Weekend[CHANNELS_NUM][PRICE_PERIODS_NUM];
|
||||||
// цены
|
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
CPU_INT32U Price_Weekdays[CHANNELS_NUM][PRICE_PERIODS_NUM];
|
CPU_INT32U Price_Weekdays[CHANNELS_NUM][PRICE_PERIODS_NUM];
|
||||||
CPU_INT32U Price_Weekend[CHANNELS_NUM][PRICE_PERIODS_NUM];
|
CPU_INT32U Price_Weekend[CHANNELS_NUM][PRICE_PERIODS_NUM];
|
||||||
CPU_INT32U PriceTime_Weekdays[CHANNELS_NUM][PRICE_PERIODS_NUM];
|
CPU_INT32U PriceTime_Weekdays[CHANNELS_NUM][PRICE_PERIODS_NUM];
|
||||||
@ -72,7 +72,7 @@ typedef struct{
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// структура конфигурации аппаратуры
|
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
typedef struct{
|
typedef struct{
|
||||||
CPU_INT32U EnableValidator;
|
CPU_INT32U EnableValidator;
|
||||||
CPU_INT32U EnableCoinAcceptor;
|
CPU_INT32U EnableCoinAcceptor;
|
||||||
@ -81,10 +81,10 @@ typedef struct{
|
|||||||
CPU_INT32U EnableFiscalDayClear;
|
CPU_INT32U EnableFiscalDayClear;
|
||||||
CPU_INT32U ServiceName;
|
CPU_INT32U ServiceName;
|
||||||
|
|
||||||
CPU_INT32U CoinPerPulse; // цена импульса монетоприемника
|
CPU_INT32U CoinPerPulse; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
CPU_INT32U BillFormat;
|
CPU_INT32U BillFormat;
|
||||||
|
|
||||||
CPU_INT32U DisableFiscalErrors; // отключение реакции на ошибки ФР
|
CPU_INT32U DisableFiscalErrors; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||||
|
|
||||||
CPU_INT32U EnableEmailErrorSend;
|
CPU_INT32U EnableEmailErrorSend;
|
||||||
CPU_INT32U EnableEmailStatSend;
|
CPU_INT32U EnableEmailStatSend;
|
||||||
@ -358,11 +358,16 @@ extern TDataDescStruct const CounterAllTestTimeDesc;
|
|||||||
extern TDataDescStruct const CounterAllTestCountDesc;
|
extern TDataDescStruct const CounterAllTestCountDesc;
|
||||||
extern TDataDescStruct const CounterTestMeanTimeDesc;
|
extern TDataDescStruct const CounterTestMeanTimeDesc;
|
||||||
extern TDataDescStruct const SolarCleaningTimeoutMinutesDesc;
|
extern TDataDescStruct const SolarCleaningTimeoutMinutesDesc;
|
||||||
|
extern TDataDescStruct const AbonementIndexDesc;
|
||||||
|
extern TDataDescStruct const AbonementMoneyDesc;
|
||||||
|
extern TDataDescStruct const AbonementBonusDesc;
|
||||||
|
extern TDataDescStruct const AbonementBestBeforeDesc;
|
||||||
|
|
||||||
extern void CheckVladPasswords(void);
|
extern void CheckVladPasswords(void);
|
||||||
|
|
||||||
extern CPU_INT32U solar_modes_index;
|
extern CPU_INT32U solar_modes_index;
|
||||||
extern CPU_INT32U discount_index;
|
extern CPU_INT32U discount_index;
|
||||||
|
extern CPU_INT32U abonement_index;
|
||||||
extern CPU_INT32U current_discount;
|
extern CPU_INT32U current_discount;
|
||||||
extern CPU_INT32U score_cmd;
|
extern CPU_INT32U score_cmd;
|
||||||
extern CPU_INT32U relay_cmd;
|
extern CPU_INT32U relay_cmd;
|
||||||
|
|||||||
@ -112,6 +112,10 @@ typedef struct
|
|||||||
CPU_INT32U SkinUFMaxTime[4];
|
CPU_INT32U SkinUFMaxTime[4];
|
||||||
CPU_INT32U SkinMaximalMaxTime[4];
|
CPU_INT32U SkinMaximalMaxTime[4];
|
||||||
|
|
||||||
|
CPU_INT32U AbonementMoney[4];
|
||||||
|
CPU_INT32U AbonementBonus[4];
|
||||||
|
CPU_INT32U AbonementBestBefore[4];
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_RELAY_ENABLE)
|
#if defined(CONFIG_RELAY_ENABLE)
|
||||||
|
|||||||
@ -612,6 +612,7 @@ const CPU_INT08U str_SettingsMenu_7[] = "
|
|||||||
#if defined(BOARD_SOLARIUM_VLAD)
|
#if defined(BOARD_SOLARIUM_VLAD)
|
||||||
const CPU_INT08U str_SettingsMenu_1[] = "Ñîëÿðèè";
|
const CPU_INT08U str_SettingsMenu_1[] = "Ñîëÿðèè";
|
||||||
const CPU_INT08U str_SettingsMenu_7[] = "Ñêèäêè";
|
const CPU_INT08U str_SettingsMenu_7[] = "Ñêèäêè";
|
||||||
|
const CPU_INT08U str_SettingsMenu_10[] = "Àáîíåìåíòû";
|
||||||
const CPU_INT08U str_SettingsMenu_8[] = "Òèïû êîæè";
|
const CPU_INT08U str_SettingsMenu_8[] = "Òèïû êîæè";
|
||||||
#else
|
#else
|
||||||
const CPU_INT08U str_SettingsMenu_1[] = "Ïîñòû";
|
const CPU_INT08U str_SettingsMenu_1[] = "Ïîñòû";
|
||||||
@ -676,6 +677,13 @@ const TMenuLine line_SettingsMenu_10 = {
|
|||||||
(void*)str_SettingsMenu_8, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
|
(void*)str_SettingsMenu_8, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
|
||||||
(void*)&SkinTypeSettingsMenuPanel // ïàíåëü äëÿ ïåðåõîäà
|
(void*)&SkinTypeSettingsMenuPanel // ïàíåëü äëÿ ïåðåõîäà
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const TMenuLine line_SettingsMenu_12 = {
|
||||||
|
MENU_LINE_GOTO_MENU, // òèï ïóíêòà ìåíþ
|
||||||
|
0, // äîï. ôëàãè
|
||||||
|
(void*)str_SettingsMenu_10, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
|
||||||
|
(void*)&AbonementMenuPanel // ïàíåëü äëÿ ïåðåõîäà
|
||||||
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const TMenuLine line_SettingsMenu_8 = {
|
const TMenuLine line_SettingsMenu_8 = {
|
||||||
@ -2857,6 +2865,45 @@ const TMenuLine line_DiscountMainMenu_5 = {
|
|||||||
const TMenuLineArray arr_DiscountMainArray[] = {&line_DiscountMainMenu_0, &line_DiscountMainMenu_1, &line_DiscountMainMenu_2, &line_DiscountMainMenu_3, &line_DiscountMainMenu_4, &line_DiscountMainMenu_5, NULL};
|
const TMenuLineArray arr_DiscountMainArray[] = {&line_DiscountMainMenu_0, &line_DiscountMainMenu_1, &line_DiscountMainMenu_2, &line_DiscountMainMenu_3, &line_DiscountMainMenu_4, &line_DiscountMainMenu_5, NULL};
|
||||||
const TMenuPanel DiscountMainMenuPanel[] = {arr_DiscountMainArray, NULL, 6, MENU_PANEL_STANDARD};
|
const TMenuPanel DiscountMainMenuPanel[] = {arr_DiscountMainArray, NULL, 6, MENU_PANEL_STANDARD};
|
||||||
|
|
||||||
|
/***********************************
|
||||||
|
ÌÅÍÞ ÀÁÎÍÅÌÅÍÒÛ
|
||||||
|
***********************************/
|
||||||
|
const TMenuLine line_AbonementMenu_0 = {
|
||||||
|
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
|
||||||
|
MENU_FIXED_LINE|MENU_INDEX_LINE, // äîï. ôëàãè
|
||||||
|
(void*)&AbonementIndexDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
|
||||||
|
NULL // ïàíåëü äëÿ ïåðåõîäà
|
||||||
|
};
|
||||||
|
|
||||||
|
const TMenuLine line_AbonementMenu_1 = {
|
||||||
|
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
|
||||||
|
0, // äîï. ôëàãè
|
||||||
|
(void*)&AbonementMoneyDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
|
||||||
|
NULL // ïàíåëü äëÿ ïåðåõîäà
|
||||||
|
};
|
||||||
|
|
||||||
|
const TMenuLine line_AbonementMenu_2 = {
|
||||||
|
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
|
||||||
|
0, // äîï. ôëàãè
|
||||||
|
(void*)&AbonementBonusDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
|
||||||
|
NULL // ïàíåëü äëÿ ïåðåõîäà
|
||||||
|
};
|
||||||
|
|
||||||
|
const TMenuLine line_AbonementMenu_3 = {
|
||||||
|
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
|
||||||
|
0, // äîï. ôëàãè
|
||||||
|
(void*)&AbonementBestBeforeDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
|
||||||
|
NULL // ïàíåëü äëÿ ïåðåõîäà
|
||||||
|
};
|
||||||
|
|
||||||
|
void OnEnterAbonementMenu(void)
|
||||||
|
{
|
||||||
|
abonement_index = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
const TMenuLineArray arr_AbonementArray[] = {&line_AbonementMenu_0, &line_AbonementMenu_1, &line_AbonementMenu_2, &line_AbonementMenu_3, NULL};
|
||||||
|
const TMenuPanel AbonementMenuPanel[] = {arr_AbonementArray, OnEnterAbonementMenu, 3, MENU_PANEL_STANDARD};
|
||||||
|
|
||||||
/***********************************
|
/***********************************
|
||||||
ÌÅÍÞ ÑÊÈÄÊÈ ÏÎ ×ÀÑÀÌ
|
ÌÅÍÞ ÑÊÈÄÊÈ ÏÎ ×ÀÑÀÌ
|
||||||
***********************************/
|
***********************************/
|
||||||
|
|||||||
@ -78,6 +78,7 @@ extern const TMenuPanel FtpUploadInProgressMenu[];
|
|||||||
extern const TMenuPanel FtpOKMenu[];
|
extern const TMenuPanel FtpOKMenu[];
|
||||||
extern const TMenuPanel FtpFAILMenu[];
|
extern const TMenuPanel FtpFAILMenu[];
|
||||||
extern const TMenuPanel CanselCheckMenuPanel[];
|
extern const TMenuPanel CanselCheckMenuPanel[];
|
||||||
|
extern const TMenuPanel AbonementMenuPanel[];
|
||||||
|
|
||||||
extern int PrintUserMenuStr(char* str, CPU_INT08U n);
|
extern int PrintUserMenuStr(char* str, CPU_INT08U n);
|
||||||
extern int PrintUserMenuStrUnalign(char* str, CPU_INT08U n);
|
extern int PrintUserMenuStrUnalign(char* str, CPU_INT08U n);
|
||||||
|
|||||||
@ -25,7 +25,7 @@ if not "%~1" == "" goto debugFile
|
|||||||
|
|
||||||
@echo on
|
@echo on
|
||||||
|
|
||||||
"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"
|
"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"
|
||||||
|
|
||||||
@echo off
|
@echo off
|
||||||
goto end
|
goto end
|
||||||
@ -34,7 +34,7 @@ goto end
|
|||||||
|
|
||||||
@echo on
|
@echo on
|
||||||
|
|
||||||
"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"
|
"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"
|
||||||
|
|
||||||
@echo off
|
@echo off
|
||||||
:end
|
:end
|
||||||
@ -23,9 +23,9 @@
|
|||||||
|
|
||||||
if ($debugfile -eq "")
|
if ($debugfile -eq "")
|
||||||
{
|
{
|
||||||
& "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"
|
& "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"
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
& "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"
|
& "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"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\arm\bin\armJLINK.dll"
|
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\arm\bin\armJLINK.dll"
|
||||||
|
|
||||||
"C:\work\solarium.vlad\Solarium Vlad\Exe\sk_mlpc2368.out"
|
"C:\git_work\solarium.vlad\Solarium Vlad\Exe\sk_mlpc2368.out"
|
||||||
|
|
||||||
--plugin="C:\Program Files\IAR Systems\Embedded Workbench 9.0\arm\bin\armbat.dll"
|
--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
3824
sk-mlpc2368.dep
3824
sk-mlpc2368.dep
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user