I've just cobbled together a rudimentary scheduler for triggering recording/post-processing of FUNcube-1 (AO-73) telemetry with the fcdec utilities.
It uses a predict server to provide pass predictions, is written in python, has a GPLV3 licence and is available on github here. It is only a few hours old, and hasn't seen many passes, but it may well work :)
I found details of the predict server's command set here.
Showing posts with label fcdec. Show all posts
Showing posts with label fcdec. Show all posts
31 December 2013
Using fcdec on Ubuntu 13.10
After some time away from home over Xmas, I decided to have a go at using Alex's fcdec telemetry decoder for the Funcube satellite.
The source is available on github here. It is also necessary to get the source for fcdctl from here. I ran the makefiles in the decoder, fcdctl and filter directories. I then edited tools/submit.sh to reflect my credentials stored with the online data warehouse. I then edited the WORK_DIR and PROG_DIR macros in tools/fcd_sequencer.sh to reflect the paths in my home directory.
I then created links in my ~/bin dir to the binaries I'd just built for decode, fcdctl and filter, and also for the tools/submit.sh and tools/fcd_sequencer.sh scripts.
I discovered that I also needed to install the libsox-fmt-pulse package in order for pulse to work properly with sox and also needed to ensure that the fcd-pro was set to the "Analogue Stereo Input" profile in the configuration tab of pavucontrol.
This let me run fcd_sequencer which then waited for a command on tcp port 12345 to start collecting data. This could be done using telnet. I used telnet to connect to localhost on port 12345 and then submitted the command "start +600" followed by hitting the enter key and then pressing Ctrl+] then entered "quit" to exit telnet and close the tcp connection. At that point, the fcd_sequencer script started to collect data.
There was a pass at 1108z this morning (31st Dec 2013) and it seemed that I was able to decode 40 telemetry packets. This was with my original fcd-pro (not the pro-plus, for some reason I've not been able to get fcdctl to work with the pro-plus yet) and using my 2m turnstile-with-reflectors in the loft for the antenna.
20131231_110203: --------------------------------------------------------------
20131231_110204:
20131231_110204: Waiting for new command on port 12345
20131231_110713: Received start command: start
20131231_110713: Will capture IQ for 780 seconds
Freq set to 145.924000 MHz.
LNA gain set to 10 dB.
nr USB path firmware frequency LNA gain audio device
0 0003:0014:02 18.10 145.924000 MHz 10 dB card6
20131231_110713: Using audio input: alsa_input.usb-Hanlincrest_Ltd._FUNcube_Dongle_V1.0-00-V10.analog-stereo
20131231_110713: Start capture to /home/darren/funcube-data/out/20131231_110713/fcd_iq_sc_20131231_110713_96_145924.raw
20131231_112013: Filter and decode (G=100) /home/darren/funcube-data/out/20131231_110713/fcd_iq_sc_20131231_110713_96_145924.raw:40
20131231_112022: Filter and decode (G=200) /home/darren/funcube-data/out/20131231_110713/fcd_iq_sc_20131231_110713_96_145924.raw:40
20131231_112030: G=100 gave 40 packets; G=200 gave 40 packets
20131231_112030: Submitting packets from /home/darren/funcube-data/out/20131231_110713/data-200.txt
20131231_112030:
20131231_112030: --------------------------------------------------------------
Having a look at the raw file with a modified tools/fcd_replay.grc file, I observed the following with the fosphor display.
In order to get this all working, I found it useful to temporarily instrument the fcd_sequencer.sh script by adding the -x option on the first line, as below:
Update 1st Jan 2014: I've written fcsched to schedule fcdec according to passes reported by a predict server.
The source is available on github here. It is also necessary to get the source for fcdctl from here. I ran the makefiles in the decoder, fcdctl and filter directories. I then edited tools/submit.sh to reflect my credentials stored with the online data warehouse. I then edited the WORK_DIR and PROG_DIR macros in tools/fcd_sequencer.sh to reflect the paths in my home directory.
I then created links in my ~/bin dir to the binaries I'd just built for decode, fcdctl and filter, and also for the tools/submit.sh and tools/fcd_sequencer.sh scripts.
I discovered that I also needed to install the libsox-fmt-pulse package in order for pulse to work properly with sox and also needed to ensure that the fcd-pro was set to the "Analogue Stereo Input" profile in the configuration tab of pavucontrol.
This let me run fcd_sequencer which then waited for a command on tcp port 12345 to start collecting data. This could be done using telnet. I used telnet to connect to localhost on port 12345 and then submitted the command "start +600" followed by hitting the enter key and then pressing Ctrl+] then entered "quit" to exit telnet and close the tcp connection. At that point, the fcd_sequencer script started to collect data.
There was a pass at 1108z this morning (31st Dec 2013) and it seemed that I was able to decode 40 telemetry packets. This was with my original fcd-pro (not the pro-plus, for some reason I've not been able to get fcdctl to work with the pro-plus yet) and using my 2m turnstile-with-reflectors in the loft for the antenna.
20131231_110203: --------------------------------------------------------------
20131231_110204:
20131231_110204: Waiting for new command on port 12345
20131231_110713: Received start command: start
20131231_110713: Will capture IQ for 780 seconds
Freq set to 145.924000 MHz.
LNA gain set to 10 dB.
nr USB path firmware frequency LNA gain audio device
0 0003:0014:02 18.10 145.924000 MHz 10 dB card6
20131231_110713: Using audio input: alsa_input.usb-Hanlincrest_Ltd._FUNcube_Dongle_V1.0-00-V10.analog-stereo
20131231_110713: Start capture to /home/darren/funcube-data/out/20131231_110713/fcd_iq_sc_20131231_110713_96_145924.raw
20131231_112013: Filter and decode (G=100) /home/darren/funcube-data/out/20131231_110713/fcd_iq_sc_20131231_110713_96_145924.raw:40
20131231_112022: Filter and decode (G=200) /home/darren/funcube-data/out/20131231_110713/fcd_iq_sc_20131231_110713_96_145924.raw:40
20131231_112030: G=100 gave 40 packets; G=200 gave 40 packets
20131231_112030: Submitting packets from /home/darren/funcube-data/out/20131231_110713/data-200.txt
20131231_112030:
20131231_112030: --------------------------------------------------------------
Having a look at the raw file with a modified tools/fcd_replay.grc file, I observed the following with the fosphor display.
In order to get this all working, I found it useful to temporarily instrument the fcd_sequencer.sh script by adding the -x option on the first line, as below:
#!/bin/bash -xThis let me determine exactly what was happening as the script ran. I did actually make a mistake when creating the symbolic link to submit.sh (missing the .sh extension on the link name). This caused the invocation of submit.sh by fcd_sequencer.sh to fail, but the use of the -x option in fcd_sequencer.sh allowed me to see the correct invocation of submit.sh and to manually invoke it once the symbolic link had been fixed, culminating in the appearance of a line in the upload rankings table here crediting G0HWW with 40 packets.
Update 1st Jan 2014: I've written fcsched to schedule fcdec according to passes reported by a predict server.
Subscribe to:
Posts (Atom)