исправление ошибок

This commit is contained in:
dimoniche 2025-05-29 00:23:41 +03:00
parent 39441483d2
commit b95caf200c
8 changed files with 1676 additions and 1641 deletions

View File

@ -4,6 +4,7 @@
"string": "c", "string": "c",
"string_view": "c", "string_view": "c",
"ranges": "c", "ranges": "c",
"span": "c" "span": "c",
"fram_map.h": "c"
} }
} }

View File

@ -107,6 +107,20 @@ void IncAbonentCounters(CPU_INT08U abonement, CPU_INT32U money, CPU_INT32U bonus
WriteArrayFram(offsetof(TFramMap, solar_counters), sizeof(SolarCounters), (unsigned char*)&counters); WriteArrayFram(offsetof(TFramMap, solar_counters), sizeof(SolarCounters), (unsigned char*)&counters);
} }
void IncSolarAbonementCounters(CPU_INT08U ch, CPU_INT08U mode, CPU_INT32U money, CPU_INT32U bonus)
{
ReadArrayFram(offsetof(TFramMap, solar_counters), sizeof(SolarCounters), (unsigned char*)&counters);
counters.solar_chm[ch * SOLAR_MODES_COUNT + mode].card_money += money;
counters.solar_m[mode].card_money += money;
counters.solar_chm[ch * SOLAR_MODES_COUNT + mode].card_bonus += bonus;
counters.solar_m[mode].card_bonus += bonus;
counters.checksum = crc16((unsigned char*)&counters, offsetof(SolarCounters, checksum));
WriteArrayFram(offsetof(TFramMap, solar_counters), sizeof(SolarCounters), (unsigned char*)&counters);
}
/// ///
void IncSolarCounters(CPU_INT08U ch, CPU_INT08U mode, CPU_INT32U worktime, CPU_INT32U money, CPU_INT08U card, CPU_INT32U bonus) void IncSolarCounters(CPU_INT08U ch, CPU_INT08U mode, CPU_INT32U worktime, CPU_INT32U money, CPU_INT08U card, CPU_INT32U bonus)
{ {
@ -115,11 +129,11 @@ void IncSolarCounters(CPU_INT08U ch, CPU_INT08U mode, CPU_INT32U worktime, CPU_I
if (card == 2) if (card == 2)
{ {
counters.solar_chm[ch * SOLAR_MODES_COUNT + mode].card_money += money; /*counters.solar_chm[ch * SOLAR_MODES_COUNT + mode].card_money += money;
counters.solar_m[mode].card_money += money; counters.solar_m[mode].card_money += money;
counters.solar_chm[ch * SOLAR_MODES_COUNT + mode].card_bonus += bonus; counters.solar_chm[ch * SOLAR_MODES_COUNT + mode].card_bonus += bonus;
counters.solar_m[mode].card_bonus += bonus; counters.solar_m[mode].card_bonus += bonus;*/
} }
else else
{ {
@ -1051,6 +1065,8 @@ void AppVladEventProcess(CPU_INT32U event)
SaveEventAbonementRecord(&record); SaveEventAbonementRecord(&record);
IncSolarAbonementCounters(app_state.ch_index, app_state.mode_index, money, bonus);
app_state.user_menu = USER_MENU_CARD_OK; app_state.user_menu = USER_MENU_CARD_OK;
PostUserEvent(EVENT_FINISH_PAYMENT_ABONEMENT_SOLARIUM); PostUserEvent(EVENT_FINISH_PAYMENT_ABONEMENT_SOLARIUM);
} }

View File

@ -22,6 +22,9 @@
#include "mode.h" #include "mode.h"
#include "ftp_app.h" #include "ftp_app.h"
#include "rfid-spi.h"
#include "mfrc522data.h"
extern CPU_INT32U modem_status; extern CPU_INT32U modem_status;
extern CPU_INT08U start_pass_ok; extern CPU_INT08U start_pass_ok;
extern int player_conn; extern int player_conn;
@ -712,7 +715,22 @@ void OnChangeClearStatAbonementCmd(void)
{ {
if (ClearStatAbonementCmd) if (ClearStatAbonementCmd)
{ {
ClearAbonementCounters(); while (1)
{
if (picc_read_card_serial())
{
if (picc_read_card_serial())
{
init_mifare_card_data();
write_mifare_card();
stop_card_working();
break;
}
}
OSTimeDly(100);
}
ClearStatAbonementCmd = 0; ClearStatAbonementCmd = 0;
} }
} }

View File

@ -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:\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 @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:\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 @echo off
:end :end

View File

@ -23,9 +23,9 @@
if ($debugfile -eq "") 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 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"
} }

View File

@ -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:\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" --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