Fixed Xbee reset de-assert

This commit is contained in:
Jan Gromeš 2018-04-13 20:51:12 +02:00
parent 0aead0a3d9
commit 917fb2834b
2 changed files with 15 additions and 2 deletions

View file

@ -73,7 +73,7 @@ bool Module::ATsendData(uint8_t* data, uint32_t len) {
} }
bool Module::ATgetResponse() { bool Module::ATgetResponse() {
String data; String data = "";
uint32_t start = millis(); uint32_t start = millis();
while (millis() - start < _ATtimeout) { while (millis() - start < _ATtimeout) {
while(ModuleSerial->available() > 0) { while(ModuleSerial->available() > 0) {
@ -83,6 +83,7 @@ bool Module::ATgetResponse() {
#endif #endif
data += c; data += c;
} }
if(data.indexOf("OK") != -1) { if(data.indexOf("OK") != -1) {
#ifdef DEBUG #ifdef DEBUG
Serial.println(); Serial.println();
@ -94,6 +95,7 @@ bool Module::ATgetResponse() {
#endif #endif
return(false); return(false);
} }
} }
#ifdef DEBUG #ifdef DEBUG
Serial.println(); Serial.println();

View file

@ -12,9 +12,11 @@ XBee::XBee(Module* module) {
uint8_t XBee::begin(long speed) { uint8_t XBee::begin(long speed) {
pinMode(A4, OUTPUT); pinMode(A4, OUTPUT);
pinMode(A5, OUTPUT); pinMode(A5, OUTPUT);
pinMode(3, INPUT); //pinMode(3, INPUT);
pinMode(3, OUTPUT);
digitalWrite(A4, LOW); digitalWrite(A4, LOW);
digitalWrite(A5, LOW); digitalWrite(A5, LOW);
digitalWrite(3, HIGH);
_mod->AtLineFeed = "\r"; _mod->AtLineFeed = "\r";
@ -133,6 +135,15 @@ bool XBee::enterCmdMode() {
Serial.println(" of 10 tries)"); Serial.println(" of 10 tries)");
#endif #endif
pinMode(3, OUTPUT);
delay(10);
digitalWrite(3, HIGH);
delay(500);
digitalWrite(3, LOW);
delay(500);
pinMode(3, INPUT);
delay(500);
_mod->ATsendCommand("ATCN"); _mod->ATsendCommand("ATCN");
if(i == 9) { if(i == 9) {