I bought a GBoard from IteadStudio (http://imall.iteadstudio.com/special-product/im120411004.html). The GSM functioncallity is working fine, but today I tried send and receive DTMF signal, but without success.
For some reason the class commented (disabled) in GSM_Shield.cpp library, line 765 is one sample.
Library:ftp://imall.iteadstudio.com/IM120411004_GBoard/Documents/Lib_IM120411004_GBoard_SIM900.zip
See an excerpt:
/**********************************************************
Checks if DTMF signal is valid
return: >= 0x10hex(16dec) - DTMF signal is NOT valid
0..15 - valid DTMF signal
**********************************************************/
/*byte GSM::GetDTMFSignal(void) //LINE 765
{
static byte last_state = LOW; // initialization
byte ret_val = 0xff; // default - not valid
if (digitalRead(DTMF_DATA_VALID)==HIGH
&& last_state == LOW) {
// valid DTMF signal => decode it
// ------------------------------
last_state = HIGH; // remember last state
ret_val = 0;
if (digitalRead(DTMF_DATA0)) ret_val |= 0x01;
if (digitalRead(DTMF_DATA1)) ret_val |= 0x02;
if (digitalRead(DTMF_DATA2)) ret_val |= 0x04;
if (digitalRead(DTMF_DATA3)) ret_val |= 0x08;
// confirm DTMF signal by the tone 5
// ---------------------------------
SendDTMFSignal(5);
}
else if (digitalRead(DTMF_DATA_VALID) == LOW) {
// pulse is not valid => enable to check DTMF signal again
// -------------------------------------------------------
last_state = LOW;
}
return (ret_val);
}
*/
Is there any reason to come to the library this way,.
Considering this, someone could help me with the following functions:
1-EnableDTMF
2-GetDTMFSignal ()
3-SendDTMFSignal ()
Thank you very much for any hints.