Telemetry code was mis-computing RSSI
[fw/altos] / ao-tools / lib / cc-telem.c
index ccd40ac2cb9db31e15501c57ab8bcfc6bbfaa287..aa52b7c5b14ce863b4c663679072107fc8c0a0a2 100644 (file)
@@ -101,6 +101,10 @@ cc_telem_parse(const char *input_line, struct cc_telem *telem)
                telem->flight = 0;
 
        cc_parse_int(&telem->rssi, words[5]);
+       if (version <= 2) {
+               /* Older telemetry versions mis-computed the rssi value */
+               telem->rssi = (telem->rssi + 74) / 2 - 74;
+       }
        cc_parse_string(telem->state, sizeof (telem->state), words[9]);
        cc_parse_int(&telem->tick, words[10]);
        cc_parse_int(&telem->accel, words[12]);