diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 9fbf302d..50c5c495 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -607,6 +607,8 @@ void get_tlm_fox() { int buffSize; buffSize = (int) sizeof(buffer_test); + parse_payload(); + for (int n = 0; n < 17; n++) sensor[n] = 1.0; @@ -3384,3 +3386,36 @@ void transmit_char(char character) { // Serial.println(" "); } + +void parse_payload() { + + if ((payload_str[0] == 'O') && (payload_str[1] == 'K')) // only process if valid payload response + { + int count1; + char * token; + + const char space[2] = " "; + token = strtok(payload_str, space); + for (count1 = 0; count1 < 17; count1++) { + if (token != NULL) { + sensor[count1] = (float) atof(token); + Serial.print("sensor: "); + Serial.println(sensor[count1]); + token = strtok(NULL, space); + } + } +// printf("\n"); + } + else + payload = OFF; // turn off since STEM Payload is not responding + } + if ((payload_str[0] == 'O') && (payload_str[1] == 'K')) { + for (int count1 = 0; count1 < 17; count1++) { + if (sensor[count1] < sensor_min[count1]) + sensor_min[count1] = sensor[count1]; + if (sensor[count1] > sensor_max[count1]) + sensor_max[count1] = sensor[count1]; + // printf("Smin %f Smax %f \n", sensor_min[count1], sensor_max[count1]); + } + } +}