Hi Paul,
Thanks for your input. This is my current code....
Many thanks, Matt.
String inData;
#include <SoftwareSerial.h>
SoftwareSerial ericsson(6, 7);
#include <SPI.h>
#include <SD.h>
const int chipSelect = 4;
void setup() {
Serial.begin(9600);
delay(100);
Serial.println("serial debug begin");
delay(500);
Serial.println("Initializing SD card...");
pinMode(10, OUTPUT);
delay(500);
// see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
return;
}
Serial.println("card initialized.");
delay(500);
ericsson.begin(9600);
delay(3000);
Serial.println("serial with phone begin");
delay(500);
ericsson.println("AT"); //Asking the phone if the connection is working
delay(2000);
ericsson.println("AT+CGREG=2"); //Put phone into correct mode
delay(2000);
}
void loop() {
ericsson.println("AT+CGREG?"); //Ask phone for cell data
Serial.println("sending AT+CGREG?...");
delay(2000);
while (ericsson.available() > 0)
{
char recieved = ericsson.read();
inData += recieved;
// Process message when new line character is recieved
if (recieved == '\n')
{
Serial.print("Arduino Received: ");
Serial.print(inData);
if(inData == "+++\n"){ // DON'T forget to add "\n" at the end of the string.
Serial.println("OK. Press h for help.");
}
File dataFile = SD.open("datalog.txt", FILE_WRITE);
if (dataFile) {
dataFile.println(inData);
dataFile.close();
}
// if the file isn't open, pop up an error:
else {
Serial.println("error opening datalog.txt");
}
inData = ""; // Clear recieved buffer
}
}
}