Moved all serial strings to flash to save RAM

This commit is contained in:
Jan Gromeš 2018-04-19 18:49:27 +02:00
parent b5e1ff2ef1
commit 2d9f4a3f46
3 changed files with 53 additions and 53 deletions

View file

@ -21,14 +21,14 @@ void setup() {
ledsHigh(); ledsHigh();
bluetooth.begin(9600); bluetooth.begin(9600);
Serial.println("[HC05] Port open!"); Serial.println(F("[HC05] Port open!"));
Serial.print("[RF69] Initializing ... "); Serial.print(F("[RF69] Initializing ... "));
byte state = rf.begin(); byte state = rf.begin();
if(state == ERR_NONE) { if(state == ERR_NONE) {
Serial.println("success!"); Serial.println(F("success!"));
} else { } else {
Serial.print("failed, code 0x"); Serial.print(F("failed, code 0x"));
Serial.println(state, HEX); Serial.println(state, HEX);
ledsLow(); ledsLow();
digitalWrite(LED_START_ERROR, HIGH); digitalWrite(LED_START_ERROR, HIGH);
@ -38,7 +38,7 @@ void setup() {
ledsLow(); ledsLow();
digitalWrite(LED_START_OK, HIGH); digitalWrite(LED_START_OK, HIGH);
Serial.println("[HC05] Waiting for incoming data ... "); Serial.println(F("[HC05] Waiting for incoming data ... "));
} }
void loop() { void loop() {
@ -48,15 +48,15 @@ void loop() {
while(bluetooth.available() > 0) { while(bluetooth.available() > 0) {
digitalWrite(LED_RECEIVING, HIGH); digitalWrite(LED_RECEIVING, HIGH);
char receivedCharacter = bluetooth.read(); char receivedCharacter = bluetooth.read();
Serial.print("[HC05] "); Serial.print(F("[HC05] "));
Serial.print(receivedCharacter); Serial.print(receivedCharacter);
Serial.print("\t 0x"); Serial.print(F("\t 0x"));
Serial.println(receivedCharacter, HEX); Serial.println(receivedCharacter, HEX);
digitalWrite(LED_RECEIVING, LOW); digitalWrite(LED_RECEIVING, LOW);
if(receivedCharacter != '\n') { if(receivedCharacter != '\n') {
receivedString += receivedCharacter; receivedString += receivedCharacter;
} else { } else {
Serial.print("[HC05] Received string: "); Serial.print(F("[HC05] Received string: "));
Serial.println(receivedString); Serial.println(receivedString);
receivedFlag = true; receivedFlag = true;
break; break;
@ -67,16 +67,16 @@ void loop() {
digitalWrite(LED_TRANSMITING, HIGH); digitalWrite(LED_TRANSMITING, HIGH);
receivedFlag = false; receivedFlag = false;
Packet pack("01:23:45:67:89:AB:CD:EF", receivedString.c_str()); Packet pack("01:23:45:67:89:AB:CD:EF", receivedString.c_str());
Serial.print("[RF69] Transmitting packet ... "); Serial.print(F("[RF69] Transmitting packet ... "));
byte state = rf.transmit(pack); byte state = rf.transmit(pack);
if(state == ERR_NONE) { if(state == ERR_NONE) {
Serial.println("success!"); Serial.println(F("success!"));
} else { } else {
Serial.print("failed, code 0x"); Serial.print(F("failed, code 0x"));
Serial.println(state, HEX); Serial.println(state, HEX);
} }
digitalWrite(LED_TRANSMITING, LOW); digitalWrite(LED_TRANSMITING, LOW);
Serial.println("[HC05] Waiting for incoming data ... "); Serial.println(F("[HC05] Waiting for incoming data ... "));
} }
} }

View file

@ -22,57 +22,57 @@ void setup() {
ledsHigh(); ledsHigh();
Serial.print("[XBee] Initializing ... "); Serial.print(F("[XBee] Initializing ... "));
byte state = bee.begin(9600); byte state = bee.begin(9600);
if(state == ERR_NONE) { if(state == ERR_NONE) {
Serial.println("success!"); Serial.println(F("success!"));
ledsLow(); ledsLow();
delay(BLINK_DELAY); delay(BLINK_DELAY);
ledsHigh(); ledsHigh();
} else { } else {
Serial.print("failed, code 0x"); Serial.print(F("failed, code 0x"));
Serial.println(state, HEX); Serial.println(state, HEX);
ledsLow(); ledsLow();
digitalWrite(LED_START_ERROR, HIGH); digitalWrite(LED_START_ERROR, HIGH);
while(true); while(true);
} }
Serial.print("[XBee] Setting PAN ID ... "); Serial.print(F("[XBee] Setting PAN ID ... "));
state = bee.setPanId("0123456789ABCDEF"); state = bee.setPanId("0123456789ABCDEF");
if(state == ERR_NONE) { if(state == ERR_NONE) {
Serial.println("success!"); Serial.println(F("success!"));
ledsLow(); ledsLow();
delay(BLINK_DELAY); delay(BLINK_DELAY);
ledsHigh(); ledsHigh();
} else { } else {
Serial.print("failed, code 0x"); Serial.print(F("failed, code 0x"));
Serial.println(state, HEX); Serial.println(state, HEX);
ledsLow(); ledsLow();
digitalWrite(LED_START_ERROR, HIGH); digitalWrite(LED_START_ERROR, HIGH);
while(true); while(true);
} }
Serial.print("[XBee] Setting destination address ... "); Serial.print(F("[XBee] Setting destination address ... "));
state = bee.setDestinationAddress("0013A200", "40A58A5D"); state = bee.setDestinationAddress("0013A200", "40A58A5D");
if(state == ERR_NONE) { if(state == ERR_NONE) {
Serial.println("success!"); Serial.println(F("success!"));
ledsLow(); ledsLow();
delay(BLINK_DELAY); delay(BLINK_DELAY);
ledsHigh(); ledsHigh();
} else { } else {
Serial.print("failed, code 0x"); Serial.print(F("failed, code 0x"));
Serial.println(state, HEX); Serial.println(state, HEX);
ledsLow(); ledsLow();
digitalWrite(LED_START_ERROR, HIGH); digitalWrite(LED_START_ERROR, HIGH);
while(true); while(true);
} }
Serial.print("[RF69] Initializing ... "); Serial.print(F("[RF69] Initializing ... "));
state = rf.begin(); state = rf.begin();
if(state == ERR_NONE) { if(state == ERR_NONE) {
Serial.println("success!"); Serial.println(F("success!"));
} else { } else {
Serial.print("failed, code 0x"); Serial.print(F("failed, code 0x"));
Serial.println(state, HEX); Serial.println(state, HEX);
ledsLow(); ledsLow();
digitalWrite(LED_START_ERROR, HIGH); digitalWrite(LED_START_ERROR, HIGH);
@ -84,42 +84,42 @@ void setup() {
} }
void loop() { void loop() {
Serial.print("[RF69] Waiting for incoming transmission ... "); Serial.print(F("[RF69] Waiting for incoming transmission ... "));
byte state = rf.receive(pack); byte state = rf.receive(pack);
if(state == ERR_NONE) { if(state == ERR_NONE) {
digitalWrite(LED_RECEIVING, HIGH); digitalWrite(LED_RECEIVING, HIGH);
Serial.println("success!"); Serial.println(F("success!"));
char str[24]; char str[24];
pack.getSourceStr(str); pack.getSourceStr(str);
Serial.print("[RF69] Source:\t\t"); Serial.print(F("[RF69] Source:\t\t"));
Serial.println(str); Serial.println(str);
pack.getDestinationStr(str); pack.getDestinationStr(str);
Serial.print("[RF69] Destination:\t"); Serial.print(F("[RF69] Destination:\t"));
Serial.println(str); Serial.println(str);
Serial.print("[RF69] Length:\t\t"); Serial.print(F("[RF69] Length:\t\t"));
Serial.println(pack.length); Serial.println(pack.length);
Serial.print("[RF69] Data:\t\t"); Serial.print(F("[RF69] Data:\t\t"));
Serial.println(pack.data); Serial.println(pack.data);
digitalWrite(LED_RECEIVING, LOW); digitalWrite(LED_RECEIVING, LOW);
Serial.print("[XBee] Sending packet ... "); Serial.print(F("[XBee] Sending packet ... "));
digitalWrite(LED_TRANSMITING, HIGH); digitalWrite(LED_TRANSMITING, HIGH);
bee.println(pack.data); bee.println(pack.data);
digitalWrite(LED_TRANSMITING, LOW); digitalWrite(LED_TRANSMITING, LOW);
Serial.println("done!"); Serial.println(F("done!"));
} else if(state == ERR_RX_TIMEOUT) { } else if(state == ERR_RX_TIMEOUT) {
Serial.println("timeout!"); Serial.println(F("timeout!"));
} else if(state == ERR_CRC_MISMATCH) { } else if(state == ERR_CRC_MISMATCH) {
Serial.println("CRC error!"); Serial.println(F("CRC error!"));
} }
} }

View file

@ -20,57 +20,57 @@ void setup() {
ledsHigh(); ledsHigh();
Serial.print("[XBee] Initializing ... "); Serial.print(F("[XBee] Initializing ... "));
byte state = bee.begin(9600); byte state = bee.begin(9600);
if(state == ERR_NONE) { if(state == ERR_NONE) {
Serial.println("success!"); Serial.println(F("success!"));
ledsLow(); ledsLow();
delay(BLINK_DELAY); delay(BLINK_DELAY);
ledsHigh(); ledsHigh();
} else { } else {
Serial.print("failed, code 0x"); Serial.print(F("failed, code 0x"));
Serial.println(state, HEX); Serial.println(state, HEX);
ledsLow(); ledsLow();
digitalWrite(LED_START_ERROR, HIGH); digitalWrite(LED_START_ERROR, HIGH);
while(true); while(true);
} }
Serial.print("[XBee] Setting PAN ID ... "); Serial.print(F("[XBee] Setting PAN ID ... "));
state = bee.setPanId("0123456789ABCDEF"); state = bee.setPanId("0123456789ABCDEF");
if(state == ERR_NONE) { if(state == ERR_NONE) {
Serial.println("success!"); Serial.println(F("success!"));
ledsLow(); ledsLow();
delay(BLINK_DELAY); delay(BLINK_DELAY);
ledsHigh(); ledsHigh();
} else { } else {
Serial.print("failed, code 0x"); Serial.print(F("failed, code 0x"));
Serial.println(state, HEX); Serial.println(state, HEX);
ledsLow(); ledsLow();
digitalWrite(LED_START_ERROR, HIGH); digitalWrite(LED_START_ERROR, HIGH);
while(true); while(true);
} }
Serial.print("[XBee] Setting destination address ... "); Serial.print(F("[XBee] Setting destination address ... "));
state = bee.setDestinationAddress("0013A200", "40A58A5D"); state = bee.setDestinationAddress("0013A200", "40A58A5D");
if(state == ERR_NONE) { if(state == ERR_NONE) {
Serial.println("success!"); Serial.println(F("success!"));
ledsLow(); ledsLow();
delay(BLINK_DELAY); delay(BLINK_DELAY);
ledsHigh(); ledsHigh();
} else { } else {
Serial.print("failed, code 0x"); Serial.print(F("failed, code 0x"));
Serial.println(state, HEX); Serial.println(state, HEX);
ledsLow(); ledsLow();
digitalWrite(LED_START_ERROR, HIGH); digitalWrite(LED_START_ERROR, HIGH);
while(true); while(true);
} }
Serial.print("[SX1278] Initializing ... "); Serial.print(F("[SX1278] Initializing ... "));
state = lora.begin(); state = lora.begin();
if(state == ERR_NONE) { if(state == ERR_NONE) {
Serial.println("success!"); Serial.println(F("success!"));
} else { } else {
Serial.print("failed, code 0x"); Serial.print(F("failed, code 0x"));
Serial.println(state, HEX); Serial.println(state, HEX);
ledsLow(); ledsLow();
digitalWrite(LED_START_ERROR, HIGH); digitalWrite(LED_START_ERROR, HIGH);
@ -80,7 +80,7 @@ void setup() {
ledsLow(); ledsLow();
digitalWrite(LED_START_OK, HIGH); digitalWrite(LED_START_OK, HIGH);
Serial.println("[XBee] Waiting for incoming data ... "); Serial.println(F("[XBee] Waiting for incoming data ... "));
} }
void loop() { void loop() {
@ -90,15 +90,15 @@ void loop() {
while(bee.available() > 0) { while(bee.available() > 0) {
digitalWrite(LED_RECEIVING, HIGH); digitalWrite(LED_RECEIVING, HIGH);
char receivedCharacter = bee.read(); char receivedCharacter = bee.read();
Serial.print("[XBee] "); Serial.print(F("[XBee] "));
Serial.print(receivedCharacter); Serial.print(receivedCharacter);
Serial.print("\t 0x"); Serial.print(F("\t 0x"));
Serial.println(receivedCharacter, HEX); Serial.println(receivedCharacter, HEX);
digitalWrite(LED_RECEIVING, LOW); digitalWrite(LED_RECEIVING, LOW);
if((receivedCharacter != '\n') && (receivedCharacter != '\r')) { if((receivedCharacter != '\n') && (receivedCharacter != '\r')) {
receivedString += receivedCharacter; receivedString += receivedCharacter;
} else if(receivedCharacter != '\n') { } else if(receivedCharacter != '\n') {
Serial.print("[XBee] Received string: "); Serial.print(F("[XBee] Received string: "));
Serial.println(receivedString); Serial.println(receivedString);
receivedFlag = true; receivedFlag = true;
break; break;
@ -109,12 +109,12 @@ void loop() {
digitalWrite(LED_TRANSMITING, HIGH); digitalWrite(LED_TRANSMITING, HIGH);
receivedFlag = false; receivedFlag = false;
Packet pack("01:23:45:67:89:AB:CD:EF", receivedString.c_str()); Packet pack("01:23:45:67:89:AB:CD:EF", receivedString.c_str());
Serial.print("[SX1278] Transmitting packet ... "); Serial.print(F("[SX1278] Transmitting packet ... "));
byte state = lora.transmit(pack); byte state = lora.transmit(pack);
if(state == ERR_NONE) { if(state == ERR_NONE) {
Serial.println("success!"); Serial.println(F("success!"));
} else { } else {
Serial.print("failed, code 0x"); Serial.print(F("failed, code 0x"));
Serial.println(state, HEX); Serial.println(state, HEX);
} }
digitalWrite(LED_TRANSMITING, LOW); digitalWrite(LED_TRANSMITING, LOW);