Changeset 5547:3f5d08ba722e in roaraudio for libroardsp


Ignore:
Timestamp:
06/17/12 16:17:06 (12 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added an extended DTMF mode

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroardsp/dtmf.c

    r5546 r5547  
    5353 return 0; 
    5454} 
     55 
     56#define _FQL0 697 
     57#define _FQL1 770 
     58#define _FQL2 852 
     59#define _FQL3 941 
     60#define _FQH0 1209 
     61#define _FQH1 1336 
     62#define _FQH2 1477 
     63#define _FQH3 1633 
     64 
     65#define _FRL0 571 
     66#define _FRL1 631 
     67#define _FRL2 _FQL0 
     68#define _FRL3 _FQL1 
     69#define _FRL4 _FQL2 
     70#define _FRL5 _FQL3 
     71#define _FRL6 1040 
     72#define _FRH0 _FQH0 
     73#define _FRH1 _FQH1 
     74#define _FRH2 _FQH2 
     75#define _FRH3 _FQH3 
     76#define _FRH4 1805 
     77#define _FRH5 1995 
     78#define _FRH6 2205 
    5579 
    5680static const struct tone { 
     
    5983 const float f1; 
    6084} _roardsp_tones[] = { 
    61  {'1', 697, 1209}, 
    62  {'2', 697, 1336}, 
    63  {'3', 697, 1477}, 
    64  {'A', 697, 1633}, 
    65  
    66  {'4', 770, 1209}, 
    67  {'5', 770, 1336}, 
    68  {'6', 770, 1477}, 
    69  {'B', 770, 1633}, 
    70  
    71  {'7', 852, 1209}, 
    72  {'8', 852, 1336}, 
    73  {'9', 852, 1477}, 
    74  {'C', 852, 1633}, 
    75  
    76  {'*', 941, 1209}, 
    77  {'0', 941, 1336}, 
    78  {'#', 941, 1477}, 
    79  {'D', 941, 1633}, 
     85 {ROAR_DTMF_CHAR_DTMF('1'), _FQL0, _FQH0}, 
     86 {ROAR_DTMF_CHAR_DTMF('2'), _FQL0, _FQH1}, 
     87 {ROAR_DTMF_CHAR_DTMF('3'), _FQL0, _FQH2}, 
     88 {ROAR_DTMF_CHAR_DTMF('A'), _FQL0, _FQH3}, 
     89 
     90 {ROAR_DTMF_CHAR_DTMF('4'), _FQL1, _FQH0}, 
     91 {ROAR_DTMF_CHAR_DTMF('5'), _FQL1, _FQH1}, 
     92 {ROAR_DTMF_CHAR_DTMF('6'), _FQL1, _FQH2}, 
     93 {ROAR_DTMF_CHAR_DTMF('B'), _FQL1, _FQH3}, 
     94 
     95 {ROAR_DTMF_CHAR_DTMF('7'), _FQL2, _FQH0}, 
     96 {ROAR_DTMF_CHAR_DTMF('8'), _FQL2, _FQH1}, 
     97 {ROAR_DTMF_CHAR_DTMF('9'), _FQL2, _FQH2}, 
     98 {ROAR_DTMF_CHAR_DTMF('C'), _FQL2, _FQH3}, 
     99 
     100 {ROAR_DTMF_CHAR_DTMF('*'), _FQL3, _FQH0}, 
     101 {ROAR_DTMF_CHAR_DTMF('0'), _FQL3, _FQH1}, 
     102 {ROAR_DTMF_CHAR_DTMF('#'), _FQL3, _FQH2}, 
     103 {ROAR_DTMF_CHAR_DTMF('D'), _FQL3, _FQH3}, 
     104 
     105 
     106 {ROAR_DTMF_CHAR_NOOP,   _FRL0, _FRH0}, 
     107 {ROAR_DTMF_CHAR_ESCAPE, _FRL0, _FRH1}, 
     108 
     109 {ROAR_DTMF_CHAR_ROAR('"'), _FRL0, _FRH2}, 
     110 {ROAR_DTMF_CHAR_ROAR(' '), _FRL0, _FRH3}, 
     111 {ROAR_DTMF_CHAR_ROAR('F'), _FRL0, _FRH4}, 
     112 {ROAR_DTMF_CHAR_ROAR('M'), _FRL0, _FRH5}, 
     113 {ROAR_DTMF_CHAR_ROAR('T'), _FRL0, _FRH6}, 
     114 {ROAR_DTMF_CHAR_ROAR('.'), _FRL1, _FRH0}, 
     115 {ROAR_DTMF_CHAR_ROAR('?'), _FRL1, _FRH1}, 
     116 {ROAR_DTMF_CHAR_ROAR('!'), _FRL1, _FRH2}, 
     117 {ROAR_DTMF_CHAR_ROAR(','), _FRL1, _FRH3}, 
     118 {ROAR_DTMF_CHAR_ROAR('G'), _FRL1, _FRH4}, 
     119 {ROAR_DTMF_CHAR_ROAR('N'), _FRL1, _FRH5}, 
     120 {ROAR_DTMF_CHAR_ROAR('U'), _FRL1, _FRH6}, 
     121 {ROAR_DTMF_CHAR_ROAR('1'), _FRL2, _FRH0}, 
     122 {ROAR_DTMF_CHAR_ROAR('2'), _FRL2, _FRH1}, 
     123 {ROAR_DTMF_CHAR_ROAR('3'), _FRL2, _FRH2}, 
     124 {ROAR_DTMF_CHAR_ROAR('A'), _FRL2, _FRH3}, 
     125 {ROAR_DTMF_CHAR_ROAR('H'), _FRL2, _FRH4}, 
     126 {ROAR_DTMF_CHAR_ROAR('O'), _FRL2, _FRH5}, 
     127 {ROAR_DTMF_CHAR_ROAR('V'), _FRL2, _FRH6}, 
     128 {ROAR_DTMF_CHAR_ROAR('4'), _FRL3, _FRH0}, 
     129 {ROAR_DTMF_CHAR_ROAR('5'), _FRL3, _FRH1}, 
     130 {ROAR_DTMF_CHAR_ROAR('6'), _FRL3, _FRH2}, 
     131 {ROAR_DTMF_CHAR_ROAR('B'), _FRL3, _FRH3}, 
     132 {ROAR_DTMF_CHAR_ROAR('I'), _FRL3, _FRH4}, 
     133 {ROAR_DTMF_CHAR_ROAR('P'), _FRL3, _FRH5}, 
     134 {ROAR_DTMF_CHAR_ROAR('W'), _FRL3, _FRH6}, 
     135 {ROAR_DTMF_CHAR_ROAR('7'), _FRL4, _FRH0}, 
     136 {ROAR_DTMF_CHAR_ROAR('8'), _FRL4, _FRH1}, 
     137 {ROAR_DTMF_CHAR_ROAR('9'), _FRL4, _FRH2}, 
     138 {ROAR_DTMF_CHAR_ROAR('C'), _FRL4, _FRH3}, 
     139 {ROAR_DTMF_CHAR_ROAR('J'), _FRL4, _FRH4}, 
     140 {ROAR_DTMF_CHAR_ROAR('Q'), _FRL4, _FRH5}, 
     141 {ROAR_DTMF_CHAR_ROAR('X'), _FRL4, _FRH6}, 
     142 {ROAR_DTMF_CHAR_ROAR('*'), _FRL5, _FRH0}, 
     143 {ROAR_DTMF_CHAR_ROAR('0'), _FRL5, _FRH1}, 
     144 {ROAR_DTMF_CHAR_ROAR('#'), _FRL5, _FRH2}, 
     145 {ROAR_DTMF_CHAR_ROAR('D'), _FRL5, _FRH3}, 
     146 {ROAR_DTMF_CHAR_ROAR('K'), _FRL5, _FRH4}, 
     147 {ROAR_DTMF_CHAR_ROAR('R'), _FRL5, _FRH5}, 
     148 {ROAR_DTMF_CHAR_ROAR('Y'), _FRL5, _FRH6}, 
     149 {ROAR_DTMF_CHAR_ROAR('@'), _FRL6, _FRH0}, 
     150 {ROAR_DTMF_CHAR_ROAR('+'), _FRL6, _FRH1}, 
     151 {ROAR_DTMF_CHAR_ROAR('-'), _FRL6, _FRH2}, 
     152 {ROAR_DTMF_CHAR_ROAR('E'), _FRL6, _FRH3}, 
     153 {ROAR_DTMF_CHAR_ROAR('L'), _FRL6, _FRH4}, 
     154 {ROAR_DTMF_CHAR_ROAR('S'), _FRL6, _FRH5}, 
     155 {ROAR_DTMF_CHAR_ROAR('Z'), _FRL6, _FRH6}, 
    80156 
    81157 {0, -1, -1} 
Note: See TracChangeset for help on using the changeset viewer.