First SerialCloud.println command lost


#1

It seems when attempting to use multiple SerialCloud.println commands, the first request sent is not received by the CSR. I have worked around this issue by adding a SerialCloud.println() prior to the actual SerialCloud.println(my string) command. Is this required or is there an alternative to insure the first request is received?


#2

That was a bug in previous versions of the firmware, but should have been fixed. Are you using version 0.7.0 of the Arduino integration and the latest system firmware?


#3

I can confirm through the board manager in the Arduino IDE that I am using version 0.7.0 of the Arduino integration. I there a way check the firmware version that is installed? Thanks !


#4

Interesting stuff – so based on this thread I thought it would be a good idea to update to 0.9.2. No joy… The Dash 0.6 Updater loads, I click System firmware, but the program will not recognize the “konekt_system_module_dash_system_0.9.2.bin” file (stays gray). Screenshot of the “stuck at point” attached. Running a Mac El Capitan 10.11.3. Thoughts?


#5

Ah yeah, the GUI library we’re using has a bug on OSX, but we have a version with a fix. I’ll talk to the team about getting that released very soon. Sorry about that.
In the meantime, you can run it with the command line flag --imagefile to set the filename and bypass the file dialog.


#6

Just in case you missed my question above…I there a way check the firmware version that is installed? Thanks Reuben!


#7

Oops, yeah. So it’s unfortunately a bit complicated at this time as we don’t have an API call for that in this version. The firmware version is printed when the device first boots, but if you’re using USB serial you might miss it by the time you get the terminal started. You can use a TTL to Serial converter to watch the boot process or you can just stick a 5 second delay at the top of your user program so that you have enough time to attach the terminal to the USB port before the board starts printing stuff.


#8

You can also press the tiny M2 reset button while snooping the serial port (via USB or TTL). This will reset the system module and print the firmware version for you.

On the dash, the M2 reset is just a little bit below the antenna connector.


#9

Thanks…That worked! I can confirm that the firmware version is 0.9.2 so everything is up to date. I was using this version when I encountered the lost SerialCloud.print command.


#10

Can you post the relevant pieces of your sketch. We’ll try to reproduce.


#11

Here is a simple test sketch that I used to confirm the issue:

void setup()
{
  // Start the serial port
  SerialUSB.begin(9600);
  SerialCloud.begin(115200);
  SerialUSB.println("Waiting for GSM network");
  delay(240000); //Delay to make connection to GSM network
  
}
void loop()
{ 
  SerialCloud.println("1st Message");
  SerialCloud.println("2nd Message");
  SerialUSB.println(" Messages 1 and 2 sent to cloud");
    
 
  
  delay(60000); 
}

Results:
Serial Monitor
Messages 1 and 2 sent to cloud
Messages 1 and 2 sent to cloud
SMS
2nd Message
1st Message
2nd Message


#12

Thanks. We’ll mess around with this


#13

I’m also seeing the first message sent to the cloud never show up on the dashboard. I have updated the Arduino integration to 0.7.2 and the firmware to 0.9.2 without any success.
When I send the first message I do get the following DEBUG information, but the message never shows up in the Data Log on the dashboard.

+EVENT:LOG,61,5,DEBUG,50,Bootstrapping (12/14): Link verification (1 of 2).
+EVENT:LOG,61,5,DEBUG,50,Bootstrapping (13/14): Link verification (2 of 2).
+EVENT:LOG,67,5,DEBUG,56,Bootstrapping (14/14): Enter serial passthrough mode. OK
+++
+EVENT:LOG,38,5,DEBUG,27,Opening connection to cloud
+EVENT:LOG,42,5,DEBUG,31,Data successfully sent to cloud

The usage byte total for the device does seem to increase, but I can’t say if it’s directly tied to the sending of the message or other trafic.


#14