Работа над ошибками

This commit is contained in:
Dmitriy 2025-05-19 21:52:58 +03:00
parent 6e230142d1
commit 81de1f3048
8 changed files with 2168 additions and 2154 deletions

View File

@ -841,9 +841,9 @@ void AppVladEventProcess(CPU_INT32U event)
GetData(&CounterBonusAbonementDesc, &counter_bonus, app_state.current_abonement, DATA_FLAG_DIRECT_INDEX);
GetData(&CounterRunsAbonementDesc, &counter_runs, app_state.current_abonement, DATA_FLAG_DIRECT_INDEX);
GetData(&CounterMoneyAbonementDesc, &counter_money_sum, 2, DATA_FLAG_DIRECT_INDEX);
GetData(&CounterBonusAbonementDesc, &counter_bonus_sum, 2, DATA_FLAG_DIRECT_INDEX);
GetData(&CounterRunsAbonementDesc, &counter_runs_sum, 2, DATA_FLAG_DIRECT_INDEX);
GetData(&CounterMoneyAbonementDesc, &counter_money_sum, 4, DATA_FLAG_DIRECT_INDEX);
GetData(&CounterBonusAbonementDesc, &counter_bonus_sum, 4, DATA_FLAG_DIRECT_INDEX);
GetData(&CounterRunsAbonementDesc, &counter_runs_sum, 4, DATA_FLAG_DIRECT_INDEX);
GetData(&CounterAbonementMoneyDesc, &all_counter_money, 0, DATA_FLAG_DIRECT_INDEX);
@ -859,9 +859,9 @@ void AppVladEventProcess(CPU_INT32U event)
SetData(&CounterBonusAbonementDesc, &counter_bonus, app_state.current_abonement, DATA_FLAG_DIRECT_INDEX);
SetData(&CounterRunsAbonementDesc, &counter_runs, app_state.current_abonement, DATA_FLAG_DIRECT_INDEX);
SetData(&CounterMoneyAbonementDesc, &counter_money_sum, 2, DATA_FLAG_DIRECT_INDEX);
SetData(&CounterBonusAbonementDesc, &counter_bonus_sum, 2, DATA_FLAG_DIRECT_INDEX);
SetData(&CounterRunsAbonementDesc, &counter_runs_sum, 2, DATA_FLAG_DIRECT_INDEX);
SetData(&CounterMoneyAbonementDesc, &counter_money_sum, 4, DATA_FLAG_DIRECT_INDEX);
SetData(&CounterBonusAbonementDesc, &counter_bonus_sum, 4, DATA_FLAG_DIRECT_INDEX);
SetData(&CounterRunsAbonementDesc, &counter_runs_sum, 4, DATA_FLAG_DIRECT_INDEX);
SetData(&CounterAbonementMoneyDesc, &all_counter_money, 0, DATA_FLAG_DIRECT_INDEX);
@ -894,9 +894,9 @@ void AppVladEventProcess(CPU_INT32U event)
if(data->money + data->bonus > app_state.moneytopay
&& read_mifare_card() != NULL)
{
int delta = data->bonus - app_state.moneytopay;
data->money -= (delta < 0) ? delta : 0;
data->bonus -= (delta < 0) ? data->bonus : app_state.moneytopay;
int delta = data->money - app_state.moneytopay;
data->bonus -= (delta < 0) ? delta : 0;
data->money -= (delta < 0) ? data->money : app_state.moneytopay;
if(!write_mifare_card())
{
@ -1722,7 +1722,7 @@ void AppVladEventProcess(CPU_INT32U event)
{
if (AppCanStart())
{
app_state.current_abonement = (app_state.current_abonement + 1) & 0x01;
app_state.current_abonement = (app_state.current_abonement + 1) & 0x03;
PrintMenuAllPrice(app_state.blink_ctr >= 500);
RefreshMenu();
}
@ -1782,7 +1782,7 @@ void AppVladEventProcess(CPU_INT32U event)
{
if (AppCanStart())
{
app_state.current_abonement = (app_state.current_abonement + 1) & 0x01;
app_state.current_abonement = (app_state.current_abonement + 1) & 0x03;
PrintMenuAllPrice(app_state.blink_ctr >= 500);
RefreshMenu();
}
@ -2354,7 +2354,7 @@ void PrintBalanceMenu(void)
sprintf(str, "%d áîíóñîâ, ñãîðÿò:", data->bonus);
PrintUserMenuStr(str, 2);
PrintTimeString(str, data->best_before);
PrintDateString(str, data->best_before);
PrintUserMenuStr(str, 3);
}
@ -2371,8 +2371,8 @@ void PrintMenuAllPrice(CPU_INT08U blink)
char str[32];
uint32_t pay_silver = 0, bonus_silver = 0;
uint32_t pay_gold = 0, bonus_gold = 0;
//uint32_t pay_plat = 0, bonus_plat = 0;
//uint32_t pay_diamond = 0, bonus_diamond = 0;
uint32_t pay_plat = 0, bonus_plat = 0;
uint32_t pay_diamond = 0, bonus_diamond = 0;
GetData(&AbonementMoneyDesc, &pay_silver, 0, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBonusDesc, &bonus_silver, 0, DATA_FLAG_DIRECT_INDEX);
@ -2380,11 +2380,11 @@ void PrintMenuAllPrice(CPU_INT08U blink)
GetData(&AbonementMoneyDesc, &pay_gold, 1, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBonusDesc, &bonus_gold, 1, DATA_FLAG_DIRECT_INDEX);
//GetData(&AbonementMoneyDesc, &pay_plat, 2, DATA_FLAG_DIRECT_INDEX);
//GetData(&AbonementBonusDesc, &bonus_plat, 2, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementMoneyDesc, &pay_plat, 2, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBonusDesc, &bonus_plat, 2, DATA_FLAG_DIRECT_INDEX);
//GetData(&AbonementMoneyDesc, &pay_diamond, 3, DATA_FLAG_DIRECT_INDEX);
//GetData(&AbonementBonusDesc, &bonus_diamond, 3, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementMoneyDesc, &pay_diamond, 3, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBonusDesc, &bonus_diamond, 3, DATA_FLAG_DIRECT_INDEX);
if(app_state.current_abonement == SILVER_ABONEMENT)
{
@ -2392,19 +2392,19 @@ void PrintMenuAllPrice(CPU_INT08U 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);
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);
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 == GOLD_ABONEMENT)
@ -2413,23 +2413,23 @@ void PrintMenuAllPrice(CPU_INT08U 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);
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);
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)
else if(app_state.current_abonement == PLATINUM_ABONEMENT)
{
if(blink) {
sprintf(str, "ÑÅÐÅÁ-%d ð %d áîí", pay_silver, bonus_silver);
@ -2472,7 +2472,7 @@ void PrintMenuAllPrice(CPU_INT08U blink)
sprintf(str, "ÀËÌÀÇ-%d ð %d áîí", pay_diamond, bonus_diamond);
PrintUserMenuStr(str, 3);
}
}*/
}
}
void PrintSilverMenu(void)
@ -2495,7 +2495,7 @@ void PrintSilverMenu(void)
sprintf(str, "Äîï.áîíóñû- %d ðóá", bonus_silver);
PrintUserMenuStr(str, 2);
PrintTimeString(str1, SystemTime);
PrintDateString(str1, SystemTime);
sprintf(str, "Áîíóñû äî %s", str1);
PrintUserMenuStr(str, 3);
}
@ -2520,7 +2520,7 @@ void PrintGoldMenu(void)
sprintf(str, "Äîï.áîíóñû- %d ðóá", bonus_gold);
PrintUserMenuStr(str, 2);
PrintTimeString(str1, SystemTime);
PrintDateString(str1, SystemTime);
sprintf(str, "Áîíóñû äî %s", str1);
PrintUserMenuStr(str, 3);
}
@ -2545,7 +2545,7 @@ void PrintPlatMenu(void)
sprintf(str, "Äîï.áîíóñû- %d ðóá", bonus_plat);
PrintUserMenuStr(str, 2);
PrintTimeString(str1, SystemTime);
PrintDateString(str1, SystemTime);
sprintf(str, "Áîíóñû äî %s", str1);
PrintUserMenuStr(str, 3);
}
@ -2570,7 +2570,7 @@ void PrintDiamondMenu(void)
sprintf(str, "Äîï.áîíóñû- %d ðóá", bonus_diamond);
PrintUserMenuStr(str, 2);
PrintTimeString(str1, SystemTime);
PrintDateString(str1, SystemTime);
sprintf(str, "Áîíóñû äî %s", str1);
PrintUserMenuStr(str, 3);
}

View File

@ -1583,6 +1583,20 @@ void OnChangeInitByDefault(void)
temp32 = 90;
SetData(&AbonementBestBeforeDesc, &temp32, 1, DATA_FLAG_DIRECT_INDEX);
temp32 = 12000;
SetData(&AbonementMoneyDesc, &temp32, 2, DATA_FLAG_DIRECT_INDEX);
temp32 = 4800;
SetData(&AbonementBonusDesc, &temp32, 2, DATA_FLAG_DIRECT_INDEX);
temp32 = 180;
SetData(&AbonementBestBeforeDesc, &temp32, 2, DATA_FLAG_DIRECT_INDEX);
temp32 = 24000;
SetData(&AbonementMoneyDesc, &temp32, 3, DATA_FLAG_DIRECT_INDEX);
temp32 = 10800;
SetData(&AbonementBonusDesc, &temp32, 3, DATA_FLAG_DIRECT_INDEX);
temp32 = 360;
SetData(&AbonementBestBeforeDesc, &temp32, 3, DATA_FLAG_DIRECT_INDEX);
#endif
InitByDefault = 0;
@ -5056,7 +5070,7 @@ TDataDescStruct const AbonementMoneyDesc = {
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
2, // ðàçìåð ìàññèâà
4, // ðàçìåð ìàññèâà
&AbonementIndexDesc, // указатель на дескриптор индекса массива
(void*)offsetof(TFramMap, AbonementMoney), // указатель на переменную или адрес FRAM
(void*)&AbonementMoneyRange, // указатель на границы параметра
@ -5111,7 +5125,7 @@ TDataDescStruct const CounterMoneyAbonementDesc = {
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
3, // ðàçìåð ìàññèâà
5, // ðàçìåð ìàññèâà
&AbonementCounterIndexDesc, // указатель на дескриптор индекса массива
(void*)offsetof(TFramMap, solar_counters.abonement[0].card_money), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
@ -5136,7 +5150,7 @@ TDataDescStruct const CounterBonusAbonementDesc = {
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
3, // ðàçìåð ìàññèâà
5, // ðàçìåð ìàññèâà
&AbonementCounterIndexDesc, // указатель на дескриптор индекса массива
(void*)offsetof(TFramMap, solar_counters.abonement[0].card_bonus), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
@ -5161,7 +5175,7 @@ TDataDescStruct const CounterRunsAbonementDesc = {
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
3, // ðàçìåð ìàññèâà
5, // ðàçìåð ìàññèâà
&AbonementCounterIndexDesc, // указатель на дескриптор индекса массива
(void*)offsetof(TFramMap, solar_counters.abonement[0].runs), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
@ -5185,7 +5199,7 @@ TDataDescStruct const AbonementBonusDesc = {
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
2, // ðàçìåð ìàññèâà
4, // ðàçìåð ìàññèâà
&AbonementIndexDesc, // указатель на дескриптор индекса массива
(void*)offsetof(TFramMap, AbonementBonus), // указатель на переменную или адрес FRAM
(void*)&AbonementBonusRange, // указатель на границы параметра
@ -5202,7 +5216,7 @@ TDataDescStruct const AbonementBonusDesc = {
Срок действия
*************************************/
TRangeValueULONG const AbonementBestBeforeRange = {0, 1000};
CPU_INT08U const AbonementBestBeforeName[] = "Ñðîê äåéñòâèÿ,äí.";
CPU_INT08U const AbonementBestBeforeName[] = "Ñðîê äåéñò,äí.";
TDataDescStruct const AbonementBestBeforeDesc = {
DATA_DESC_EDIT, // тип дескриптора
@ -6730,7 +6744,7 @@ char const CounterCardMoneyDescId[] = "CounterCardMoneyDesc";
/*************************************
етчик денег по абонементам
*************************************/
CPU_INT08U const CounterAbonementMoneyName[] = "ÊÀÐÒ.,ðóá.";
CPU_INT08U const CounterAbonementMoneyName[] = "ÀÁÎÍÅÌ.,ðóá.";
TDataDescStruct const CounterAbonementMoneyDesc = {
DATA_DESC_VIEW, // тип дескриптора

View File

@ -1267,7 +1267,7 @@ const TMenuLine line_DeviceMenu_7 = {
const TMenuLine line_DeviceMenu_9 = {
MENU_LINE_GOTO_MENU, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)str_DeviceMenu_7, // указатель на текстовую строку или дескриптор
(void*)str_DeviceMenu_9, // указатель на текстовую строку или дескриптор
(void*)&AbonementSetupPanel // ïàíåëü äëÿ ïåðåõîäà
};
#endif
@ -1545,9 +1545,9 @@ const TMenuLineArray arr_CoinMenuArray[] = {&line_CoinMenu_0, &line_CoinMenu_1,
const TMenuPanel CoinSetupPanel[] = {arr_CoinMenuArray, NULL, 6, MENU_PANEL_STANDARD};
/***********************************
МЕНЮ НАСТРОЙКА МОНЕТОПРИЕМНИКА
МЕНЮ НАСТРОЙКА АБОНЕМЕНТА
***********************************/
const CPU_INT08U str_AbonementMenuSet_0[] = "НАСТРОйКИ МОНЕТОПР.";
const CPU_INT08U str_AbonementMenuSet_0[] = "НАСТРОйКИ АБОНЕМЕН.";
const TMenuLine line_AbonementMenuSet_0 = {
MENU_LINE_STRING, // òèï ïóíêòà ìåíþ
@ -1559,7 +1559,7 @@ const TMenuLine line_AbonementMenuSet_0 = {
const TMenuLine line_AbonementMenuSet_1 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&EnableCoinDesc, // указатель на текстовую строку или дескриптор
(void*)&EnableAbonementDesc, // указатель на текстовую строку или дескриптор
NULL // ïàíåëü äëÿ ïåðåõîäà
};

View File

@ -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:\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
goto end
@ -34,7 +34,7 @@ goto end
@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
:end

View File

@ -23,9 +23,9 @@
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
{
& "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"
}

View File

@ -2,7 +2,7 @@
"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"

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff