Lines Matching refs:recv
414 p_state->recv.min_gap_duration = 1; in capidtmf_recv_init()
415 p_state->recv.min_digit_duration = 1; in capidtmf_recv_init()
417 p_state->recv.cycle_counter = 0; in capidtmf_recv_init()
418 p_state->recv.current_digit_on_time = 0; in capidtmf_recv_init()
419 p_state->recv.current_digit_off_time = 0; in capidtmf_recv_init()
420 p_state->recv.current_digit_value = CAPIDTMF_RECV_NO_DIGIT; in capidtmf_recv_init()
422 p_state->recv.digit_write_pos = 0; in capidtmf_recv_init()
423 p_state->recv.digit_read_pos = 0; in capidtmf_recv_init()
424 p_state->recv.indication_state = 0; in capidtmf_recv_init()
425 p_state->recv.indication_state_ack = 0; in capidtmf_recv_init()
426 p_state->recv.state = CAPIDTMF_RECV_STATE_IDLE; in capidtmf_recv_init()
432 p_state->recv.indication_state_ack &= CAPIDTMF_RECV_INDICATION_DIGIT; in capidtmf_recv_enable()
433 p_state->recv.min_digit_duration = (word)(((((dword) min_digit_duration) * 8) + in capidtmf_recv_enable()
435 if (p_state->recv.min_digit_duration <= 1) in capidtmf_recv_enable()
436 p_state->recv.min_digit_duration = 1; in capidtmf_recv_enable()
438 (p_state->recv.min_digit_duration)--; in capidtmf_recv_enable()
439 p_state->recv.min_gap_duration = in capidtmf_recv_enable()
441 if (p_state->recv.min_gap_duration <= 1) in capidtmf_recv_enable()
442 p_state->recv.min_gap_duration = 1; in capidtmf_recv_enable()
444 (p_state->recv.min_gap_duration)--; in capidtmf_recv_enable()
445 p_state->recv.state |= CAPIDTMF_RECV_STATE_DTMF_ACTIVE; in capidtmf_recv_enable()
451 p_state->recv.state &= ~CAPIDTMF_RECV_STATE_DTMF_ACTIVE; in capidtmf_recv_disable()
452 if (p_state->recv.state == CAPIDTMF_RECV_STATE_IDLE) in capidtmf_recv_disable()
456 p_state->recv.cycle_counter = 0; in capidtmf_recv_disable()
457 p_state->recv.current_digit_on_time = 0; in capidtmf_recv_disable()
458 p_state->recv.current_digit_off_time = 0; in capidtmf_recv_disable()
459 p_state->recv.current_digit_value = CAPIDTMF_RECV_NO_DIGIT; in capidtmf_recv_disable()
468 flags = p_state->recv.indication_state ^ p_state->recv.indication_state_ack; in capidtmf_recv_indication()
469 p_state->recv.indication_state_ack ^= flags & CAPIDTMF_RECV_INDICATION_DIGIT; in capidtmf_recv_indication()
470 if (p_state->recv.digit_write_pos != p_state->recv.digit_read_pos) in capidtmf_recv_indication()
473 k = p_state->recv.digit_write_pos; in capidtmf_recv_indication()
474 j = p_state->recv.digit_read_pos; in capidtmf_recv_indication()
477 buffer[i++] = p_state->recv.digit_buffer[j]; in capidtmf_recv_indication()
480 p_state->recv.digit_read_pos = k; in capidtmf_recv_indication()
483 p_state->recv.indication_state_ack ^= flags; in capidtmf_recv_indication()
502 if (p_state->recv.state & CAPIDTMF_RECV_STATE_DTMF_ACTIVE) in capidtmf_recv_block()
504 cycle_counter = p_state->recv.cycle_counter; in capidtmf_recv_block()
514 p_state->recv.goertzel_buffer[0][i] = 0; in capidtmf_recv_block()
515 p_state->recv.goertzel_buffer[1][i] = 0; in capidtmf_recv_block()
542 capidtmf_goertzel_loop(p_state->recv.goertzel_buffer[0], in capidtmf_recv_block()
549 capidtmf_goertzel_result(p_state->recv.goertzel_buffer[0], in capidtmf_recv_block()
553 lo = (dword)(p_state->recv.goertzel_buffer[0][i]); in capidtmf_recv_block()
554 hi = (dword)(p_state->recv.goertzel_buffer[1][i]); in capidtmf_recv_block()
612 if (p_state->recv.current_digit_on_time != 0) in capidtmf_recv_block()
614 if (++(p_state->recv.current_digit_off_time) >= p_state->recv.min_gap_duration) in capidtmf_recv_block()
616 p_state->recv.current_digit_on_time = 0; in capidtmf_recv_block()
617 p_state->recv.current_digit_off_time = 0; in capidtmf_recv_block()
622 if (p_state->recv.current_digit_off_time != 0) in capidtmf_recv_block()
623 (p_state->recv.current_digit_off_time)--; in capidtmf_recv_block()
628 if ((p_state->recv.current_digit_on_time == 0) in capidtmf_recv_block()
629 && (p_state->recv.current_digit_off_time != 0)) in capidtmf_recv_block()
631 (p_state->recv.current_digit_off_time)--; in capidtmf_recv_block()
635 n = p_state->recv.current_digit_off_time; in capidtmf_recv_block()
636 if ((p_state->recv.current_digit_on_time != 0) in capidtmf_recv_block()
637 && (result_digit != p_state->recv.current_digit_value)) in capidtmf_recv_block()
639 p_state->recv.current_digit_on_time = 0; in capidtmf_recv_block()
642 p_state->recv.current_digit_value = result_digit; in capidtmf_recv_block()
643 p_state->recv.current_digit_off_time = 0; in capidtmf_recv_block()
644 if (p_state->recv.current_digit_on_time != 0xffff) in capidtmf_recv_block()
646 p_state->recv.current_digit_on_time += n + 1; in capidtmf_recv_block()
647 if (p_state->recv.current_digit_on_time >= p_state->recv.min_digit_duration) in capidtmf_recv_block()
649 p_state->recv.current_digit_on_time = 0xffff; in capidtmf_recv_block()
650 i = (p_state->recv.digit_write_pos == CAPIDTMF_RECV_DIGIT_BUFFER_SIZE - 1) ? in capidtmf_recv_block()
651 0 : p_state->recv.digit_write_pos + 1; in capidtmf_recv_block()
652 if (i == p_state->recv.digit_read_pos) in capidtmf_recv_block()
659 p_state->recv.digit_buffer[p_state->recv.digit_write_pos] = result_digit; in capidtmf_recv_block()
660 p_state->recv.digit_write_pos = i; in capidtmf_recv_block()
661 p_state->recv.indication_state = in capidtmf_recv_block()
662 (p_state->recv.indication_state & ~CAPIDTMF_RECV_INDICATION_DIGIT) | in capidtmf_recv_block()
663 (~p_state->recv.indication_state_ack & CAPIDTMF_RECV_INDICATION_DIGIT); in capidtmf_recv_block()
673 p_state->recv.cycle_counter = cycle_counter; in capidtmf_recv_block()