## Radiosonde decoders simultaneous decoding #### Compile `gcc -Ofast -c demod_base.c`
`gcc -O2 -c bch_ecc_mod.c`
`gcc -O2 -c rs41base.c`
`gcc -O2 -c dfm09base.c`
`gcc -O2 -c m10base.c`
`gcc -O2 -c m20base.c`
`gcc -O2 -c lms6Xbase.c`
`gcc -O2 rs_multi.c demod_base.o bch_ecc_mod.o rs41base.o dfm09base.o m10base.o m20base.o lms6Xbase.o \`
     `-lm -pthread -o rs_multi` #### Usage/Examples `$ ./rs_multi --rs41 --dfm --m10 --lms `
`$ ./rs_multi --rs41 --dfm --m10 --lms - `
where
     `-0.5 < fqX < 0.5`: (relative) frequency, `fq=freq/sr`
     ``: sample rate
     `=8,16,32`: bits per (real) sample (u8, s16 or f32)
decodes up to `MAX_FQ=5 (demod_base.h)` signals. Decoding more signals than number of CPUs/cores is not recommended.
Note: If the baseband sample rate has no appropriate factors (e.g. if prime), the IF sample rate might be high and IF-processing slow.
Sending add/remove commands via fifo:
[terminal 1]
`$ rtl_sdr -f 403.0M -s 1920000 - | ./rs_multi --fifo rsfifo --rs41 --dfm - 1920000 8`
where `` is the (relative) frequency of signal `X`
[terminal 2]
*add M10 on ``*:
`$ echo "m10 " > rsfifo`
*remove ``*:
`$ echo "-1" > rsfifo`
If there is no decode for `SEC_NO_SIGNAL=10 (demod_base.c)` seconds, the signal is removed, unless option `-c` is used.
`--json` output is also possible.