diff --git a/firmware/Pre-flight.md b/firmware/Pre-flight.md index 3f88375..82edfe4 100644 --- a/firmware/Pre-flight.md +++ b/firmware/Pre-flight.md @@ -1,3 +1,12 @@ +## Updating Datapoints returned + +- UKHAS String + - Update `format_telemetry_string` in `src/main.c` + - Update `ukhas_format` in `tools/ukhas_format.py` so the aprs daemon can assemble valid backlog strings. +- APRS telemetry + - `encode_telemetry` in `src/aprs.c`. This same format is re-used in backlog. + - `extract_telemetry` in `tools/extract_backlog.py` needs to be updated to parse this backlog. + ## Pre-Flight Checklist ## - In `hw_config.h` diff --git a/firmware/tools/ukhas_format.py b/firmware/tools/ukhas_format.py index 5a481ff..fd8276a 100644 --- a/firmware/tools/ukhas_format.py +++ b/firmware/tools/ukhas_format.py @@ -28,11 +28,14 @@ def ukhas_format(datum, callsign): location_str = "{:.6f},{:.6f},{}".format( coords[0], coords[1], int(round(coords[2]))) - # Everything - ukhas_str = "{},{},{},{},{},{},{},{},{}".format( - callsign, time_str, date_str, location_str, - datum['satellites'], datum['ttff'], - datum['battery'], datum['temperature_e'], datum['temperature_i']); + if callsign == 'UBSEDS14': # Telemetry string for flight UBESDS14 + ukhas_str = "{},{},{},{},{},{},{},{},{}".format( + callsign, time_str, date_str, location_str, + datum['satellites'], datum['ttff'], + datum['battery'], datum['temperature_e'], datum['temperature_i']); + + else: # Unknown callsign! + raise ValueException('ukhas_format.py does not know about callsign '+callsign) # Checksum crc16 = crcmod.mkCrcFun(0x11021, 0xFFFF, False, 0x0000)