Allow autobaud from min to max

This commit is contained in:
Volodymyr Shymanskyy
2017-09-28 02:13:57 +03:00
parent 2b233936b0
commit b69c205ad9

View File

@@ -72,12 +72,14 @@ const T& TinyGsmMax(const T& a, const T& b)
} }
template<class T> template<class T>
uint32_t TinyGsmAutoBaud(T& SerialAT) uint32_t TinyGsmAutoBaud(T& SerialAT, uint32_t minimum = 9600, uint32_t maximum = 115200)
{ {
static uint32_t rates[] = { 115200, 57600, 38400, 19200, 9600, 74400, 74880, 230400, 460800, 2400, 4800, 14400, 28800 }; static uint32_t rates[] = { 115200, 57600, 38400, 19200, 9600, 74400, 74880, 230400, 460800, 2400, 4800, 14400, 28800 };
for (unsigned i = 0; i < sizeof(rates)/sizeof(rates[0]); i++) { for (unsigned i = 0; i < sizeof(rates)/sizeof(rates[0]); i++) {
uint32_t rate = rates[i]; uint32_t rate = rates[i];
if (rate < minimum || rate > maximum) continue;
DBG("Trying baud rate", rate, "..."); DBG("Trying baud rate", rate, "...");
SerialAT.begin(rate); SerialAT.begin(rate);
delay(10); delay(10);