From abaf788a14107241f56134f344f91319f4331468 Mon Sep 17 00:00:00 2001 From: Brendan Haines Date: Thu, 3 Nov 2016 10:19:40 -0600 Subject: [PATCH] makes dialtone constant for 30 seconds and handles button presses during dialtone better --- Hohm_Phone.ino | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Hohm_Phone.ino b/Hohm_Phone.ino index 7a791f2..928ef78 100644 --- a/Hohm_Phone.ino +++ b/Hohm_Phone.ino @@ -47,7 +47,7 @@ char keys[4][3] = { }; unsigned long lastActiveTime; - +bool dialtoneActive = false; bool startDialtone = false; #ifdef USB_DEBUG @@ -112,6 +112,7 @@ void beginCall() { Serial.println("Starting Call"); #endif fona.sendCheckReply( F("AT+STTONE=0"), F("OK") ); // End dialtone + dialtoneActive = false; if ( fona.callPhone( phoneNumber ) ) { #ifdef USB_DEBUG Serial.println("Call Started"); @@ -124,7 +125,8 @@ void beginCall() { } void resumeDialtone() { - fona.sendCheckReply( F("AT+STTONE=1,20,500" ), F("OK") ); // Start dialtone + fona.sendCheckReply( F("AT+STTONE=1,20,30000" ), F("OK") ); // Start dialtone + dialtoneActive = true; } ////////////////////////////////// @@ -185,6 +187,11 @@ void loop() { phoneNumber[ phoneNumberLength ] = key; phoneNumberLength = phoneNumberLength + 1; + if( dialtoneActive ) { + fona.sendCheckReply( F("AT+STTONE=0"), F("OK") ); // End dialtone + dialtoneActive = false; + delay(50); + } fona.playDTMF( key ); // Play DTMF tone lastActiveTime = millis();