mirror of
https://github.com/dimoniche/Moyka.git
synced 2026-01-29 17:33:33 +03:00
1. поменяли ножки для банковских терминалов Б1 и Б2
2. ввел таймаут ожидания печати чека после снятия ошибки фискальника 3. нашел пару ошибок при работе с банковскими входами 4. очистка таймеров и сброс в сбор денег при возникновении ошибок фискальника
This commit is contained in:
parent
26b63f450b
commit
038555861d
@ -103,6 +103,9 @@ static CPU_INT32U bank_enable[COUNT_POST];
|
||||
static CPU_INT32U enable_signal[COUNT_POST];
|
||||
static CPU_INT32U fiscal_enable;
|
||||
|
||||
// òàéì àóò ìåíþ ïå÷àòü ÷åêà ïîñëå ñíÿòèÿ îøèáêè ôèñêàëüíèêà
|
||||
static CPU_INT16U time_out_print_check[COUNT_POST + COUNT_VACUUM] = {0, 0, 0, 0, 0, 0, 0, 0};
|
||||
|
||||
void DrawMenu(void)
|
||||
{
|
||||
if (GetMode() != MODE_WORK) return;
|
||||
@ -286,6 +289,19 @@ void UserAppTask(void *p_arg)
|
||||
// âûêëþ÷èì ïðèåì äåíåã, äåíüãè ïðèíèìàþòñÿ - íî ÷åêè íå ïå÷àòàåì - êîïèì
|
||||
if (was_critical_error == 0)
|
||||
{
|
||||
for(int post = 0; post < COUNT_POST + COUNT_VACUUM; post++)
|
||||
{
|
||||
// îáíóëèì ïåðåìåííûå, åñëè íàõîäèëèñü â ðåæèìå ïå÷àòè ÷åêà èëè åãî îæèäàíèÿ
|
||||
// èëè äàæå ñðàçó ïîñëå ñíÿòèÿ îøèáêè ôèñêàëüíèêà
|
||||
if(wash_State[post] == printCheck)
|
||||
{
|
||||
wash_State[post] = waitMoney;
|
||||
countSecWait[post] = 0;
|
||||
}
|
||||
|
||||
time_out_print_check[post] = 0;
|
||||
}
|
||||
|
||||
was_critical_error = 1;
|
||||
}
|
||||
break;
|
||||
@ -301,6 +317,7 @@ void UserAppTask(void *p_arg)
|
||||
for(int post = 0; post < COUNT_POST + COUNT_VACUUM; post++)
|
||||
{
|
||||
accmoney = GetAcceptedMoney(post);
|
||||
accmoney += GetAcceptedBankMoney(post);
|
||||
|
||||
if (accmoney > 0)
|
||||
{
|
||||
@ -308,14 +325,36 @@ void UserAppTask(void *p_arg)
|
||||
money_timestamp[post] = OSTimeGet();
|
||||
// ïîñëå ñáðîñà îøèáêè ÷åêè ïå÷àòàåì íå ñðàçó - à ÷åðåç òàéì àóò ïå÷àòè, âäðóã íå âñå èñïðàâèëîñü?
|
||||
PostUserEvent(EVENT_WAIT_CASH_PRINT_CHECK_POST1 + post);
|
||||
|
||||
// âçâåäåì òàéìàóò ïå÷àòè ÷åêà - ïîñëàëè æå çàïðîñ
|
||||
time_out_print_check[post] = 35;
|
||||
}
|
||||
|
||||
// çŕîäíî íŕ âń˙ęčé ńëó÷ŕé ńáđîńčě ńîîáůĺíčĺ î ďĺ÷ŕňč ÷ĺęŕ
|
||||
if(wash_State[post] == printCheck) wash_State[post] = waitMoney;
|
||||
// çàîäíî íà âñÿêèé ñëó÷àé ñáðîñèì ñîîáùåíèå î ïå÷àòè ÷åêà è òàéì àóò åãî îæèäàíèÿ
|
||||
if(wash_State[post] == printCheck)
|
||||
{
|
||||
wash_State[post] = waitMoney;
|
||||
countSecWait[post] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
// òàéì àóò îæèäàíèÿ ïå÷àòè ïîñëå îøèáêè ôèñêàëüíèêà - 35 ñåêóíä
|
||||
for(int post = 0; post < COUNT_POST + COUNT_VACUUM; post++)
|
||||
{
|
||||
if(time_out_print_check[post])
|
||||
{
|
||||
time_out_print_check[post]--;
|
||||
|
||||
if(!time_out_print_check[post] && wash_State[post] == printCheck)
|
||||
{
|
||||
wash_State[post] = waitMoney;
|
||||
countSecWait[post] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1020,6 +1059,9 @@ CPU_INT32U GetAcceptedMoney(int post)
|
||||
void SetAcceptedBankMoney(CPU_INT32U money, int post)
|
||||
{
|
||||
CPU_INT32U m,crc;
|
||||
|
||||
if(post >= COUNT_POST) return;
|
||||
|
||||
m=money;
|
||||
crc = crc16((unsigned char*)&m, sizeof(CPU_INT32U));
|
||||
SetData(&AcceptedBankMoneyDesc, &m, post, DATA_FLAG_DIRECT_INDEX);
|
||||
@ -1030,6 +1072,9 @@ void SetAcceptedBankMoney(CPU_INT32U money, int post)
|
||||
void ClearAcceptedBankMoney(int post)
|
||||
{
|
||||
CPU_INT32U m,crc;
|
||||
|
||||
if(post >= COUNT_POST) return;
|
||||
|
||||
m=0;
|
||||
crc = crc16((unsigned char*)&m, sizeof(CPU_INT32U));
|
||||
SetData(&AcceptedBankMoneyDesc, &m, post, DATA_FLAG_DIRECT_INDEX);
|
||||
@ -1040,6 +1085,9 @@ void ClearAcceptedBankMoney(int post)
|
||||
CPU_INT32U GetAcceptedBankMoney(int post)
|
||||
{
|
||||
CPU_INT32U m;
|
||||
|
||||
if(post >= COUNT_POST) return 0;
|
||||
|
||||
GetData(&AcceptedBankMoneyDesc, &m, post, DATA_FLAG_DIRECT_INDEX);
|
||||
return m;
|
||||
}
|
||||
|
||||
@ -524,14 +524,16 @@ CPU_INT32U input_register()
|
||||
{
|
||||
SETBIT(input, 19);
|
||||
}
|
||||
if (FIO0PIN_bit.P0_28)
|
||||
|
||||
if (FIO2PIN_bit.P2_10)
|
||||
{
|
||||
SETBIT(input, 20);
|
||||
}
|
||||
if (FIO0PIN_bit.P0_27)
|
||||
if (FIO1PIN_bit.P1_31)
|
||||
{
|
||||
SETBIT(input, 21);
|
||||
}
|
||||
|
||||
if (FIO1PIN_bit.P1_24)
|
||||
{
|
||||
SETBIT(input, 22);
|
||||
@ -972,7 +974,7 @@ void InputCapture_ISR(void)
|
||||
// áàíê 1
|
||||
if(TSTBIT(input_event, 20))
|
||||
{
|
||||
if ((!FIO0PIN_bit.P0_28 && bankLevel[0]) || (FIO0PIN_bit.P0_28 && !bankLevel[0]))
|
||||
if ((!FIO2PIN_bit.P2_10 && bankLevel[0]) || (FIO2PIN_bit.P2_10 && !bankLevel[0]))
|
||||
{ // ïðèøåë çàäíèé ôðîíò
|
||||
CPU_INT32U cr=T3CR;
|
||||
cr -= period_bank[0];
|
||||
@ -993,7 +995,7 @@ void InputCapture_ISR(void)
|
||||
// áàíê 2
|
||||
if(TSTBIT(input_event, 21))
|
||||
{
|
||||
if ((!FIO0PIN_bit.P0_27 && bankLevel[1]) || (FIO0PIN_bit.P0_27 && !bankLevel[1]))
|
||||
if ((!FIO1PIN_bit.P1_31 && bankLevel[1]) || (FIO1PIN_bit.P1_31 && !bankLevel[1]))
|
||||
{ // ïðèøåë çàäíèé ôðîíò
|
||||
CPU_INT32U cr=T3CR;
|
||||
cr -= period_bank[1];
|
||||
@ -1242,18 +1244,18 @@ void InitInputPorts()
|
||||
FIO1MASK_bit.P1_25 = 0;
|
||||
|
||||
// áàíê 1
|
||||
PINSEL1_bit.P0_28 = 0;
|
||||
if(bankLevel[0])PINMODE1_bit.P0_28 = 3;
|
||||
else PINMODE1_bit.P0_28 = 0;
|
||||
FIO0DIR_bit.P0_28 = 0;
|
||||
FIO0MASK_bit.P0_28 = 0;
|
||||
PINSEL4_bit.P2_10 = 0;
|
||||
if(bankLevel[0])PINMODE4_bit.P2_10 = 3;
|
||||
else PINMODE4_bit.P2_10 = 0;
|
||||
FIO2DIR_bit.P2_10 = 0;
|
||||
FIO2MASK_bit.P2_10 = 0;
|
||||
|
||||
// áàíê 2
|
||||
PINSEL1_bit.P0_27 = 0;
|
||||
if(bankLevel[1])PINMODE1_bit.P0_27 = 3;
|
||||
else PINMODE1_bit.P0_27 = 0;
|
||||
FIO0DIR_bit.P0_27 = 0;
|
||||
FIO0MASK_bit.P0_27 = 0;
|
||||
PINSEL3_bit.P1_31 = 0;
|
||||
if(bankLevel[1])PINMODE3_bit.P1_31 = 3;
|
||||
else PINMODE3_bit.P1_31 = 0;
|
||||
FIO1DIR_bit.P1_31 = 0;
|
||||
FIO1MASK_bit.P1_31 = 0;
|
||||
|
||||
// áàíê 3
|
||||
PINSEL3_bit.P1_24 = 0;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#ifndef _VERSION_H_
|
||||
#define _VERSION_H_
|
||||
|
||||
#define DEVICE_FW_VERSION "02.00"
|
||||
#define DEVICE_FW_VERSION "02.02"
|
||||
|
||||
|
||||
#endif // #ifndef _VERSION_H_
|
||||
@ -34,7 +34,7 @@
|
||||
</Tab>
|
||||
<Tab><Identity>TabID-28963-15244</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab><Tab><Identity>TabID-3677-8150</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs>
|
||||
|
||||
<SelectedTab>1</SelectedTab></Wnd0><Wnd1>
|
||||
<SelectedTab>0</SelectedTab></Wnd0><Wnd1>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-1122-24249</Identity>
|
||||
@ -52,14 +52,14 @@
|
||||
|
||||
|
||||
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>762</YPos><SelStart>34079</SelStart><SelEnd>34093</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\coin.c</Filename><XPos>0</XPos><YPos>1060</YPos><SelStart>31414</SelStart><SelEnd>31414</SelEnd></Tab><ActiveTab>1</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>354</YPos><SelStart>10810</SelStart><SelEnd>10810</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>80</YPos><SelStart>3719</SelStart><SelEnd>3719</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\time.c</Filename><XPos>0</XPos><YPos>240</YPos><SelStart>6982</SelStart><SelEnd>6982</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>2225</YPos><SelStart>99831</SelStart><SelEnd>99831</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\coin.c</Filename><XPos>0</XPos><YPos>973</YPos><SelStart>24292</SelStart><SelEnd>24292</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>310</YPos><SelStart>10494</SelStart><SelEnd>10494</SelEnd></Tab><ActiveTab>2</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\time.c</Filename><XPos>0</XPos><YPos>240</YPos><SelStart>6982</SelStart><SelEnd>6982</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\version.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>77</SelStart><SelEnd>77</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.c</Filename><XPos>0</XPos><YPos>489</YPos><SelStart>15185</SelStart><SelEnd>15185</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\fr.c</Filename><XPos>0</XPos><YPos>324</YPos><SelStart>9980</SelStart><SelEnd>9980</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>41</YPos><SelStart>3010</SelStart><SelEnd>3010</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>299</SelStart><SelEnd>299</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>194</SelStart><SelEnd>194</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\uc\cpu\cpu.h</Filename><XPos>0</XPos><YPos>88</YPos><SelStart>4701</SelStart><SelEnd>4711</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menu.c</Filename><XPos>0</XPos><YPos>202</YPos><SelStart>6049</SelStart><SelEnd>6049</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Positions>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Top><Row0><Sizes><Toolbar-03722c00><key>iaridepm.enu1</key></Toolbar-03722c00></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>633</Bottom><Right>288</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>110</yscreen><sizeHorzCX>156250</sizeHorzCX><sizeHorzCY>112130</sizeHorzCY><sizeVertCX>226563</sizeVertCX><sizeVertCY>647299</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>303</Bottom><Right>1282</Right><x>-2</x><y>-2</y><xscreen>1284</xscreen><yscreen>305</yscreen><sizeHorzCX>1003125</sizeHorzCX><sizeHorzCY>310907</sizeHorzCY><sizeVertCX>156250</sizeVertCX><sizeVertCY>112130</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
<Top><Row0><Sizes><Toolbar-02e03088><key>iaridepm.enu1</key></Toolbar-02e03088></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>748</Bottom><Right>288</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>110</yscreen><sizeHorzCX>156250</sizeHorzCX><sizeHorzCY>112130</sizeHorzCY><sizeVertCX>226563</sizeVertCX><sizeVertCY>764526</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>188</Bottom><Right>1282</Right><x>-2</x><y>-2</y><xscreen>1284</xscreen><yscreen>190</yscreen><sizeHorzCX>1003125</sizeHorzCX><sizeHorzCY>193680</sizeHorzCY><sizeVertCX>156250</sizeVertCX><sizeVertCY>112130</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
</Desktop>
|
||||
</Workspace>
|
||||
|
||||
|
||||
8437
sk-mlpc2368.dep
8437
sk-mlpc2368.dep
File diff suppressed because it is too large
Load Diff
@ -1512,7 +1512,7 @@
|
||||
</option>
|
||||
<option>
|
||||
<name>OOCOutputFile</name>
|
||||
<state>version2_00.hex</state>
|
||||
<state>version2_02.hex</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>OOCCommandLineProducer</name>
|
||||
@ -1566,7 +1566,7 @@
|
||||
</option>
|
||||
<option>
|
||||
<name>IlinkOutputFile</name>
|
||||
<state>version2_00.out</state>
|
||||
<state>version2_01.out</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IlinkDebugInfoEnable</name>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user