- email adress for everything related to operations, beacon reports,… : email@example.com
- radio infos updated on QARMAN website: https://qarman.eu/index.php/amateur-radio
Less than 10 days before deployment, some fresh news about QARMAN!
Do you probably have some sample frames? The raw frames in ax.25 would be sufficient.
Sure! Please see below. Is there anything else that could be useful?
An audio sample: Beacon recording (IQ file from SDR#) (password: QarmanBCN)
A few raw AX.25 frames: BCNcapture.txt (1.1 KB) (as they come from the flatsat, OBC temperature will not be realistic as calibration is different)
I‘ll have a look, thanks a lot!
Oh, I see: they seem to be in KISS format. Pretty good to work on, just need a confirmation!
Indeed, QARMAN is using KISS format.
Hm, just to be precise: the exchange format of the frames after demodulating is KISS format - the satellite itself (hopefully!) does not use KISS format.
Thanks for the precision! Of course you are right!
From current observations the data seems to be totally correct!
I am finishing the decoder in the next hours and will try to build a simple dashboard for QARMAN.
While reading your instructions in the decoder spread sheet I am concerned if you properly interpret the beacons correctly. If you are just copy and pasting the data from OnlineKISS: you will see “corrupted” beacons caused by the KISS escape sequences. If a value inside your beacon reaches
0xC0 the KISS protocol expects this data to be escaped, otherwise this would indicate the frameend. So you might get “larger” beacons than expected and corrupted data.
Thank you very much for the dashboard!
Your remark about 0xC0 is very interesting, I didn’t know that and it explains a few strange things I have seen during the tests! How would the TNC (we use SCS tracker / DSP TNC) behave if receiving 0xC? And if asked to transmit some?
It uses an escape sequence to surround that value. This enlarges the frame each time a value contains one of the escape symbols. I can paste some code in here later to show how to KISSify and de-KISSIfy a byte-stream…
As a first reference I would suggest you read this:
To easily convert from KISS frames for my work with
satnogs-decoders I built a small snippet in
""" KISS parser to remove the KISS escape sequences and get binary frames """ from __future__ import absolute_import, division, print_function import binascii import sys import getopt FEND = 0xc0 FESC = 0xdb TFEND = 0xdc TFESC = 0xdd class kiss_to_bin(object): # pylint: disable=too-few-public-methods def __init__(self): self.out = bytearray(b'') self.transposed = False pass def decode(self, in_bindata): # pylint: disable=no-self-use self.out = bytearray(b'') bindata = bytearray(in_bindata) i = 0 binlen = len(bindata) while i < binlen: char = bindata[i] if char == FEND: i += 1 elif self.transposed: if char == TFEND: self.out.append(FEND) elif char == TFESC: self.out.append(FESC) self.transposed = False elif char == FESC: self.transposed = True else: self.out.append(bindata[i]) i += 1 return self.out if __name__ == "__main__": # some examples DEC = kiss_to_bin() print("decode: " + str(binascii.hexlify(binascii.unhexlify('C000DBDC11272722C0')))) print("decoded: " + str(binascii.hexlify(DEC.decode(binascii.unhexlify('C000DBDC11272722C0'))))) print(binascii.hexlify(binascii.unhexlify('C000001122DBDD0011a2727220C0'))) print(binascii.hexlify(DEC.decode(binascii.unhexlify('C000001122DBDD0011a2727220C0')))) print("unKISSing array...") kiss = [ "c0008898608aa6826088a0609ea0a66103f035efcedbdc9ae0705171cd93caa7b717cc5a977d8532e16f130a10e60095dfdfb1fe901c38ca9c4286875d275adcdc8d9c218edcacbc6b7e10705f64a7b4f57ebcb9f77e5e8c0c8eda33f683d64974f780f30784905016045047ce06ea159ec0", "c0008898608aa6826088a0609ea0a66103f035efcedbdc9ae0705271cd93caa7b717cd5a977d8532e16fb50a10e60095dfdfb1fe901c38ca9c4286875d275adcdd8d9c218edcacbcc97e10705fde064226e45824b2b84147d2c5fec164dbdc3b35d69f1662d1d9f129486ca940d0e890af7ac0", "c0008898608aa6826088a0609ea0a66103f035efcedbdc9ae0705271cd93caa7b716315a977d8532e1702d0a10e60095dfdfb1fe901c38ca9c4286875d275adcc18d9c218edcacbd517e10705f36d30af06ee69f4fe1cd59ab0cae5529bdb03235bf7e428cb457268b3de8149dd4ebf5c4c0", "c0008898608aa6826088a0609ea0a66103f035efcedbdc9ae0705271cd93caa7b717ce5a977d8532e1704f0a10e60095dfdfb1fe901c38ca9c4286865d275adcde8d9c218edcacbd377e10705fe58dfb0164a6426921f58f76caeaf3d5dbddca65dda4dbdcff6e23e8fedf0cc9c8c5fe8559bec0", "c0008898608aa6826088a0609ea0a66103f035efcedbdc9ae0705271cd93caa7b717cf5a977d8532e170f10a10e60095dfdfb1fe901c38ca9c4286865d275adcdf8d9c218edcacbd957e10705f083d0a63af7b93de123340142fbe7865713a1dab7a53fd786230bc7421b9fa9345a96cabc0", "c0008898608aa6826088a0609ea0a66103f035efcedbdc9ae0705171cd93caa7b717cc5a977d8532e16f130a10e60095dfdfb1fe901c38ca9c4286875d275adcdc8d9c218edcacbc6b7e10705f64a7b4f57ebcb9f77e5e8c0c8eda33f683d64974f780f30784905016045047ce06ea159ec0", ] for kiss_frame in kiss: print(binascii.hexlify(DEC.decode(binascii.unhexlify(kiss_frame)))) print("done...")
Hope that helps…
First of all, many thanks to all of you for your support! SatNOGS has been an incredible source of data for us so far, extremely useful over the first month of the mission!
A few words about QARMAN: the CubeSat is doing fine, very stable and nominal parameters, batteries always fully charged, comfortable temperatures, a few unexpected reboots but not that much. Only issue is that we cannot reach it with our commands. We are working on it, but no success so far. (we are extremely interested by feedback about Astrodev Li-1 radio!)
Then, the news of the day: today is Mission Day 33. We expect QARMAN to have transitioned to Phase 2 and to have deployed its solar panels. It should be visible in the beacon data: OBCmode=Phase 2, Current should now be generated by +/- Xo, +/- Yo panels, AeroSDS 3.3V & IMU should be enabled. Please let us know if you decode such a beacon!
Thanks again, and take care!
Hm, I cannot see any data for QARMAN from the last 7 days. Could you probably push the frames you are receiving into db.satnogs.org?
What about the NORAD-ID Lottery?
Aaaaaaand: we have covered that case! @vk5qi captured a frame after the mode change, see: https://dashboard.satnogs.org/d/98UPKYQWk/qarman?orgId=1&from=1584979017618&to=1584979511506
And there are several more after this one:
Thank you very much!
QARMAN transitioned to Phase 2, and panels have been released. We have good signs that they are deployed! We also now have a confirmation that antennas deployed correctly in the beginning of the mission.
Regarding TLEs, we are pretty sure QARMAN is 1998-067-RG (still labelled as SOCRATES, but should change in the coming days according to Space-Track).
Btw: are you interested in modifying that dashboard to fit your needs?
Jimmy speaking here, I am technical support at VKI’s ON4VKI’s Ground Station working with @amandine_on4eya
Just to warn you that we have lost communication with QARMAN since the 13/07/2020 20:43 (UTC), this was the time of the last beacon.
The temperatures were rising tremendously on the last beacon we received.
I have checked with our engineering model, and made sure it was nothing to do with our Ground Station.
No beacon yesterday either
Can you share what temperatures you were seeing in the last telemetry?