изменил алгоритм подсчета импульсов

This commit is contained in:
dimoniche 2019-06-15 14:07:28 +03:00
parent 074a484835
commit d545cf102b
6 changed files with 3352 additions and 3202 deletions

View File

@ -262,7 +262,7 @@ void UserAppTask(void *p_arg)
GetData(&CashPerPulseDesc, &cpp, number_post, DATA_FLAG_DIRECT_INDEX); GetData(&CashPerPulseDesc, &cpp, number_post, DATA_FLAG_DIRECT_INDEX);
money = cpp * 10 /*GetResetCashCount(number_post)*/; money = /*cpp * 10*/ GetResetCashCount(number_post);
accmoney = GetAcceptedMoney(number_post); accmoney = GetAcceptedMoney(number_post);
accmoney += money; accmoney += money;

View File

@ -91,6 +91,7 @@ void CoinTask(void *p_arg)
{ {
// åñòü óäåðæàíèå ñèãíàëà ïå÷àòè // åñòü óäåðæàíèå ñèãíàëà ïå÷àòè
PostUserEvent(EVENT_CASH_PRINT_CHECK_POST1 + i); PostUserEvent(EVENT_CASH_PRINT_CHECK_POST1 + i);
pend_signal_counter[i] = 0;
} }
} }
@ -227,6 +228,106 @@ void InitCoin(void)
OSTaskCreate(CoinTask, (void *)0, (OS_STK *)&CoinTaskStk[COIN_TASK_STK_SIZE-1], COIN_TASK_PRIO); OSTaskCreate(CoinTask, (void *)0, (OS_STK *)&CoinTaskStk[COIN_TASK_STK_SIZE-1], COIN_TASK_PRIO);
} }
CPU_INT32U input_register()
{
CPU_INT32U input = 0xFFFFFFFF;
if (!FIO1PIN_bit.P1_20)
{
CLRBIT(input, 0);
}
if (!FIO1PIN_bit.P1_21)
{
CLRBIT(input, 1);
}
if (!FIO4PIN_bit.P4_28)
{
CLRBIT(input, 2);
}
if (!FIO1PIN_bit.P1_19)
{
CLRBIT(input, 3);
}
if (!FIO1PIN_bit.P1_18)
{
CLRBIT(input, 4);
}
if (!FIO0PIN_bit.P0_4)
{
CLRBIT(input, 5);
}
if (!FIO3PIN_bit.P3_25)
{
CLRBIT(input, 6);
}
if (!FIO3PIN_bit.P3_26)
{
CLRBIT(input, 7);
}
if (!FIO1PIN_bit.P1_28)
{
CLRBIT(input, 8);
}
if (!FIO0PIN_bit.P0_26)
{
CLRBIT(input, 9);
}
if (!FIO0PIN_bit.P0_25)
{
CLRBIT(input, 10);
}
if (!FIO1PIN_bit.P1_27)
{
CLRBIT(input, 11);
}
if (!FIO0PIN_bit.P0_9)
{
CLRBIT(input, 12);
}
if (!FIO2PIN_bit.P2_2)
{
CLRBIT(input, 13);
}
if (!FIO1PIN_bit.P1_26)
{
CLRBIT(input, 14);
}
if (!FIO0PIN_bit.P0_7)
{
CLRBIT(input, 15);
}
if (!FIO0PIN_bit.P0_8)
{
CLRBIT(input, 16);
}
if (!FIO0PIN_bit.P0_0)
{
CLRBIT(input, 17);
}
if (!FIO0PIN_bit.P0_5)
{
CLRBIT(input, 18);
}
if (!FIO0PIN_bit.P0_6)
{
CLRBIT(input, 19);
}
if (!FIO1PIN_bit.P1_25)
{
CLRBIT(input, 20);
}
if (!FIO0PIN_bit.P0_10)
{
CLRBIT(input, 21);
}
return input;
}
CPU_INT32U input_event = 0xFFFFFFFF;
CPU_INT32U prev_input = 0xFFFFFFFF;
CPU_INT32U curr_input = 0xFFFFFFFF;
void InputCapture_ISR(void) void InputCapture_ISR(void)
{ {
T3IR = 0xFF; T3IR = 0xFF;
@ -234,15 +335,20 @@ void InputCapture_ISR(void)
// íàðàùèâàåì òèêè // íàðàùèâàåì òèêè
T3CR++; T3CR++;
curr_input = input_register();
input_event = curr_input^prev_input;
prev_input = curr_input;
// ïîñò 1 // ïîñò 1
// êóïþðîïðèåìíèê 1 // êóïþðîïðèåìíèê 1
if (!FIO1PIN_bit.P1_20) if(TSTBIT(input_event, 0))
{
if (FIO1PIN_bit.P1_20)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
CPU_INT32U cr=T3CR; CPU_INT32U cr=T3CR;
cr -= period_cash[0]; cr -= period_cash[0];
if ((cr > (cash_pulse[0] - COIN_IMP_SPAN)) if (cr > (cash_pulse[0] - COIN_IMP_SPAN))
&& (cr < (cash_pulse[0] + COIN_IMP_SPAN)))
{ {
pend_cash_counter[0] = 1; pend_cash_counter[0] = 1;
pend_cash_timestamp[0] = OSTimeGet(); pend_cash_timestamp[0] = OSTimeGet();
@ -253,12 +359,14 @@ void InputCapture_ISR(void)
period_cash[0] = T3CR; period_cash[0] = T3CR;
pend_cash_counter[0] = 0; pend_cash_counter[0] = 0;
} }
}
// ìîíåòîïðèåìíèê 1 // ìîíåòîïðèåìíèê 1
if (!FIO1PIN_bit.P1_21) if(TSTBIT(input_event, 1))
{
if (FIO1PIN_bit.P1_21)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
if (((T3CR-period[0]) > COIN_IMP_MIN_LEN) if ((T3CR-period[0]) > COIN_IMP_MIN_LEN)
&& ((T3CR-period[0]) < COIN_IMP_MAX_LEN))
{ {
CoinImpCounter[0]++; CoinImpCounter[0]++;
} }
@ -267,15 +375,17 @@ void InputCapture_ISR(void)
{ // ïðèøåë ïåðåäíèé ôðîíò { // ïðèøåë ïåðåäíèé ôðîíò
period[0] = T3CR; period[0] = T3CR;
} }
}
// ñèãíàë ïå÷àòè ÷åêà 1 // ñèãíàë ïå÷àòè ÷åêà 1
if (!FIO4PIN_bit.P4_28) if(TSTBIT(input_event, 2))
{
if (FIO4PIN_bit.P4_28)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
CPU_INT32U cr=T3CR; CPU_INT32U cr=T3CR;
cr -= period_signal[0]; cr -= period_signal[0];
if ((cr > (signal_pulse[0] - COIN_IMP_SPAN)) if (cr > (signal_pulse[0] - COIN_IMP_SPAN))
&& (cr < (signal_pulse[0] + COIN_IMP_SPAN)))
{ {
pend_signal_counter[0] = 1; pend_signal_counter[0] = 1;
} }
@ -285,16 +395,18 @@ void InputCapture_ISR(void)
period_signal[0] = T3CR; period_signal[0] = T3CR;
pend_signal_counter[0] = 0; pend_signal_counter[0] = 0;
} }
}
// ïîñò 2 // ïîñò 2
// êóïþðîïðèåìíèê 2 // êóïþðîïðèåìíèê 2
if (!FIO1PIN_bit.P1_19) if(TSTBIT(input_event, 3))
{
if (FIO1PIN_bit.P1_19)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
CPU_INT32U cr=T3CR; CPU_INT32U cr=T3CR;
cr -= period_cash[1]; cr -= period_cash[1];
if ((cr > (cash_pulse[1] - COIN_IMP_SPAN)) if (cr > (cash_pulse[1] - COIN_IMP_SPAN))
&& (cr < (cash_pulse[1] + COIN_IMP_SPAN)))
{ {
pend_cash_counter[1] = 1; pend_cash_counter[1] = 1;
pend_cash_timestamp[1] = OSTimeGet(); pend_cash_timestamp[1] = OSTimeGet();
@ -305,12 +417,14 @@ void InputCapture_ISR(void)
period_cash[1] = T3CR; period_cash[1] = T3CR;
pend_cash_counter[1] = 0; pend_cash_counter[1] = 0;
} }
}
// ìîíåòîïðèåìíèê 2 // ìîíåòîïðèåìíèê 2
if (!FIO1PIN_bit.P1_18) if(TSTBIT(input_event, 4))
{
if (FIO1PIN_bit.P1_18)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
if (((T3CR-period[1]) > COIN_IMP_MIN_LEN) if ((T3CR-period[1]) > COIN_IMP_MIN_LEN)
&& ((T3CR-period[1]) < COIN_IMP_MAX_LEN))
{ {
CoinImpCounter[1]++; CoinImpCounter[1]++;
} }
@ -319,15 +433,17 @@ void InputCapture_ISR(void)
{ // ïðèøåë ïåðåäíèé ôðîíò { // ïðèøåë ïåðåäíèé ôðîíò
period[1] = T3CR; period[1] = T3CR;
} }
}
// ñèãíàë ïå÷àòè ÷åêà 2 // ñèãíàë ïå÷àòè ÷åêà 2
if (!FIO0PIN_bit.P0_4) if(TSTBIT(input_event, 5))
{
if (FIO0PIN_bit.P0_4)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
CPU_INT32U cr=T3CR; CPU_INT32U cr=T3CR;
cr -= period_signal[1]; cr -= period_signal[1];
if ((cr > (signal_pulse[1] - COIN_IMP_SPAN)) if (cr > (signal_pulse[1] - COIN_IMP_SPAN))
&& (cr < (signal_pulse[1] + COIN_IMP_SPAN)))
{ {
pend_signal_counter[0] = 1; pend_signal_counter[0] = 1;
} }
@ -337,17 +453,18 @@ void InputCapture_ISR(void)
period_signal[1] = T3CR; period_signal[1] = T3CR;
pend_signal_counter[1] = 0; pend_signal_counter[1] = 0;
} }
}
// ïîñò 3 // ïîñò 3
// êóïþðîïðèåìíèê 3 // êóïþðîïðèåìíèê 3
if (!FIO3PIN_bit.P3_25) if(TSTBIT(input_event, 6))
{
if (FIO3PIN_bit.P3_25)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
CPU_INT32U cr=T3CR; CPU_INT32U cr=T3CR;
cr -= period_cash[2]; cr -= period_cash[2];
if ((cr > (cash_pulse[2] - COIN_IMP_SPAN)) if (cr > (cash_pulse[2] - COIN_IMP_SPAN))
&& (cr < (cash_pulse[2] + COIN_IMP_SPAN)))
{ {
pend_cash_counter[2] = 1; pend_cash_counter[2] = 1;
pend_cash_timestamp[2] = OSTimeGet(); pend_cash_timestamp[2] = OSTimeGet();
@ -358,12 +475,14 @@ void InputCapture_ISR(void)
period_cash[2] = T3CR; period_cash[2] = T3CR;
pend_cash_counter[2] = 0; pend_cash_counter[2] = 0;
} }
}
// ìîíåòîïðèåìíèê 3 // ìîíåòîïðèåìíèê 3
if (!FIO3PIN_bit.P3_26) if(TSTBIT(input_event, 7))
{
if (FIO3PIN_bit.P3_26)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
if (((T3CR-period[2]) > COIN_IMP_MIN_LEN) if ((T3CR-period[2]) > COIN_IMP_MIN_LEN)
&& ((T3CR-period[2]) < COIN_IMP_MAX_LEN))
{ {
CoinImpCounter[2]++; CoinImpCounter[2]++;
} }
@ -372,15 +491,17 @@ void InputCapture_ISR(void)
{ // ïðèøåë ïåðåäíèé ôðîíò { // ïðèøåë ïåðåäíèé ôðîíò
period[2] = T3CR; period[2] = T3CR;
} }
}
// ñèãíàë ïå÷àòè ÷åêà 3 // ñèãíàë ïå÷àòè ÷åêà 3
if (!FIO1PIN_bit.P1_28) if(TSTBIT(input_event, 8))
{
if (FIO1PIN_bit.P1_28)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
CPU_INT32U cr=T3CR; CPU_INT32U cr=T3CR;
cr -= period_signal[2]; cr -= period_signal[2];
if ((cr > (signal_pulse[2] - COIN_IMP_SPAN)) if (cr > (signal_pulse[2] - COIN_IMP_SPAN))
&& (cr < (signal_pulse[2] + COIN_IMP_SPAN)))
{ {
pend_signal_counter[2] = 1; pend_signal_counter[2] = 1;
} }
@ -390,17 +511,18 @@ void InputCapture_ISR(void)
period_signal[2] = T3CR; period_signal[2] = T3CR;
pend_signal_counter[2] = 0; pend_signal_counter[2] = 0;
} }
}
// ïîñò 4 // ïîñò 4
// êóïþðîïðèåìíèê 4 // êóïþðîïðèåìíèê 4
if (!FIO0PIN_bit.P0_26) if(TSTBIT(input_event, 9))
{
if (FIO0PIN_bit.P0_26)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
CPU_INT32U cr=T3CR; CPU_INT32U cr=T3CR;
cr -= period_cash[3]; cr -= period_cash[3];
if ((cr > (cash_pulse[3] - COIN_IMP_SPAN)) if (cr > (cash_pulse[3] - COIN_IMP_SPAN))
&& (cr < (cash_pulse[3] + COIN_IMP_SPAN)))
{ {
pend_cash_counter[3] = 1; pend_cash_counter[3] = 1;
pend_cash_timestamp[3] = OSTimeGet(); pend_cash_timestamp[3] = OSTimeGet();
@ -411,12 +533,14 @@ void InputCapture_ISR(void)
period_cash[3] = T3CR; period_cash[3] = T3CR;
pend_cash_counter[3] = 0; pend_cash_counter[3] = 0;
} }
}
// ìîíåòîïðèåìíèê 4 // ìîíåòîïðèåìíèê 4
if (!FIO0PIN_bit.P0_25) if(TSTBIT(input_event, 10))
{
if (FIO0PIN_bit.P0_25)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
if (((T3CR-period[3]) > COIN_IMP_MIN_LEN) if ((T3CR-period[3]) > COIN_IMP_MIN_LEN)
&& ((T3CR-period[3]) < COIN_IMP_MAX_LEN))
{ {
CoinImpCounter[3]++; CoinImpCounter[3]++;
} }
@ -425,15 +549,17 @@ void InputCapture_ISR(void)
{ // ïðèøåë ïåðåäíèé ôðîíò { // ïðèøåë ïåðåäíèé ôðîíò
period[3] = T3CR; period[3] = T3CR;
} }
}
// ñèãíàë ïå÷àòè ÷åêà 4 // ñèãíàë ïå÷àòè ÷åêà 4
if (!FIO1PIN_bit.P1_27) if(TSTBIT(input_event, 11))
{
if (FIO1PIN_bit.P1_27)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
CPU_INT32U cr=T3CR; CPU_INT32U cr=T3CR;
cr -= period_signal[3]; cr -= period_signal[3];
if ((cr > (signal_pulse[3] - COIN_IMP_SPAN)) if (cr > (signal_pulse[3] - COIN_IMP_SPAN))
&& (cr < (signal_pulse[3] + COIN_IMP_SPAN)))
{ {
pend_signal_counter[3] = 1; pend_signal_counter[3] = 1;
} }
@ -443,17 +569,18 @@ void InputCapture_ISR(void)
period_signal[3] = T3CR; period_signal[3] = T3CR;
pend_signal_counter[3] = 0; pend_signal_counter[3] = 0;
} }
}
// ïîñò 5 // ïîñò 5
// êóïþðîïðèåìíèê 5 // êóïþðîïðèåìíèê 5
if (!FIO0PIN_bit.P0_9) if(TSTBIT(input_event, 12))
{
if (FIO0PIN_bit.P0_9)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
CPU_INT32U cr=T3CR; CPU_INT32U cr=T3CR;
cr -= period_cash[4]; cr -= period_cash[4];
if ((cr > (cash_pulse[4] - COIN_IMP_SPAN)) if (cr > (cash_pulse[4] - COIN_IMP_SPAN))
&& (cr < (cash_pulse[4] + COIN_IMP_SPAN)))
{ {
pend_cash_counter[4] = 1; pend_cash_counter[4] = 1;
pend_cash_timestamp[4] = OSTimeGet(); pend_cash_timestamp[4] = OSTimeGet();
@ -464,12 +591,14 @@ void InputCapture_ISR(void)
period_cash[4] = T3CR; period_cash[4] = T3CR;
pend_cash_counter[4] = 0; pend_cash_counter[4] = 0;
} }
}
// ìîíåòîïðèåìíèê 5 // ìîíåòîïðèåìíèê 5
if (!FIO2PIN_bit.P2_2) if(TSTBIT(input_event, 13))
{
if (FIO2PIN_bit.P2_2)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
if (((T3CR-period[4]) > COIN_IMP_MIN_LEN) if ((T3CR-period[4]) > COIN_IMP_MIN_LEN)
&& ((T3CR-period[4]) < COIN_IMP_MAX_LEN))
{ {
CoinImpCounter[4]++; CoinImpCounter[4]++;
} }
@ -478,15 +607,17 @@ void InputCapture_ISR(void)
{ // ïðèøåë ïåðåäíèé ôðîíò { // ïðèøåë ïåðåäíèé ôðîíò
period[4] = T3CR; period[4] = T3CR;
} }
}
// ñèãíàë ïå÷àòè ÷åêà 5 // ñèãíàë ïå÷àòè ÷åêà 5
if (!FIO1PIN_bit.P1_26) if(TSTBIT(input_event, 14))
{
if (FIO1PIN_bit.P1_26)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
CPU_INT32U cr=T3CR; CPU_INT32U cr=T3CR;
cr -= period_signal[4]; cr -= period_signal[4];
if ((cr > (signal_pulse[4] - COIN_IMP_SPAN)) if (cr > (signal_pulse[4] - COIN_IMP_SPAN))
&& (cr < (signal_pulse[4] + COIN_IMP_SPAN)))
{ {
pend_signal_counter[4] = 1; pend_signal_counter[4] = 1;
} }
@ -496,17 +627,18 @@ void InputCapture_ISR(void)
period_signal[4] = T3CR; period_signal[4] = T3CR;
pend_signal_counter[4] = 0; pend_signal_counter[4] = 0;
} }
}
// ïîñò 6 // ïîñò 6
// êóïþðîïðèåìíèê 6 // êóïþðîïðèåìíèê 6
if (!FIO0PIN_bit.P0_7) if(TSTBIT(input_event, 15))
{
if (FIO0PIN_bit.P0_7)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
CPU_INT32U cr=T3CR; CPU_INT32U cr=T3CR;
cr -= period_cash[5]; cr -= period_cash[5];
if ((cr > (cash_pulse[5] - COIN_IMP_SPAN)) if (cr > (cash_pulse[5] - COIN_IMP_SPAN))
&& (cr < (cash_pulse[5] + COIN_IMP_SPAN)))
{ {
pend_cash_counter[5] = 1; pend_cash_counter[5] = 1;
pend_cash_timestamp[5] = OSTimeGet(); pend_cash_timestamp[5] = OSTimeGet();
@ -517,12 +649,14 @@ void InputCapture_ISR(void)
period_cash[5] = T3CR; period_cash[5] = T3CR;
pend_cash_counter[5] = 0; pend_cash_counter[5] = 0;
} }
}
// ìîíåòîïðèåìíèê 6 // ìîíåòîïðèåìíèê 6
if (!FIO0PIN_bit.P0_8) if(TSTBIT(input_event, 16))
{
if (FIO0PIN_bit.P0_8)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
if (((T3CR-period[5]) > COIN_IMP_MIN_LEN) if ((T3CR-period[5]) > COIN_IMP_MIN_LEN)
&& ((T3CR-period[5]) < COIN_IMP_MAX_LEN))
{ {
CoinImpCounter[5]++; CoinImpCounter[5]++;
} }
@ -531,15 +665,17 @@ void InputCapture_ISR(void)
{ // ïðèøåë ïåðåäíèé ôðîíò { // ïðèøåë ïåðåäíèé ôðîíò
period[5] = T3CR; period[5] = T3CR;
} }
}
// ñèãíàë ïå÷àòè ÷åêà 5 // ñèãíàë ïå÷àòè ÷åêà 6
if (!FIO0PIN_bit.P0_0) if(TSTBIT(input_event, 17))
{
if (FIO0PIN_bit.P0_0)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
CPU_INT32U cr=T3CR; CPU_INT32U cr=T3CR;
cr -= period_signal[5]; cr -= period_signal[5];
if ((cr > (signal_pulse[5] - COIN_IMP_SPAN)) if (cr > (signal_pulse[5] - COIN_IMP_SPAN))
&& (cr < (signal_pulse[5] + COIN_IMP_SPAN)))
{ {
pend_signal_counter[5] = 1; pend_signal_counter[5] = 1;
} }
@ -549,13 +685,14 @@ void InputCapture_ISR(void)
period_signal[5] = T3CR; period_signal[5] = T3CR;
pend_signal_counter[5] = 0; pend_signal_counter[5] = 0;
} }
}
// ìîíåòîïðèåìíèê ïûëåñîñ 1 // ìîíåòîïðèåìíèê ïûëåñîñ 1
if (!FIO0PIN_bit.P0_5) if(TSTBIT(input_event, 18))
{
if (FIO0PIN_bit.P0_5)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
if (((T3CR-period[6]) > COIN_IMP_MIN_LEN) if ((T3CR-period[6]) > COIN_IMP_MIN_LEN)
&& ((T3CR-period[6]) < COIN_IMP_MAX_LEN))
{ {
CoinImpCounter[6]++; CoinImpCounter[6]++;
} }
@ -564,15 +701,17 @@ void InputCapture_ISR(void)
{ // ïðèøåë ïåðåäíèé ôðîíò { // ïðèøåë ïåðåäíèé ôðîíò
period[6] = T3CR; period[6] = T3CR;
} }
}
// ñèãíàë ïå÷àòè ÷åêà ïûëåñîñ 1 // ñèãíàë ïå÷àòè ÷åêà ïûëåñîñ 1
if (!FIO0PIN_bit.P0_6) if(TSTBIT(input_event, 19))
{
if (FIO0PIN_bit.P0_6)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
CPU_INT32U cr=T3CR; CPU_INT32U cr=T3CR;
cr -= period_signal[6]; cr -= period_signal[6];
if ((cr > (signal_pulse[6] - COIN_IMP_SPAN)) if (cr > (signal_pulse[6] - COIN_IMP_SPAN))
&& (cr < (signal_pulse[6] + COIN_IMP_SPAN)))
{ {
pend_signal_counter[6] = 1; pend_signal_counter[6] = 1;
} }
@ -582,13 +721,14 @@ void InputCapture_ISR(void)
period_signal[6] = T3CR; period_signal[6] = T3CR;
pend_signal_counter[6] = 0; pend_signal_counter[6] = 0;
} }
}
// ìîíåòîïðèåìíèê ïûëåñîñ 2 // ìîíåòîïðèåìíèê ïûëåñîñ 2
if (!FIO1PIN_bit.P1_25) if(TSTBIT(input_event, 20))
{
if (FIO1PIN_bit.P1_25)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
if (((T3CR-period[7]) > COIN_IMP_MIN_LEN) if ((T3CR-period[7]) > COIN_IMP_MIN_LEN)
&& ((T3CR-period[7]) < COIN_IMP_MAX_LEN))
{ {
CoinImpCounter[7]++; CoinImpCounter[7]++;
} }
@ -597,15 +737,17 @@ void InputCapture_ISR(void)
{ // ïðèøåë ïåðåäíèé ôðîíò { // ïðèøåë ïåðåäíèé ôðîíò
period[7] = T3CR; period[7] = T3CR;
} }
}
// ñèãíàë ïå÷àòè ÷åêà ïûëåñîñ 2 // ñèãíàë ïå÷àòè ÷åêà ïûëåñîñ 2
if (!FIO0PIN_bit.P0_10) if(TSTBIT(input_event, 21))
{
if (FIO0PIN_bit.P0_10)
{ // ïðèøåë çàäíèé ôðîíò { // ïðèøåë çàäíèé ôðîíò
CPU_INT32U cr=T3CR; CPU_INT32U cr=T3CR;
cr -= period_signal[7]; cr -= period_signal[7];
if ((cr > (signal_pulse[7] - COIN_IMP_SPAN)) if (cr > (signal_pulse[7] - COIN_IMP_SPAN))
&& (cr < (signal_pulse[7] + COIN_IMP_SPAN)))
{ {
pend_signal_counter[7] = 1; pend_signal_counter[7] = 1;
} }
@ -615,7 +757,7 @@ void InputCapture_ISR(void)
period_signal[7] = T3CR; period_signal[7] = T3CR;
pend_signal_counter[7] = 0; pend_signal_counter[7] = 0;
} }
}
} }
extern CPU_INT32U BSP_CPU_PclkFreq (CPU_INT08U pclk); extern CPU_INT32U BSP_CPU_PclkFreq (CPU_INT08U pclk);

View File

@ -17,6 +17,13 @@ extern CPU_INT32U GetResetCashCount(int index);
extern void SetCashPulseParam(CPU_INT32U pulse, CPU_INT32U pause, CPU_INT32U post); extern void SetCashPulseParam(CPU_INT32U pulse, CPU_INT32U pause, CPU_INT32U post);
extern void SetSignalPulseParam(CPU_INT32U pulse, CPU_INT32U post); extern void SetSignalPulseParam(CPU_INT32U pulse, CPU_INT32U post);
#define BIT(bit) (1UL << (bit))
#define SETBIT(Val,bit) ((Val) |= BIT(bit))
#define CLRBIT(Val,bit) ((Val) &= ~BIT(bit))
#define XORBIT(Val,bit) ((Val) ^= BIT(bit))
#define TSTBIT(Val,bit) ((Val) & BIT(bit))
#endif //#ifndef _COIN_H_ #endif //#ifndef _COIN_H_

View File

@ -14,7 +14,7 @@ Count=0
Enabled=0 Enabled=0
ShowSource=1 ShowSource=1
[DebugChecksum] [DebugChecksum]
Checksum=247790277 Checksum=1393967486
[Exceptions] [Exceptions]
StopOnUncaught=_ 0 StopOnUncaught=_ 0
StopOnThrow=_ 0 StopOnThrow=_ 0
@ -153,7 +153,9 @@ ActionState=1
[Disassemble mode] [Disassemble mode]
mode=0 mode=0
[Breakpoints2] [Breakpoints2]
Count=0 Bp0=_ 1 "EMUL_CODE" "{$PROJ_DIR$\PROJECT\services\coin.c}.242.4" 0 0 1 "" 0 "" 0
Bp1=_ 1 "EMUL_CODE" "{$PROJ_DIR$\PROJECT\services\coin.c}.590.4" 0 0 1 "" 0 "" 0
Count=2
[Log file] [Log file]
LoggingEnabled=_ 0 LoggingEnabled=_ 0
LogFile=_ "" LogFile=_ ""

View File

@ -24,7 +24,7 @@
<Windows> <Windows>
<Wnd2> <Wnd0>
<Tabs> <Tabs>
<Tab> <Tab>
<Identity>TabID-23142-24246</Identity> <Identity>TabID-23142-24246</Identity>
@ -34,7 +34,7 @@
</Tab> </Tab>
<Tab><Identity>TabID-28963-15244</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs> <Tab><Identity>TabID-28963-15244</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs>
<SelectedTab>0</SelectedTab></Wnd2><Wnd3> <SelectedTab>0</SelectedTab></Wnd0><Wnd1>
<Tabs> <Tabs>
<Tab> <Tab>
<Identity>TabID-1122-24249</Identity> <Identity>TabID-1122-24249</Identity>
@ -46,20 +46,20 @@
</Tab> </Tab>
</Tabs> </Tabs>
<SelectedTab>0</SelectedTab></Wnd3></Windows> <SelectedTab>0</SelectedTab></Wnd1></Windows>
<Editor> <Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menu.h</Filename><XPos>0</XPos><YPos>48</YPos><SelStart>1424</SelStart><SelEnd>1424</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app_cfg.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>58</SelStart><SelEnd>58</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\8\positive_6_24\OS\app\app.c</Filename><XPos>0</XPos><YPos>26</YPos><SelStart>1431</SelStart><SelEnd>1431</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\console.c</Filename><XPos>0</XPos><YPos>109</YPos><SelStart>3332</SelStart><SelEnd>3332</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\uc\cpu\cpu.h</Filename><XPos>0</XPos><YPos>85</YPos><SelStart>4578</SelStart><SelEnd>4589</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\uc\lib\lib_def.h</Filename><XPos>0</XPos><YPos>111</YPos><SelStart>5973</SelStart><SelEnd>5981</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>20</YPos><SelStart>665</SelStart><SelEnd>665</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>31</YPos><SelStart>1536</SelStart><SelEnd>1564</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.c</Filename><XPos>0</XPos><YPos>390</YPos><SelStart>11708</SelStart><SelEnd>11708</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\time.c</Filename><XPos>0</XPos><YPos>81</YPos><SelStart>625</SelStart><SelEnd>625</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>843</YPos><SelStart>38039</SelStart><SelEnd>38039</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>39</YPos><SelStart>3057</SelStart><SelEnd>3070</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>1513</YPos><SelStart>60999</SelStart><SelEnd>60999</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\data.h</Filename><XPos>0</XPos><YPos>73</YPos><SelStart>1618</SelStart><SelEnd>1618</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\data.c</Filename><XPos>0</XPos><YPos>344</YPos><SelStart>9426</SelStart><SelEnd>9426</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>104</YPos><SelStart>2415</SelStart><SelEnd>2415</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>365</YPos><SelStart>12421</SelStart><SelEnd>12421</SelEnd></Tab><ActiveTab>17</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>126</YPos><SelStart>4563</SelStart><SelEnd>4563</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app.c</Filename><XPos>0</XPos><YPos>28</YPos><SelStart>1131</SelStart><SelEnd>1131</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.c</Filename><XPos>0</XPos><YPos>151</YPos><SelStart>3796</SelStart><SelEnd>3796</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\fr.c</Filename><XPos>0</XPos><YPos>1040</YPos><SelStart>27086</SelStart><SelEnd>27086</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>125</YPos><SelStart>7515</SelStart><SelEnd>7517</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\menu\menu.h</Filename><XPos>0</XPos><YPos>48</YPos><SelStart>1424</SelStart><SelEnd>1424</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app_cfg.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>58</SelStart><SelEnd>58</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\8\positive_6_24\OS\app\app.c</Filename><XPos>0</XPos><YPos>26</YPos><SelStart>1431</SelStart><SelEnd>1431</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\console.c</Filename><XPos>0</XPos><YPos>109</YPos><SelStart>3332</SelStart><SelEnd>3332</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\uc\cpu\cpu.h</Filename><XPos>0</XPos><YPos>85</YPos><SelStart>4578</SelStart><SelEnd>4589</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\uc\lib\lib_def.h</Filename><XPos>0</XPos><YPos>111</YPos><SelStart>5973</SelStart><SelEnd>5981</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>20</YPos><SelStart>665</SelStart><SelEnd>665</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>31</YPos><SelStart>1536</SelStart><SelEnd>1564</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.c</Filename><XPos>0</XPos><YPos>390</YPos><SelStart>11708</SelStart><SelEnd>11708</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\time.c</Filename><XPos>0</XPos><YPos>81</YPos><SelStart>625</SelStart><SelEnd>625</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>828</YPos><SelStart>38039</SelStart><SelEnd>38039</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>39</YPos><SelStart>3057</SelStart><SelEnd>3070</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>1513</YPos><SelStart>60999</SelStart><SelEnd>60999</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\data.h</Filename><XPos>0</XPos><YPos>73</YPos><SelStart>1618</SelStart><SelEnd>1618</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\data.c</Filename><XPos>0</XPos><YPos>344</YPos><SelStart>9426</SelStart><SelEnd>9426</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\coin.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>800</SelStart><SelEnd>806</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\coin.c</Filename><XPos>0</XPos><YPos>331</YPos><SelStart>9440</SelStart><SelEnd>9440</SelEnd></Tab><ActiveTab>16</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>251</YPos><SelStart>7511</SelStart><SelEnd>7511</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>126</YPos><SelStart>4563</SelStart><SelEnd>4563</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app.c</Filename><XPos>0</XPos><YPos>28</YPos><SelStart>1131</SelStart><SelEnd>1131</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.c</Filename><XPos>0</XPos><YPos>151</YPos><SelStart>3796</SelStart><SelEnd>3796</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\services\fr.c</Filename><XPos>0</XPos><YPos>1040</YPos><SelStart>27086</SelStart><SelEnd>27086</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\drivers\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>125</YPos><SelStart>7515</SelStart><SelEnd>7517</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\bsp\iolpc2368.h</Filename><XPos>0</XPos><YPos>787</YPos><SelStart>16986</SelStart><SelEnd>16986</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions> <Positions>
<Top><Row0><Sizes><Toolbar-04462d18><key>iaridepm.enu1</key></Toolbar-04462d18></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>674</Bottom><Right>253</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>156250</sizeHorzCX><sizeHorzCY>210305</sizeHorzCY><sizeVertCX>199219</sizeVertCX><sizeVertCY>710831</sizeVertCY></Rect></Wnd3></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>232</Bottom><Right>1282</Right><x>-2</x><y>-2</y><xscreen>1284</xscreen><yscreen>234</yscreen><sizeHorzCX>1003125</sizeHorzCX><sizeHorzCY>246057</sizeHorzCY><sizeVertCX>156250</sizeVertCX><sizeVertCY>210305</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions> <Top><Row0><Sizes><Toolbar-03923a58><key>iaridepm.enu1</key></Toolbar-03923a58></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>504</Bottom><Right>253</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>146</yscreen><sizeHorzCX>156250</sizeHorzCX><sizeHorzCY>210072</sizeHorzCY><sizeVertCX>199219</sizeVertCX><sizeVertCY>728058</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>146</Bottom><Right>1282</Right><x>-2</x><y>-2</y><xscreen>1284</xscreen><yscreen>148</yscreen><sizeHorzCX>1003125</sizeHorzCX><sizeHorzCY>212950</sizeHorzCY><sizeVertCX>156250</sizeVertCX><sizeVertCY>210072</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop> </Desktop>
</Workspace> </Workspace>

File diff suppressed because it is too large Load Diff