# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import time
+
from savemysugar.cumulative_average import cumulative_average
from savemysugar.Modem import Modem
-import time
class Ring(object):
def on_ring():
if Ring.time == -1:
- print("First ring")
Ring.time = time.time()
- raise StopIteration("We just want the first ring")
+ raise StopIteration("Got the ring we were waiting for")
def measure_call_setup_time(ingoing_port, outgoing_port, destination_number):
for i in range(5):
print()
- print("Attempt: %s" % (i + 1))
- outgoing_modem.send_command("ATDT" + destination_number)
+ print("Call: %s" % (i + 1))
+ outgoing_modem.send_command("ATDT" + destination_number + ";")
dial_time = time.time()
# Wait for the receiver to get a ring before terminating the call
hangup_time = time.time()
- # When dialing with an analog modem I noticed that if calls are
- # separated one from another they take less time to set up, this
- # may be due to how an analog modem works: getting it on-hook and
- # off-hook takes quite some time.
- inter_call_sleep = 5.2
- print("After hangup sleeping %.2f sec..." % inter_call_sleep)
- time.sleep(inter_call_sleep)
-
call_setup_time = Ring.time - dial_time
min_call_setup_time = min(min_call_setup_time, call_setup_time)
max_call_setup_time = max(max_call_setup_time, call_setup_time)
avg_call_setup_time = cumulative_average(avg_call_setup_time,
i + 1,
call_setup_time)
- uncertainty = (max_call_setup_time - min_call_setup_time) / 2.
print("Call setup time: %f" % call_setup_time)
print("Min call setup time: %f" % min_call_setup_time)
print("Max call setup time: %f" % max_call_setup_time)
print("Average call setup time: %f" % avg_call_setup_time)
- print("Call setup time uncertainty: %f" % uncertainty)
print()
call_time = hangup_time - dial_time
print("Min call time: %f" % min_call_time)
print("Max call time: %f" % max_call_time)
print()
+
Ring.time = -1
+ # When dialing with an analog modem I noticed that if calls are
+ # separated one from another they take less time to set up, this
+ # may be due to how an analog modem works: getting it on-hook and
+ # off-hook takes quite some time.
+ inter_call_sleep = 5.2
+ print("Sleeping %.2f sec before the next call..." % inter_call_sleep)
+ time.sleep(inter_call_sleep)
+
def main():
import sys