jmason86 / MinXSS_Beacon_Decoder

Beacon decoder for the MinXSS CubeSat in space; MinXSS-2 launch on 2018-11-19
http://lasp.colorado.edu/home/minxss
GNU General Public License v3.0
11 stars 6 forks source link

Telemetry Value Calculations #10

Closed K4KDR closed 7 years ago

K4KDR commented 7 years ago

It appears that there may be an issue with the math calculations or something similar w/ regard to the numerical telemetry values that are decoded. After several passes now with excellent reception, there may be one accurate decode but others of equal reception quality produce values that deviate significantly from expected values. Further, using the same reception, the decoder from DK3WN renders the telemetry within limits. (Of course, I don't KNOW that the values in the DK3WN decoder are correct, but only offer the comparison as an illustration to help) Finally, even though out of limits, the values in the linux decoder and Windows decoder will be exactly the same when processing the same downlink stream. (Screen shots below do NOT reflect the same packet)

screenshot from 2017-04-01 00-47-45

win-decoder

jmason86 commented 7 years ago

Thanks for this... it is really strange. It doesn't happen on my machine locally when I run it (macOS). I'll have to try running it on Windows to see if I can debug. The logic for identifying and decoding a packet is pretty simple so hopefully there's just a silly mistake in there somewhere. Glad that the DK3WN decoder is out there now too!

jmason86 commented 7 years ago

Posted a potential fix. Mike Rupprecht caught another issue that may relate to this (transposed values of 0xC0) but I'm still looking into that one.

K4KDR commented 7 years ago

Thanks for the update! Pulled the latest files & replayed previously recorded audio w/ good packets. Unfortunately, the app decoded & displayed values obviously out of the expected range. The window where the decoder was run from displayed the following; hope it helps!:


Traceback (most recent call last):
  File "minxss_beacon_decoder.py", line 373, in run
    self.target(*args, **kwargs)
  File "minxss_beacon_decoder.py", line 143, in readPort
    selectedTelemetryDictionary = minxssParser.parsePacket(bufferData)
  File "/home/k4kdr/MinXSS_Beacon_Decoder/minxss_parser.py", line 35, in parsePacket
    selectedTelemetryDictionary['FlightModel'] = self.decodeFlightModel(minxssPacket[51])                                       # [Unitless]
IndexError: bytearray index out of range
jmason86 commented 7 years ago

Ditto comment from another issue, just for completeness:

Try the release 2d2887f (corresponding to release 1.0.2-beta). All the bad decoding has almost certainly been due to KISS special characters, which are now handled.

jmason86 commented 7 years ago

Looks like the math is worked out properly now. Other issues still stand but this one can be closed.