#include "project.h" #define DIGIT_TIMEOUT 4000 static char dialstr[32]="ATDT"; static unsigned dialstr_ptr=4; static int dialstr_timeout; void dialstr_clear(void) { dialstr_ptr=4; dialstr[dialstr_ptr]=';'; dialstr[dialstr_ptr+1]=0; } void dialstr_digit(int digit) { if (!dialstr_timeout) dialstr_clear(); if (dialstr_ptr>=(sizeof(dialstr)-2)) return; dialstr[dialstr_ptr]='0'+digit; dialstr_ptr++; dialstr[dialstr_ptr]=';'; dialstr[dialstr_ptr+1]=0; dialstr_timeout=DIGIT_TIMEOUT; printf("Dialstr is now %s\r\n",dialstr+4); } void dialstr_dial(void) { printf("Dialing %s\r\n",dialstr+4); modem_send(dialstr); } void dialstr_tick(void) { if (!dialstr_timeout) return; dialstr_timeout--; if (dialstr_timeout) return; if (!hook) dialstr_dial(); }