Очередные доработки

1. По кнопке ждем денег постоянно, пока на кнопку не нажали
2. Ошибок хоппера в режиме Cube нет - нет датчика
3. Банковский терминал и монетник так же в автоматическом режиме блокируются на прием заранее.
This commit is contained in:
Dmitriy 2022-04-03 20:40:18 +03:00
parent 2b64cd431c
commit 77478604d3
6 changed files with 8805 additions and 8719 deletions

View File

@ -386,6 +386,31 @@ void UserAppTask(void *p_arg)
}
if (money) SaveEventRecord(RecentChannel, JOURNAL_EVENT_MONEY_COIN, money);
{
// проверим нужно ли обратно включать монетоприемник на прием (прием выключается при генерации события)
// стоимость жетона в хоппере
CPU_INT32U HopperCost = 0;
GetData(&HopperCostDesc, &HopperCost, 0, DATA_FLAG_SYSTEM_INDEX);
CPU_INT32U accmoney = GetAcceptedMoney();
accmoney += GetAcceptedBankMoney();
accmoney += GetAcceptedRestMoney();
// выдаем монеты по кнопке?
CPU_INT32U hopperStartButton = 0;
GetData(&HopperButtonStartDesc, &hopperStartButton, 0, DATA_FLAG_SYSTEM_INDEX);
if(!hopperStartButton)
{
// выдача монет не по кнопке и набрали нужную сумму - денег больше не ждем - гасим прием
if(accmoney >= HopperCost)
{
CoinDisable();
}
}
}
coin_out_timestamp = OSTimeGet();
MoneyIn = 1;
}
@ -436,6 +461,31 @@ void UserAppTask(void *p_arg)
}
if (money) SaveEventRecord(RecentChannel, JOURNAL_EVENT_MONEY_BANK, money);
{
// проверим нужно ли обратно включать банковский терминал на прием (прием выключается при генерации события)
// стоимость жетона в хоппере
CPU_INT32U HopperCost = 0;
GetData(&HopperCostDesc, &HopperCost, 0, DATA_FLAG_SYSTEM_INDEX);
CPU_INT32U accmoney = GetAcceptedMoney();
accmoney += GetAcceptedBankMoney();
accmoney += GetAcceptedRestMoney();
// выдаем монеты по кнопке?
CPU_INT32U hopperStartButton = 0;
GetData(&HopperButtonStartDesc, &hopperStartButton, 0, DATA_FLAG_SYSTEM_INDEX);
if(!hopperStartButton)
{
// выдача монет не по кнопке и набрали нужную сумму - денег больше не ждем - гасим прием
if(accmoney >= HopperCost)
{
BankDisable();
}
}
}
coin_out_timestamp = OSTimeGet();
MoneyIn = 1;
}
@ -475,10 +525,23 @@ void UserAppTask(void *p_arg)
accmoney += GetAcceptedBankMoney();
accmoney += GetAcceptedRestMoney();
if(accmoney < HopperCost)
// выдаем монеты по кнопке?
CPU_INT32U hopperStartButton = 0;
GetData(&HopperButtonStartDesc, &hopperStartButton, 0, DATA_FLAG_SYSTEM_INDEX);
if(hopperStartButton)
{
// еще не набрали нужную сумму - включаем купюрник на прием
if (IsValidatorConnected()) CC_CmdBillType(0xffffff, 0xffffffff, ADDR_FL);
// выдача монет по кнопке - ждем еще денег
if (IsValidatorConnected()) CC_CmdBillType(0xffffff, 0xffffffff, ADDR_FL);
}
else
{
// выдача монет автоматически
if(accmoney < HopperCost)
{
// еще не набрали нужную сумму - включаем купюрник на прием
if (IsValidatorConnected()) CC_CmdBillType(0xffffff, 0xffffffff, ADDR_FL);
}
}
}
@ -665,6 +728,8 @@ void UserAppTask(void *p_arg)
// Èãíîðèðóåì îøèáêè õîïïåðà?
CPU_INT32U DisableHopperErrors = 0;
GetData(&DisableHopperErrorsDesc, &DisableHopperErrors, 0, DATA_FLAG_SYSTEM_INDEX);
// узнаем режим работы хоппера
GetData(&RegimeHopperDesc, &regime_hopper, 0, DATA_FLAG_SYSTEM_INDEX);
if(DisableHopperErrors)
{
@ -672,6 +737,13 @@ void UserAppTask(void *p_arg)
break;
}
if(regime_hopper)
{
// в режиме хоппера Cube - датчика ошибки нет
ClrErrorFlag(ERROR_HOPPER);
break;
}
if(!TstErrorFlag(ERROR_HOPPER))
{
// ñèãíàë îøèáêè õîïïåðà

View File

@ -1,7 +1,7 @@
#ifndef _VERSION_H_
#define _VERSION_H_
#define DEVICE_FW_VERSION "00.24"
#define DEVICE_FW_VERSION "00.25"
#endif // #ifndef _VERSION_H_

View File

@ -12,7 +12,7 @@
<Column0>237</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
<Column0>249</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace>
<Build>
@ -42,20 +42,20 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-27735-18517</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-8595-24806</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs><SelectedTab>1</SelectedTab></Wnd1></Windows>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-27735-18517</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-8595-24806</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1></Windows>
<Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\time.c</Filename><XPos>0</XPos><YPos>313</YPos><SelStart>8375</SelStart><SelEnd>8375</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\mode.c</Filename><XPos>0</XPos><YPos>36</YPos><SelStart>790</SelStart><SelEnd>790</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\keyboard\keyboard.c</Filename><XPos>0</XPos><YPos>93</YPos><SelStart>3391</SelStart><SelEnd>3391</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\bsp\bsp.c</Filename><XPos>0</XPos><YPos>80</YPos><SelStart>3757</SelStart><SelEnd>3757</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\keyboard\keyboard.h</Filename><XPos>0</XPos><YPos>6</YPos><SelStart>466</SelStart><SelEnd>466</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menu.c</Filename><XPos>0</XPos><YPos>344</YPos><SelStart>10091</SelStart><SelEnd>10091</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>1221</YPos><SelStart>50149</SelStart><SelEnd>50149</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.h</Filename><XPos>0</XPos><YPos>48</YPos><SelStart>2292</SelStart><SelEnd>2339</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\includes.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>114</SelStart><SelEnd>136</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>264</YPos><SelStart>9688</SelStart><SelEnd>9688</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>72</YPos><SelStart>2039</SelStart><SelEnd>2062</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\data.h</Filename><XPos>0</XPos><YPos>79</YPos><SelStart>2643</SelStart><SelEnd>2643</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\modem\modem.c</Filename><XPos>0</XPos><YPos>115</YPos><SelStart>2768</SelStart><SelEnd>2768</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\control.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>49</SelStart><SelEnd>49</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\uart0.c</Filename><XPos>0</XPos><YPos>232</YPos><SelStart>5375</SelStart><SelEnd>5375</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\uc\os_ii\source\os_time.c</Filename><XPos>0</XPos><YPos>44</YPos><SelStart>2075</SelStart><SelEnd>2075</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\validator.c</Filename><XPos>0</XPos><YPos>187</YPos><SelStart>7944</SelStart><SelEnd>7958</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\validator.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>88</SelStart><SelEnd>88</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>3785</YPos><SelStart>175473</SelStart><SelEnd>175473</SelEnd></Tab><ActiveTab>18</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>19</YPos><SelStart>1268</SelStart><SelEnd>1268</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>20</YPos><SelStart>1890</SelStart><SelEnd>1911</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>53</YPos><SelStart>1994</SelStart><SelEnd>2034</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>22455</SelStart><SelEnd>22455</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>840</YPos><SelStart>30394</SelStart><SelEnd>30394</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\fr.c</Filename><XPos>0</XPos><YPos>1072</YPos><SelStart>27982</SelStart><SelEnd>27982</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\coin.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>159</SelStart><SelEnd>159</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\coin.c</Filename><XPos>0</XPos><YPos>86</YPos><SelStart>2585</SelStart><SelEnd>2597</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\services\time.c</Filename><XPos>0</XPos><YPos>313</YPos><SelStart>8375</SelStart><SelEnd>8375</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\mode.c</Filename><XPos>0</XPos><YPos>36</YPos><SelStart>790</SelStart><SelEnd>790</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\keyboard\keyboard.c</Filename><XPos>0</XPos><YPos>93</YPos><SelStart>3391</SelStart><SelEnd>3391</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\bsp\bsp.c</Filename><XPos>0</XPos><YPos>80</YPos><SelStart>3757</SelStart><SelEnd>3757</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\keyboard\keyboard.h</Filename><XPos>0</XPos><YPos>6</YPos><SelStart>466</SelStart><SelEnd>466</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menu.c</Filename><XPos>0</XPos><YPos>344</YPos><SelStart>10091</SelStart><SelEnd>10091</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>1175</YPos><SelStart>47959</SelStart><SelEnd>47959</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.h</Filename><XPos>0</XPos><YPos>48</YPos><SelStart>2292</SelStart><SelEnd>2339</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\includes.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>114</SelStart><SelEnd>136</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>264</YPos><SelStart>9688</SelStart><SelEnd>9688</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>72</YPos><SelStart>2039</SelStart><SelEnd>2062</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\data.h</Filename><XPos>0</XPos><YPos>79</YPos><SelStart>2643</SelStart><SelEnd>2643</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\modem\modem.c</Filename><XPos>0</XPos><YPos>115</YPos><SelStart>2768</SelStart><SelEnd>2768</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\control.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>49</SelStart><SelEnd>49</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\uart0.c</Filename><XPos>0</XPos><YPos>232</YPos><SelStart>5375</SelStart><SelEnd>5375</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\uc\os_ii\source\os_time.c</Filename><XPos>0</XPos><YPos>44</YPos><SelStart>2075</SelStart><SelEnd>2075</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\validator.c</Filename><XPos>0</XPos><YPos>187</YPos><SelStart>7944</SelStart><SelEnd>7958</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\validator.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>88</SelStart><SelEnd>88</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>3701</YPos><SelStart>171867</SelStart><SelEnd>171867</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>19</YPos><SelStart>1268</SelStart><SelEnd>1268</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>20</YPos><SelStart>1890</SelStart><SelEnd>1911</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>53</YPos><SelStart>1994</SelStart><SelEnd>2034</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>22455</SelStart><SelEnd>22455</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>364</YPos><SelStart>13738</SelStart><SelEnd>13738</SelEnd></Tab><ActiveTab>23</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\fr.c</Filename><XPos>0</XPos><YPos>1072</YPos><SelStart>27982</SelStart><SelEnd>27982</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\coin.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>159</SelStart><SelEnd>159</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\coin.c</Filename><XPos>0</XPos><YPos>348</YPos><SelStart>8381</SelStart><SelEnd>8381</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></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-048c2390><key>iaridepm.enu1</key></Toolbar-048c2390></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>707</Bottom><Right>311</Right><x>-2</x><y>-2</y><xscreen>916</xscreen><yscreen>454</yscreen><sizeHorzCX>477083</sizeHorzCX><sizeHorzCY>455366</sizeHorzCY><sizeVertCX>163021</sizeVertCX><sizeVertCY>711133</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>245</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>247</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>247743</sizeHorzCY><sizeVertCX>140625</sizeVertCX><sizeVertCY>231695</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-03ec2c28><key>iaridepm.enu1</key></Toolbar-03ec2c28></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>745</Bottom><Right>323</Right><x>-2</x><y>-2</y><xscreen>952</xscreen><yscreen>509</yscreen><sizeHorzCX>495833</sizeHorzCX><sizeHorzCY>510532</sizeHorzCY><sizeVertCX>169271</sizeVertCX><sizeVertCY>749248</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>207</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>209</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>209629</sizeHorzCY><sizeVertCX>146354</sizeVertCX><sizeVertCY>259779</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>

File diff suppressed because it is too large Load Diff

View File

@ -1513,7 +1513,7 @@
</option>
<option>
<name>OOCOutputFile</name>
<state>changer0_24.hex</state>
<state>changer0_25.hex</state>
</option>
<option>
<name>OOCCommandLineProducer</name>