I’m currently building a logger using a Seeduino Stalker v2.3 and GPRS shield V2. I also use an SD card for saving log data and long strings. The sending and receiving of GPRS data is done with SoftwareSerial. I attached all relevant code. I’ve been successfully testing this device, adding bits of code for extra functionality. I am logging the level changes on two pins.
I have now reached a point where I want to start wrapping the project up, but now I am encountering a weird issue.
The program gets past the setup function, doing a thorough diagnostic routine. Then it enters the loop. The loop has 5 parts: First it makes sure I’m not stuck in an incorrect state. Then it goes through a switch that controls the action to be taken for each state. Then it logs(if neccesary). Then it checks if the GPRS shield has anything waiting in it’s buffer.
This is the point where I am encountering problems: the command GPRS.available() isn’t acting the way it should. I loaded my program onto the Stalker, allowed it to start, and called the GPRS shield with my phone. Even though I can hear it ringing on my phone, there is no reaction on my serial monitor. I know the program isn’t stuck, because the watchdog timer would restart it, and I tested it with printouts. It also still logs exactly the way it should.
Note: I test the GPRS SoftwareSerial port right at the beginning of the program by sending “AT” and waiting for it to reply “OK”. I also tested my setup with a simpler sketch(“Basic AT”).
File_maker creates all the files required for the successful operation.
Bluegum_logger_2 has worked correctly in the past. The problem started when I did some minor edits. I have tried to reverse most of this.
Please take a look. Is this a memory issue? Or a bug in SoftwareSerial? I am very frustrated.
Basic_AT.ino (1.11 KB)
Bluegum_Logger_2.ino (20.8 KB)
File_maker_forum.ino (1.37 KB)