pabr / leansdr

Lightweight, portable software-defined radio
GNU General Public License v3.0
152 stars 40 forks source link

leandvb: Make columns consistent in help #31

Open dslotter opened 3 years ago

dslotter commented 3 years ago

This first output has inconsistent column tabbing:

pi@raspberrypi:/usr/local/bin $ leandvb -h
Usage: leandvb [options]  < IQ  > TS
Demodulate DVB-S I/Q on stdin, output MPEG packets on stdout

Input options:
  --u8           Input format is 8-bit unsigned (rtl_sdr, default)
  --s16          Input format is 16-bit signed (plutosdr)
  --f32          Input format is 32-bit float (gqrx)
  -f HZ          Input sample rate (default: 2.4e6)
  --loop         Repeat (stdin must be a file)
  --inbuf INT    Additional input buffering (samples)

Preprocessing options:
  --anf INT             Number of birdies to remove (default: 1)
  --derotate HZ         For use with --fd-pp, otherwise use --tune
  --resample            Resample baseband (CPU-intensive)
  --resample-rej FLOAT  Aliasing rejection (default: 10)
  --decim INT           Decimate baseband (causes aliasing)
  --cnr                 Measure CNR (requires samprate>3*symbrate)

DVB-S options:
  --sr HZ           Symbol rate (default: 2e6)
  --tune HZ         Bias frequency for demodulation
  --drift           Track frequency drift beyond safe limits
  --standard S      DVB-S (default), DVB-S2 (not implemented)
  --const STRING    QPSK (default),
                    BPSK .. 32APSK (DVB-S2),
                    64APSKe (DVB-S2X),
                    16QAM .. 256QAM (experimental)
  --cr NUM/DEN      Code rate 1/2 (default) .. 7/8 .. 9/10
  --fastlock        Synchronize more aggressively (CPU-intensive)
  --sampler         nearest, linear, rrc
  --rrc-steps INT   RRC interpolation factor
  --rrc-rej FLOAT   RRC filter rejection (defaut:10)
  --roll-off FLOAT  RRC roll-off (default: 0.35)
  --viterbi         Use Viterbi (CPU-intensive)
  --hard-metric     Use Hamming distances with Viterbi

Compatibility options:
  --hdlc         Expect HDLC frames instead of MPEG packets
  --packetized   Output 16-bit length prefix (default: as stream)

General options:
  --buf-factor INT  Buffer size factor (default:4)
  --hq              Maximize sensitivity
                    (Enables all CPU-intensive features)
  --hs              Maximize throughput (QPSK CR1/2 only)
                    (Disables all preprocessing)

UI options:
  -h                   Display this help message and exit
  -v                   Output debugging info at startup and exit
  -d                   Output debugging info during operation
  --version            Display version and exit
  --fd-pp FDNUM        Dump preprocessed IQ data to file descriptor
  --fd-info FDNUM      Output demodulator status to file descriptor
  --fd-const FDNUM     Output constellation and symbols to file descr
  --fd-spectrum FDNUM  Output spectrum to file descr
  --json               Use JSON syntax
  --gui             Show constellation and spectrum (X11)
  --duration FLOAT  Width of timeline plot (s, default 60)
  --linger          Keep GUI running after EOF

Testing options:
  --awgn FLOAT  Add white gaussian noise stddev (slow)

should look like this output:

pi@raspberrypi:/usr/local/bin $ leandvb -h
Usage: leandvb [options]  < IQ  > TS
Demodulate DVB-S I/Q on stdin, output MPEG packets on stdout

Input options:
  --u8           Input format is 8-bit unsigned (rtl_sdr, default)
  --s16          Input format is 16-bit signed (plutosdr)
  --f32          Input format is 32-bit float (gqrx)
  -f HZ          Input sample rate (default: 2.4e6)
  --loop         Repeat (stdin must be a file)
  --inbuf INT    Additional input buffering (samples)

Preprocessing options:
  --anf INT             Number of birdies to remove (default: 1)
  --derotate HZ         For use with --fd-pp, otherwise use --tune
  --resample            Resample baseband (CPU-intensive)
  --resample-rej FLOAT  Aliasing rejection (default: 10)
  --decim INT           Decimate baseband (causes aliasing)
  --cnr                 Measure CNR (requires samprate>3*symbrate)

DVB-S options:
  --sr HZ           Symbol rate (default: 2e6)
  --tune HZ         Bias frequency for demodulation
  --drift           Track frequency drift beyond safe limits
  --standard S      DVB-S (default), DVB-S2 (not implemented)
  --const STRING    QPSK (default),
                    BPSK .. 32APSK (DVB-S2),
                    64APSKe (DVB-S2X),
                    16QAM .. 256QAM (experimental)
  --cr NUM/DEN      Code rate 1/2 (default) .. 7/8 .. 9/10
  --fastlock        Synchronize more aggressively (CPU-intensive)
  --sampler         nearest, linear, rrc
  --rrc-steps INT   RRC interpolation factor
  --rrc-rej FLOAT   RRC filter rejection (defaut:10)
  --roll-off FLOAT  RRC roll-off (default: 0.35)
  --viterbi         Use Viterbi (CPU-intensive)
  --hard-metric     Use Hamming distances with Viterbi

Compatibility options:
  --hdlc         Expect HDLC frames instead of MPEG packets
  --packetized   Output 16-bit length prefix (default: as stream)

General options:
  --buf-factor INT  Buffer size factor (default:4)
  --hq              Maximize sensitivity
                    (Enables all CPU-intensive features)
  --hs              Maximize throughput (QPSK CR1/2 only)
                    (Disables all preprocessing)

UI options:
  -h                   Display this help message and exit
  -v                   Output debugging info at startup and exit
  -d                   Output debugging info during operation
  --version            Display version and exit
  --fd-pp FDNUM        Dump preprocessed IQ data to file descriptor
  --fd-info FDNUM      Output demodulator status to file descriptor
  --fd-const FDNUM     Output constellation and symbols to file descr
  --fd-spectrum FDNUM  Output spectrum to file descr
  --json               Use JSON syntax
  --gui             Show constellation and spectrum (X11)
  --duration FLOAT  Width of timeline plot (s, default 60)
  --linger          Keep GUI running after EOF

Testing options:
  --awgn FLOAT  Add white gaussian noise stddev (slow)

It should look like this:

pi@raspberrypi:/usr/local/bin $ leandvb -h
Usage: leandvb [options]  < IQ  > TS
Demodulate DVB-S I/Q on stdin, output MPEG packets on stdout

Input options:
  --u8                  Input format is 8-bit unsigned (rtl_sdr, default)
  --s16                 Input format is 16-bit signed (plutosdr)
  --f32                 Input format is 32-bit float (gqrx)
  -f HZ                 Input sample rate (default: 2.4e6)
  --loop                Repeat (stdin must be a file)
  --inbuf INT           Additional input buffering (samples)

Preprocessing options:
  --anf INT             Number of birdies to remove (default: 1)
  --derotate HZ         For use with --fd-pp, otherwise use --tune
  --resample            Resample baseband (CPU-intensive)
  --resample-rej FLOAT  Aliasing rejection (default: 10)
  --decim INT           Decimate baseband (causes aliasing)
  --cnr                 Measure CNR (requires samprate>3*symbrate)

DVB-S options:
  --sr HZ               Symbol rate (default: 2e6)
  --tune HZ             Bias frequency for demodulation
  --drift               Track frequency drift beyond safe limits
  --standard S          DVB-S (default), DVB-S2 (not implemented)
  --const STRING        QPSK (default),
                        BPSK .. 32APSK (DVB-S2),
                        64APSKe (DVB-S2X),
                        16QAM .. 256QAM (experimental)
  --cr NUM/DEN          Code rate 1/2 (default) .. 7/8 .. 9/10
  --fastlock            Synchronize more aggressively (CPU-intensive)
  --sampler             nearest, linear, rrc
  --rrc-steps INT       RRC interpolation factor
  --rrc-rej FLOAT       RRC filter rejection (defaut:10)
  --roll-off FLOAT      RRC roll-off (default: 0.35)
  --viterbi             Use Viterbi (CPU-intensive)
  --hard-metric         Use Hamming distances with Viterbi

Compatibility options:
  --hdlc                Expect HDLC frames instead of MPEG packets
  --packetized          Output 16-bit length prefix (default: as stream)

General options:
  --buf-factor INT      Buffer size factor (default:4)
  --hq                  Maximize sensitivity
                        (Enables all CPU-intensive features)
  --hs                  Maximize throughput (QPSK CR1/2 only)
                        (Disables all preprocessing)

UI options:
  -h                    Display this help message and exit
  -v                    Output debugging info at startup and exit
  -d                    Output debugging info during operation
  --version             Display version and exit
  --fd-pp FDNUM         Dump preprocessed IQ data to file descriptor
  --fd-info FDNUM       Output demodulator status to file descriptor
  --fd-const FDNUM      Output constellation and symbols to file descr
  --fd-spectrum FDNUM   Output spectrum to file descr
  --json                Use JSON syntax
  --gui                 Show constellation and spectrum (X11)
  --duration FLOAT      Width of timeline plot (s, default 60)
  --linger              Keep GUI running after EOF

Testing options:
  --awgn FLOAT          Add white gaussian noise stddev (slow)
andimik commented 3 years ago

You can certainly contribute and send a Pull Request. This text is in https://github.com/pabr/leansdr/blob/work/src/apps/leandvb.cc