From 8343c6d7cc76ae82817cea06d054f268ee39e807 Mon Sep 17 00:00:00 2001 From: dimoniche Date: Tue, 9 Jul 2019 01:28:00 +0300 Subject: [PATCH] 1 --- PROJECT/app/app_serv.c | 22 ++++++----- PROJECT/app/journal.c | 52 ++++++++++++++++++++++-- PROJECT/app/journal.h | 34 +++++++++++----- PROJECT/data/datadesc.c | 8 ++++ PROJECT/drivers/fiscal/fiscal.c | 38 ++++++++++++++++++ PROJECT/drivers/fiscal/fiscal.h | 1 + PROJECT/menu/menudesc.c | 8 ++++ PROJECT/services/fr.c | 70 ++++++++++++++++++++++----------- PROJECT/services/fr.h | 2 +- settings/sk-mlpc2368.dni | 6 +-- settings/sk-mlpc2368.wsdt | 10 ++--- 11 files changed, 197 insertions(+), 54 deletions(-) diff --git a/PROJECT/app/app_serv.c b/PROJECT/app/app_serv.c index ac1d2ad..e510ea2 100644 --- a/PROJECT/app/app_serv.c +++ b/PROJECT/app/app_serv.c @@ -366,7 +366,7 @@ void UserAppTask(void *p_arg) SetAcceptedBankMoney(accmoney, number_post); money_timestamp[number_post] = OSTimeGet(); - if (money) SaveEventRecord(number_post, JOURNAL_EVENT_MONEY_NOTE_POST1 + number_post, money); + if (money) SaveEventRecord(number_post, JOURNAL_EVENT_MONEY_BANK_POST1 + number_post, money); wash_State[number_post] = insertMoney; } @@ -488,6 +488,9 @@ void UserAppTask(void *p_arg) case EVENT_CASH_PRINT_CHECK_POST6: case EVENT_CASH_PRINT_CHECK_VACUUM1: case EVENT_CASH_PRINT_CHECK_VACUUM2: + + if (was_critical_error) break; + if (GetMode() == MODE_WORK) // печатаем только в рабочем режиме { int number_post = event - EVENT_CASH_PRINT_CHECK_POST1; @@ -503,7 +506,7 @@ void UserAppTask(void *p_arg) // напечатаем наличный чек if (IsFiscalConnected()) { - if (PrintFiscalBill(accmoney,number_post) == 0) // здесь добавить с какого поста чек + if (PrintFiscalBill(accmoney, number_post, 0) == 0) // здесь добавить с какого поста чек { SaveEventRecord(number_post, JOURNAL_EVENT_PRINT_BILL_POST1 + number_post, GetTimeSec()); } @@ -535,14 +538,14 @@ void UserAppTask(void *p_arg) // напечатаем безналичный чек if (IsFiscalConnected()) { - if (PrintFiscalBill(accmoney,number_post) == 0) // здесь добавить с какого поста чек + if (PrintFiscalBill(accmoney,number_post, 1) == 0) // здесь добавить с какого поста чек { - SaveEventRecord(number_post, JOURNAL_EVENT_PRINT_BILL_POST1 + number_post, GetTimeSec()); + SaveEventRecord(number_post, JOURNAL_EVENT_PRINT_BILL_ONLINE_POST1 + number_post, GetTimeSec()); } } IncCounter(number_post, ChannelsPayedTime[number_post], accmoney); - SetAcceptedMoney(0, number_post); + SetAcceptedBankMoney(0, number_post); OSTimeDly(1000); // повесим меню "СПАСИБО" @@ -560,7 +563,7 @@ void UserAppTask(void *p_arg) case EVENT_KEY_F1: testMoney = 100; - PostUserEvent(EVENT_COIN_INSERTED_VACUUM1); + PostUserEvent(EVENT_BANK_INSERTED_POST1); /*FIO4SET_bit.P4_28 = 1; OSTimeDly(50); @@ -583,10 +586,11 @@ void UserAppTask(void *p_arg) FIO4CLR_bit.P4_28 = 1;*/ break; case EVENT_KEY_F2: - //PostUserEvent(EVENT_STOP_MONEY_POST1); + PostUserEvent(EVENT_WAIT_CASH_PRINT_CHECK_POST1); break; case EVENT_KEY_F3: - //PostUserEvent(EVENT_WAIT_CASH_PRINT_CHECK_POST1); + testMoney = 100; + PostUserEvent(EVENT_CASH_INSERTED_POST1); break; #endif default: @@ -702,7 +706,7 @@ void UserPrintMoneyMenu(int post) } else if(wash_State[post] == insertMoney) { - accmoney = GetAcceptedMoney(post); + accmoney = GetAcceptedMoney(post) + GetAcceptedBankMoney(post); sprintf(buf, " Внесите деньги"); PrintUserMenuStr(buf, 1); diff --git a/PROJECT/app/journal.c b/PROJECT/app/journal.c index 72b2c0b..58b60e6 100644 --- a/PROJECT/app/journal.c +++ b/PROJECT/app/journal.c @@ -144,7 +144,26 @@ void GetEventStr(char* str, char event) case JOURNAL_EVENT_MONEY_NOTE_POST6: sprintf(str, "Вн.купюра пост 6"); break; - + + case JOURNAL_EVENT_MONEY_BANK_POST1: + sprintf(str, "Эл.платеж пост 1"); + break; + case JOURNAL_EVENT_MONEY_BANK_POST2: + sprintf(str, "Эл.платеж пост 2"); + break; + case JOURNAL_EVENT_MONEY_BANK_POST3: + sprintf(str, "Эл.платеж пост 3"); + break; + case JOURNAL_EVENT_MONEY_BANK_POST4: + sprintf(str, "Эл.платеж пост 4"); + break; + case JOURNAL_EVENT_MONEY_BANK_POST5: + sprintf(str, "Эл.платеж пост 5"); + break; + case JOURNAL_EVENT_MONEY_BANK_POST6: + sprintf(str, "Эл.платеж пост 6"); + break; + case JOURNAL_EVENT_MONEY_COIN_POST1: sprintf(str, "Вн.монеты пост 1"); break; @@ -204,7 +223,26 @@ void GetEventStr(char* str, char event) case JOURNAL_EVENT_PRINT_BILL_VACUUM2: sprintf(str, "Печать чека пыл.2"); break; - + + case JOURNAL_EVENT_PRINT_BILL_ONLINE_POST1: + sprintf(str, "Печ.online чека пост 1"); + break; + case JOURNAL_EVENT_PRINT_BILL_ONLINE_POST2: + sprintf(str, "Печ. online чека пост 2"); + break; + case JOURNAL_EVENT_PRINT_BILL_ONLINE_POST3: + sprintf(str, "Печ.online чека пост 3"); + break; + case JOURNAL_EVENT_PRINT_BILL_ONLINE_POST4: + sprintf(str, "Печ.online чека пост 4"); + break; + case JOURNAL_EVENT_PRINT_BILL_ONLINE_POST5: + sprintf(str, "Печ.online чека пост 5"); + break; + case JOURNAL_EVENT_PRINT_BILL_ONLINE_POST6: + sprintf(str, "Печ.online чека пост 6"); + break; + case JOURNAL_EVENT_PRINT_Z: sprintf(str, "Печать отчета о закр.см."); break; @@ -365,6 +403,10 @@ void PrintEventJournalRecordEng(char* str, TEventRecord *record) { sprintf(&str[strlen(str)], "%d rub.", record->data); } + else if ((record->event >= JOURNAL_EVENT_MONEY_BANK_POST1) && (record->event <= JOURNAL_EVENT_MONEY_BANK_POST6)) + { + sprintf(&str[strlen(str)], "%d rub.", record->data); + } else if (record->event == JOURNAL_EVENT_START_SESSION) { sprintf(&str[strlen(str)], ""); @@ -379,7 +421,11 @@ void PrintEventJournalRecordEng(char* str, TEventRecord *record) { sprintf(&str[strlen(str)], ""); } - if ((record->event >= JOURNAL_EVENT_PRINT_BILL_POST1) && (record->event <= JOURNAL_EVENT_PRINT_BILL_VACUUM2)) + else if ((record->event >= JOURNAL_EVENT_PRINT_BILL_POST1) && (record->event <= JOURNAL_EVENT_PRINT_BILL_VACUUM2)) + { + sprintf(&str[strlen(str)], " "); + } + else if ((record->event >= JOURNAL_EVENT_PRINT_BILL_ONLINE_POST1) && (record->event <= JOURNAL_EVENT_PRINT_BILL_ONLINE_POST1)) { sprintf(&str[strlen(str)], " "); } diff --git a/PROJECT/app/journal.h b/PROJECT/app/journal.h index c7a27b2..4562d78 100644 --- a/PROJECT/app/journal.h +++ b/PROJECT/app/journal.h @@ -44,20 +44,34 @@ typedef struct{ #define JOURNAL_EVENT_PRINT_BILL_VACUUM1 25 // печать чека пылесос 1 #define JOURNAL_EVENT_PRINT_BILL_VACUUM2 26 // печать чека пылесос 2 - #define JOURNAL_EVENT_PRINT_Z 27 // печать z-отчета - #define JOURNAL_EVENT_PRINT_X 28 // печать x-отчета - #define JOURNAL_EVENT_PRINT_BUF 29 // печать x-отчета - #define JOURNAL_EVENT_CHANGE_MODE 30 // смена режима - #define JOURNAL_EVENT_INCASSATION 31 // инкассация - #define JOURNAL_EVENT_PASS_FAIL 32 // неверный ввод пароля - #define JOURNAL_EVENT_EMAIL_OK 33 // правильно отправлен email - #define JOURNAL_EVENT_EMAIL_FAIL 34 // ошибка при отправке email + #define JOURNAL_EVENT_MONEY_BANK_POST1 27 // событие получения денег с карты пост 1 + #define JOURNAL_EVENT_MONEY_BANK_POST2 28 // событие получения денег с карты пост 2 + #define JOURNAL_EVENT_MONEY_BANK_POST3 29 // событие получения денег с карты пост 3 + #define JOURNAL_EVENT_MONEY_BANK_POST4 30 // событие получения денег с карты пост 4 + #define JOURNAL_EVENT_MONEY_BANK_POST5 31 // событие получения денег с карты пост 5 + #define JOURNAL_EVENT_MONEY_BANK_POST6 32 // событие получения денег с карты пост 6 + + #define JOURNAL_EVENT_PRINT_BILL_ONLINE_POST1 33 // печать чека пост 1 + #define JOURNAL_EVENT_PRINT_BILL_ONLINE_POST2 34 // печать чека пост 2 + #define JOURNAL_EVENT_PRINT_BILL_ONLINE_POST3 35 // печать чека пост 3 + #define JOURNAL_EVENT_PRINT_BILL_ONLINE_POST4 36 // печать чека пост 4 + #define JOURNAL_EVENT_PRINT_BILL_ONLINE_POST5 37 // печать чека пост 5 + #define JOURNAL_EVENT_PRINT_BILL_ONLINE_POST6 38 // печать чека пост 6 + + #define JOURNAL_EVENT_PRINT_Z 39 // печать z-отчета + #define JOURNAL_EVENT_PRINT_X 40 // печать x-отчета + #define JOURNAL_EVENT_PRINT_BUF 41 // печать x-отчета + #define JOURNAL_EVENT_CHANGE_MODE 42 // смена режима + #define JOURNAL_EVENT_INCASSATION 43 // инкассация + #define JOURNAL_EVENT_PASS_FAIL 44 // неверный ввод пароля + #define JOURNAL_EVENT_EMAIL_OK 45 // правильно отправлен email + #define JOURNAL_EVENT_EMAIL_FAIL 46 // ошибка при отправке email // ошибка связи с фискальником - #define ERROR_FR_CONN 35 + #define ERROR_FR_CONN 47 // ВСЕ ОШИБКИ ФР ФАТАЛЬНЫЕ - #define ERROR_FR 36 + #define ERROR_FR 48 #define JOURNAL_EVENTS_COUNT (ERROR_FR+FR_ERROR_NUMBER) // число событий diff --git a/PROJECT/data/datadesc.c b/PROJECT/data/datadesc.c index 26da3e4..901df9c 100644 --- a/PROJECT/data/datadesc.c +++ b/PROJECT/data/datadesc.c @@ -1169,6 +1169,10 @@ CPU_INT08U const *ErrorNumberList0[JOURNAL_EVENTS_COUNT] = "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "ФР:01h-Неизвестная", "ФР:02h-Неверное", "ФР:03h-Ошибка ФН", @@ -1314,6 +1318,10 @@ CPU_INT08U const *ErrorNumberList1[JOURNAL_EVENTS_COUNT] = "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "команда", // ФР:01h "состояние ФН", "", diff --git a/PROJECT/drivers/fiscal/fiscal.c b/PROJECT/drivers/fiscal/fiscal.c index 2917884..c5ad25c 100644 --- a/PROJECT/drivers/fiscal/fiscal.c +++ b/PROJECT/drivers/fiscal/fiscal.c @@ -884,6 +884,44 @@ int FiscCloseBillV2(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U taxsys, char* return FISC_OK; } +int FiscCloseBillV2Online(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U taxsys, char* text, CPU_INT08U* err) +{ + CPU_INT08U* rxdat; + CPU_INT08U len; + + fisc_buf[0] = 0x45; + memcpy(&fisc_buf[1], (CPU_INT08U*)&pass, 4); + memcpy(&fisc_buf[5], 0, 5); + + memcpy(&fisc_buf[10], cash, 5); // online платеж + + memset(&fisc_buf[15], 0, 70); + fisc_buf[85] = 0x00; // округление до рубля в копейках + memset(&fisc_buf[86], 0, 5); // налог 1 + memset(&fisc_buf[91], 0, 5); // налог 2 + memset(&fisc_buf[96], 0, 5); // налог 3 + memset(&fisc_buf[101], 0, 5); // налог 4 + memset(&fisc_buf[106], 0, 5); // налог 5 + memset(&fisc_buf[111], 0, 5); // налог 6 + fisc_buf[116] = (1 << taxsys); + memset(&fisc_buf[117], 0, 40); + strcpy((char*)&fisc_buf[117], text); + + if (FiscSendCommand(FISC_EXTENDED_CMD, fisc_buf, 157) != FISC_OK) {return FISC_ERR;} + + memset(fisc_buf, 0, 256); + + if (FiscReceiveAnswer(&rxdat, &len, FISC_ANSWER_TIMEOUT) != FISC_OK) {return FISC_ERR;} + + *err = rxdat[2]; + + //if (8 != len) {return FISC_ERR;} + + if ((rxdat[0] != FISC_EXTENDED_CMD) || (rxdat[1] != 0x45) || (rxdat[2] != 0)) {return FISC_ERR;} + + return FISC_OK; +} + // продолжение печати (после отсутствия бумаги) int FiscPrintContinue(CPU_INT32U pass, CPU_INT08U* err) { diff --git a/PROJECT/drivers/fiscal/fiscal.h b/PROJECT/drivers/fiscal/fiscal.h index 30d5f4a..ae62601 100644 --- a/PROJECT/drivers/fiscal/fiscal.h +++ b/PROJECT/drivers/fiscal/fiscal.h @@ -360,5 +360,6 @@ extern int FiscOpenDay(CPU_INT32U pass, CPU_INT08U* err); extern int FiscMakeSellV2(CPU_INT32U pass, CPU_INT64U *count, CPU_INT64U *price, CPU_INT08U department, CPU_INT08U* tax, CPU_INT08U subj, char* text, CPU_INT08U* err); extern int FiscCloseBillV2(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U taxsys, char* text, CPU_INT08U* err); +extern int FiscCloseBillV2Online(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U taxsys, char* text, CPU_INT08U* err); #endif //#ifndef _FISCAL_H_ diff --git a/PROJECT/menu/menudesc.c b/PROJECT/menu/menudesc.c index 40266ea..40445f6 100644 --- a/PROJECT/menu/menudesc.c +++ b/PROJECT/menu/menudesc.c @@ -1553,6 +1553,10 @@ void PrintEventJournalRecord(TEventRecord *record) { sprintf(str_EventData, "%d руб.пост %d", record->data, record->event%6); } + else if ((record->event >= JOURNAL_EVENT_MONEY_BANK_POST1) && (record->event <= JOURNAL_EVENT_MONEY_BANK_POST6)) + { + sprintf(str_EventData, "%d руб.пост %d", record->data, record->event%6); + } else if (record->event == JOURNAL_EVENT_START_SESSION) { sprintf(&str_EventNumber[strlen(str_EventNumber)], ""); @@ -1571,6 +1575,10 @@ void PrintEventJournalRecord(TEventRecord *record) { sprintf(str_EventData, " "); } + else if ((record->event >= JOURNAL_EVENT_PRINT_BILL_ONLINE_POST1) && (record->event <= JOURNAL_EVENT_PRINT_BILL_ONLINE_POST1)) + { + sprintf(str_EventData, " "); + } else if (record->event == JOURNAL_EVENT_PRINT_Z) { sprintf(str_EventData, ""); diff --git a/PROJECT/services/fr.c b/PROJECT/services/fr.c index 4affa15..1d45296 100644 --- a/PROJECT/services/fr.c +++ b/PROJECT/services/fr.c @@ -624,7 +624,7 @@ void ClrFiscalErrorByCode(CPU_INT08U err) // печать чека на ФР // ext - расширенный формат команды (Операция V2 расширенное закрытие чека) -int PrintFiscalBill(CPU_INT32U money, CPU_INT32U post) +int PrintFiscalBill(CPU_INT32U money, CPU_INT32U post, CPU_INT32U online) { CPU_INT08U err; CPU_INT64U count = 1000; @@ -877,28 +877,54 @@ repeat_close: GetData(&TaxSystemDesc, &tax1, 0, DATA_FLAG_SYSTEM_INDEX); tax[0] = (CPU_INT08U)tax1; } - - if (((ext == 0) && (FiscCloseBill(DEFAULT_PASS, &cash, &tax[0], "Спасибо за покупку!!!", &err) != FISC_OK)) - || ((ext) && (FiscCloseBillV2(DEFAULT_PASS, &cash, tax[0], "Спасибо за покупку!!!", &err) != FISC_OK)) - ) + + if(online) { - if (err) - { - SetFiscalErrorByCode(err); - } - else - { - // нет соединения - ClearFiscalErrors(); - FiscalConnState = FISCAL_NOCONN; - SetErrorFlag(ERROR_FR_CONN); - } - if (repeat) - { - FPost(); - return -4; - } - repeat++; + if(((ext) && (FiscCloseBillV2Online(DEFAULT_PASS, &cash, tax[0], "Спасибо за покупку!!!", &err) != FISC_OK))) + { + if (err) + { + SetFiscalErrorByCode(err); + } + else + { + // нет соединения + ClearFiscalErrors(); + FiscalConnState = FISCAL_NOCONN; + SetErrorFlag(ERROR_FR_CONN); + } + if (repeat) + { + FPost(); + return -4; + } + repeat++; + } + } + else + { + if (((ext == 0) && (FiscCloseBill(DEFAULT_PASS, &cash, &tax[0], "Спасибо за покупку!!!", &err) != FISC_OK)) + || ((ext) && (FiscCloseBillV2(DEFAULT_PASS, &cash, tax[0], "Спасибо за покупку!!!", &err) != FISC_OK)) + ) + { + if (err) + { + SetFiscalErrorByCode(err); + } + else + { + // нет соединения + ClearFiscalErrors(); + FiscalConnState = FISCAL_NOCONN; + SetErrorFlag(ERROR_FR_CONN); + } + if (repeat) + { + FPost(); + return -4; + } + repeat++; + } } if (repeat) diff --git a/PROJECT/services/fr.h b/PROJECT/services/fr.h index b1ded94..67be262 100644 --- a/PROJECT/services/fr.h +++ b/PROJECT/services/fr.h @@ -14,7 +14,7 @@ extern void InitFiscal(void); extern int IsFiscalConnected(void); extern void FPend(void); extern void FPost(void); -extern int PrintFiscalBill(CPU_INT32U money, CPU_INT32U post); +extern int PrintFiscalBill(CPU_INT32U money, CPU_INT32U post, CPU_INT32U online); extern int PrintFiscalBillRepeated(CPU_INT32U money, CPU_INT32U time); extern void SetFiscalErrorByCode(CPU_INT08U err); extern void ClearFiscalErrors(void); diff --git a/settings/sk-mlpc2368.dni b/settings/sk-mlpc2368.dni index 0673baf..0e2fa03 100644 --- a/settings/sk-mlpc2368.dni +++ b/settings/sk-mlpc2368.dni @@ -14,7 +14,7 @@ Count=0 Enabled=0 ShowSource=1 [DebugChecksum] -Checksum=1092686877 +Checksum=1408088267 [Exceptions] StopOnUncaught=_ 0 StopOnThrow=_ 0 @@ -155,9 +155,7 @@ Fmt0={W}0:curr_input 4 0 [Disassemble mode] mode=0 [Breakpoints2] -Bp0=_ 1 "EMUL_CODE" "{$PROJ_DIR$\PROJECT\app\app_serv.c}.258.27" 0 0 1 "" 0 "" 0 -Bp1=_ 1 "EMUL_CODE" "{$PROJ_DIR$\PROJECT\app\app_serv.c}.493.19" 0 0 1 "" 0 "" 0 -Count=2 +Count=0 [Log file] LoggingEnabled=_ 0 LogFile=_ "" diff --git a/settings/sk-mlpc2368.wsdt b/settings/sk-mlpc2368.wsdt index 7d37961..fe49601 100644 --- a/settings/sk-mlpc2368.wsdt +++ b/settings/sk-mlpc2368.wsdt @@ -24,7 +24,7 @@ - + TabID-23142-24246 @@ -34,7 +34,7 @@ TabID-28963-15244Find in FilesFind-in-FilesTabID-3677-8150Debug LogDebug-Log - 1 + 0 TabID-1122-24249 @@ -46,20 +46,20 @@ - 0 + 0 - 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\app\journal.c03901170811708TextEditor$WS_DIR$\PROJECT\services\time.c081625625TextEditor$WS_DIR$\PROJECT\data\data.c034494269426TextEditor$WS_DIR$\PROJECT\services\coin.h00882882TextEditor$WS_DIR$\PROJECT\menu\menudesc.c08833568335683TextEditor$WS_DIR$\PROJECT\drivers\fiscal\fiscal.h02114471464TextEditor$WS_DIR$\PROJECT\services\mode.c028763763TextEditor$WS_DIR$\PROJECT\drivers\keyboard\keyboard.h00470470TextEditor$WS_DIR$\OS\uc\os_ii\source\os_core.c013595689856898TextEditor$WS_DIR$\PROJECT\app\app_serv.h05020882088TextEditor$WS_DIR$\PROJECT\menu\menu.c016245484548TextEditor$WS_DIR$\PROJECT\drivers\lcd\lcd.c028669536953TextEditor$WS_DIR$\PROJECT\menu\menu.h06292292TextEditor$WS_DIR$\PROJECT\data\fram_map.h00815815TextEditor$WS_DIR$\PROJECT\menu\menudesc.h03622922292TextEditor$WS_DIR$\PROJECT\app\journal.h06740654065TextEditor$WS_DIR$\PROJECT\services\fr.c06161629616311TextEditor$WS_DIR$\PROJECT\drivers\fiscal\fiscal.c07581951719517TextEditor$WS_DIR$\OS\app\app.c02711311131TextEditor$WS_DIR$\OS\uc\os_ii\source\os_q.c04342250222502TextEditor$WS_DIR$\PROJECT\services\coin.c05920442044TextEditor$WS_DIR$\PROJECT\data\data.h04011851185TextEditor$WS_DIR$\PROJECT\data\datadesc.c0831372023720226TextEditor$WS_DIR$\OS\uc\os_ii\source\os_time.c02171031110311TextEditor$WS_DIR$\PROJECT\app\app_serv.c02451685016850TextEditor$WS_DIR$\PROJECT\data\datadesc.h002362480100000010000001 + 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\data\data.c034494269426TextEditor$WS_DIR$\PROJECT\services\coin.h00882882TextEditor$WS_DIR$\PROJECT\services\mode.c028763763TextEditor$WS_DIR$\PROJECT\drivers\keyboard\keyboard.h00470470TextEditor$WS_DIR$\PROJECT\app\app_serv.h05015361536TextEditor$WS_DIR$\PROJECT\menu\menu.c016245484548TextEditor$WS_DIR$\PROJECT\drivers\lcd\lcd.c028669536953TextEditor$WS_DIR$\PROJECT\menu\menu.h06292292TextEditor$WS_DIR$\PROJECT\data\fram_map.h00815815TextEditor$WS_DIR$\PROJECT\menu\menudesc.h03622922292TextEditor$WS_DIR$\PROJECT\app\journal.h02418661866TextEditor$WS_DIR$\OS\uc\os_ii\source\os_q.c04342250222502TextEditor$WS_DIR$\PROJECT\services\coin.c030182908290TextEditor$WS_DIR$\PROJECT\data\data.h04011851185TextEditor$WS_DIR$\PROJECT\data\datadesc.c02013905749057419TextEditor$WS_DIR$\OS\uc\os_ii\source\os_time.c02171031110311TextEditor$WS_DIR$\PROJECT\app\app_serv.c05151842118421TextEditor$WS_DIR$\PROJECT\data\datadesc.h00236248TextEditor$WS_DIR$\PROJECT\drivers\fiscal\fiscal.h03218871887TextEditor$WS_DIR$\PROJECT\services\fr.h00139139TextEditor$WS_DIR$\OS\uc\os_ii\source\os_core.c013595689856898TextEditor$WS_DIR$\PROJECT\app\journal.c017958958TextEditor$WS_DIR$\PROJECT\menu\menudesc.c013605572955729TextEditor$WS_DIR$\OS\app\app.c02711311131TextEditor$WS_DIR$\PROJECT\services\fr.c08592341723417TextEditor$WS_DIR$\PROJECT\drivers\fiscal\fiscal.c08792322823228TextEditor$WS_DIR$\OS\uc\os_ii\port\os_cpu_c.c023199829982TextEditor$WS_DIR$\OS\uc\os_ii\port\os_cpu_a.asm0116573257320100000010000001 - iaridepm.enu1-2-2715259-2-2200146156250153523203906753943-2-21911282-2-212841931003125202944156250153523 + iaridepm.enu1-2-2715259-2-2200146156250153523203906753943-2-21911282-2-212841931003125202944156250153523