Skip to content

Instantly share code, notes, and snippets.

@tomekr
Created August 30, 2015 05:31
Show Gist options
  • Save tomekr/a58ec8f8fc3ae16fc2df to your computer and use it in GitHub Desktop.
Save tomekr/a58ec8f8fc3ae16fc2df to your computer and use it in GitHub Desktop.
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int result[6][2];
parseMessage("881&11|900&22|950&33|975&44|1000&55|1071&66$", result);
//Serial.println("test");
// Serial.println(result[5][0]);
// Serial.println(result[5][1]);
}
// 881-1071
void parseMessage(String msg, int result[6][2]) {
int pipeDelimeter = msg.indexOf('|');
int packetDelimeter = msg.indexOf('&');
//String frequency = msg.substring(0, packetDelimeter);
int index = 0;
int previousPipeDelimeter = 0;
int previousPacketDelimeter = 0;
int frequency;
int power;
String debug = "";
while (msg.indexOf('&', previousPacketDelimeter) != -1) {
int packetDelimeter = msg.indexOf('&',previousPacketDelimeter);
int pipeDelimeter = msg.indexOf('|', previousPipeDelimeter);
debug = msg.substring(previousPipeDelimeter, packetDelimeter);
//Serial.println(debug);
frequency = debug.toInt();
//Serial.println(frequency);
debug = msg.substring(packetDelimeter+1, pipeDelimeter);
//Serial.println(debug);
power = debug.toInt();
//Serial.println(power);
result[index][0] = frequency;
result[index][1] = power;
previousPipeDelimeter = pipeDelimeter+1;
previousPacketDelimeter = packetDelimeter+1;
//Serial.println(index);
index = index + 1;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment