diff --git a/apps/sx8info.c b/apps/sx8info.c deleted file mode 100644 index 029524c..0000000 --- a/apps/sx8info.c +++ /dev/null @@ -1,123 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -typedef uint8_t u8; -typedef uint16_t u16; -typedef int16_t s16; -typedef uint32_t u32; -typedef uint64_t u64; - -#include "../ddbridge/ddbridge-mci.h" -#include "../ddbridge/ddbridge-ioctl.h" - -char *Rolloff[8] = { - "0.35", - "0.25", - "0.20", - "0.10", - "0.05", - "0.15", - "rsvd", - "rsvd", -}; - -void print_info(struct mci_result *res) -{ - if (res->status == MCI_DEMOD_STOPPED) { - printf("Demod stopped\n"); - return; - } - - switch (res->mode) { - case 0: - case M4_MODE_DVBSX: - - if (res->dvbs2_signal_info.standard == 2) { - printf("PLS-Code: %u\n", res->dvbs2_signal_info.pls_code); - printf("Roll-Off: %s\n", Rolloff[res->dvbs2_signal_info.roll_off]); - printf("Inversion: %s\n", (res->dvbs2_signal_info.roll_off & 0x80) ? "on": "off"); - printf("Frequency: %u Hz\n", res->dvbs2_signal_info.frequency); - printf("Symbol Rate: %u Symbols/s\n", res->dvbs2_signal_info.symbol_rate); - printf("Channel Power: %.2f dBm\n", (float) res->dvbs2_signal_info.channel_power / 100); - printf("Band Power: %.2f dBm\n", (float) res->dvbs2_signal_info.band_power / 100); - printf("SNR: %.2f dB\n", (float) res->dvbs2_signal_info.signal_to_noise / 100); - printf("Packet Errors: %u\n", res->dvbs2_signal_info.packet_errors); - printf("BER Numerator: %u\n", res->dvbs2_signal_info.ber_numerator); - printf("BER Denom.: %u\n", res->dvbs2_signal_info.ber_denominator); - printf("\n"); - } else { - - } - } -} - -int mci_info(int dev, uint8_t demod) -{ - struct ddb_mci_msg msg = { - .link = 0, - .cmd.command = MCI_CMD_GETSIGNALINFO, - .cmd.demod = demod - }; - int ret; - int i; - - ret = ioctl(dev, IOCTL_DDB_MCI_CMD, &msg); - if (ret < 0) { - printf("%d %d\n", ret, errno); - return ret; - } - - print_info(&msg.res); - return ret; -} - -int main(int argc, char*argv[]) -{ - int fd = -1; - char fn[128]; - uint32_t device = 0; - uint8_t demod = 0; - - while (1) { - int cur_optind = optind ? optind : 1; - int option_index = 0; - int c; - static struct option long_options[] = { - {"device", required_argument, 0, 'd'}, - {"demod", required_argument, 0, 'n'}, - {0, 0, 0, 0} - }; - c = getopt_long(argc, argv, "d:n:", - long_options, &option_index); - if (c == -1) - break; - switch (c) { - case 'd': - device = strtoul(optarg, NULL, 0); - break; - case 'n': - demod = strtoul(optarg, NULL, 0); - break; - default: - break; - } - } - if (optind < argc) { - printf("too many arguments\n"); - exit(1); - } - snprintf(fn, 127, "/dev/ddbridge/card%u", device); - fd = open(fn, O_RDWR); - if (fd < 0) - return -1; - mci_info(fd, demod); -}