@@ -43,7 +43,7 @@ int ModemClass::begin(bool restart)
43
43
pinMode (_resetPin, OUTPUT);
44
44
digitalWrite (_resetPin, HIGH);
45
45
delay (100 );
46
- digitalWrite (_resetPin, LOW);
46
+ digitalWrite (_resetPin, LOW);
47
47
} else {
48
48
if (!autosense ()) {
49
49
return 0 ;
@@ -63,7 +63,7 @@ int ModemClass::begin(bool restart)
63
63
if (waitForResponse () != 1 ) {
64
64
return 0 ;
65
65
}
66
-
66
+
67
67
_uart->end ();
68
68
delay (100 );
69
69
_uart->begin (_baud);
@@ -171,6 +171,9 @@ void ModemClass::send(const char* command)
171
171
delay (5 );
172
172
}
173
173
174
+ unsigned long dif=millis ()-_uartMillis;
175
+ if (dif<20 ) delay (20 -dif);
176
+
174
177
_uart->println (command);
175
178
_uart->flush ();
176
179
_atCommandState = AT_COMMAND_IDLE;
@@ -182,7 +185,7 @@ void ModemClass::sendf(const char *fmt, ...)
182
185
char buf[BUFSIZ];
183
186
184
187
va_list ap;
185
- va_start ((ap), (fmt));
188
+ va_start ((ap), (fmt));
186
189
vsnprintf (buf, sizeof (buf) - 1 , fmt, ap);
187
190
va_end (ap);
188
191
@@ -217,6 +220,7 @@ void ModemClass::poll()
217
220
{
218
221
while (_uart->available ()) {
219
222
char c = _uart->read ();
223
+ _uartMillis=millis ();
220
224
221
225
if (_debug) {
222
226
Serial.write (c);
@@ -227,7 +231,7 @@ void ModemClass::poll()
227
231
switch (_atCommandState) {
228
232
case AT_COMMAND_IDLE:
229
233
default : {
230
-
234
+
231
235
if (_buffer.startsWith (" AT" ) && _buffer.endsWith (" \r\n " )) {
232
236
_atCommandState = AT_RECEIVING_RESPONSE;
233
237
_buffer = " " ;
@@ -240,7 +244,7 @@ void ModemClass::poll()
240
244
_urcHandlers[i]->handleUrc (_buffer);
241
245
}
242
246
}
243
- }
247
+ }
244
248
245
249
_buffer = " " ;
246
250
}
@@ -252,7 +256,7 @@ void ModemClass::poll()
252
256
if (c == ' \n ' ) {
253
257
int responseResultIndex = _buffer.lastIndexOf (" OK\r\n " );
254
258
if (responseResultIndex != -1 ) {
255
- _ready = 1 ;
259
+ _ready = 1 ;
256
260
} else {
257
261
responseResultIndex = _buffer.lastIndexOf (" ERROR\r\n " );
258
262
if (responseResultIndex != -1 ) {
0 commit comments