1
0
mirror of https://github.com/DigitalDevices/dddvb.git synced 2023-10-10 13:37:43 +02:00

Merge branch 'internal'

This commit is contained in:
Ralph Metzler 2019-01-18 13:11:05 +01:00
commit e360182847
7 changed files with 25 additions and 5 deletions

View File

@ -789,6 +789,7 @@ static const struct ddb_device_id ddb_device_ids[] = {
DDB_DEVID(0x0210, 0x0003, ddb_mod_fsm_8), DDB_DEVID(0x0210, 0x0003, ddb_mod_fsm_8),
DDB_DEVID(0x0220, 0x0001, ddb_sdr_atv), DDB_DEVID(0x0220, 0x0001, ddb_sdr_atv),
DDB_DEVID(0x0221, 0x0001, ddb_sdr_iq), DDB_DEVID(0x0221, 0x0001, ddb_sdr_iq),
DDB_DEVID(0x0222, 0x0001, ddb_sdr_iq),
/* testing on OctopusNet Pro */ /* testing on OctopusNet Pro */
DDB_DEVID(0x0320, 0xffff, ddb_octopro_hdin), DDB_DEVID(0x0320, 0xffff, ddb_octopro_hdin),

View File

@ -425,6 +425,7 @@ static const struct pci_device_id ddb_id_table[] __devinitconst = {
DDB_DEVICE_ANY(0x0210), DDB_DEVICE_ANY(0x0210),
DDB_DEVICE_ANY(0x0220), DDB_DEVICE_ANY(0x0220),
DDB_DEVICE_ANY(0x0221), DDB_DEVICE_ANY(0x0221),
DDB_DEVICE_ANY(0x0222),
DDB_DEVICE_ANY(0x0320), DDB_DEVICE_ANY(0x0320),
DDB_DEVICE_ANY(0x0321), DDB_DEVICE_ANY(0x0321),
DDB_DEVICE_ANY(0x0322), DDB_DEVICE_ANY(0x0322),

View File

@ -444,7 +444,7 @@ struct mci_result {
s16 signal_to_noise; // SNR in dB x 100, Note: negativ values are valid in DVB-S2 s16 signal_to_noise; // SNR in dB x 100, Note: negativ values are valid in DVB-S2
s16 rsvd2; s16 rsvd2;
u32 packet_errors; // Counter for packet errors. (set to 0 on Start command) u32 packet_errors; // Counter for packet errors. (set to 0 on Start command)
u32 ber_numerator; // Bit error rate: PreRS Segment A
u32 ber_denominator; u32 ber_denominator;
u32 ber_rsvd1; // Place holder for modulation bit error rate u32 ber_rsvd1; // Place holder for modulation bit error rate
u32 ber_rsvd2; u32 ber_rsvd2;

View File

@ -1445,7 +1445,8 @@ static void mod3_set_cfcw(struct ddb_mod *mod, u32 f)
tmp = ((s64) (freq - dcf)) << 32; tmp = ((s64) (freq - dcf)) << 32;
tmp = div64_s64(tmp, srdac); tmp = div64_s64(tmp, srdac);
cfcw = (u32) tmp; cfcw = (u32) tmp;
dev_info(dev->dev, "f=%u cfcw = %08x nr = %u\n", f, cfcw, mod->port->nr); dev_info(dev->dev, "f=%u cfcw = %08x dcf = %08x, nr = %u\n",
f, cfcw, dcf, mod->port->nr);
ddbwritel(dev, cfcw, SDR_CHANNEL_CFCW(mod->port->nr)); ddbwritel(dev, cfcw, SDR_CHANNEL_CFCW(mod->port->nr));
} }
@ -1870,9 +1871,11 @@ static int mod_init_sdr_iq(struct ddb *dev)
ddbwritel(dev, 0x01, 0x240); ddbwritel(dev, 0x01, 0x240);
//mod3_set_base_frequency(dev, 602000000); //mod3_set_base_frequency(dev, 602000000);
dev->mod_base.frequency = 570000000;
for (i = 0; i < streams; i++) { for (i = 0; i < streams; i++) {
struct ddb_mod *mod = &dev->mod[i]; struct ddb_mod *mod = &dev->mod[i];
mod->port = &dev->port[i];
ddbwritel(dev, 0x00, SDR_CHANNEL_CONTROL(i)); ddbwritel(dev, 0x00, SDR_CHANNEL_CONTROL(i));
} }

View File

@ -524,7 +524,7 @@ struct DDMOD_FLASH {
int ddbridge_flashread(struct ddb *dev, u32 link, u8 *buf, u32 addr, u32 len); int ddbridge_flashread(struct ddb *dev, u32 link, u8 *buf, u32 addr, u32 len);
#define DDBRIDGE_VERSION "0.9.36" #define DDBRIDGE_VERSION "0.9.37"
/* linked function prototypes */ /* linked function prototypes */

View File

@ -23,7 +23,7 @@ int main(int argc, char **argv)
struct dddvb *dd; struct dddvb *dd;
struct dddvb_fe *fe; struct dddvb_fe *fe;
struct dddvb_params p; struct dddvb_params p;
uint32_t frequency = 0, symbol_rate = 0, pol = DDDVB_UNDEF; uint32_t bandwidth = 8000000, frequency = 0, symbol_rate = 0, pol = DDDVB_UNDEF;
uint32_t id = DDDVB_UNDEF, pls = DDDVB_UNDEF, num = DDDVB_UNDEF; uint32_t id = DDDVB_UNDEF, pls = DDDVB_UNDEF, num = DDDVB_UNDEF;
enum fe_code_rate fec = FEC_AUTO; enum fe_code_rate fec = FEC_AUTO;
enum fe_delivery_system delsys = ~0; enum fe_delivery_system delsys = ~0;
@ -36,6 +36,7 @@ int main(int argc, char **argv)
static struct option long_options[] = { static struct option long_options[] = {
{"config", required_argument, 0, 'c'}, {"config", required_argument, 0, 'c'},
{"frequency", required_argument, 0, 'f'}, {"frequency", required_argument, 0, 'f'},
{"bandwidth", required_argument, 0, 'b'},
{"symbolrate", required_argument, 0, 's'}, {"symbolrate", required_argument, 0, 's'},
{"delsys", required_argument, 0, 'd'}, {"delsys", required_argument, 0, 'd'},
{"id", required_argument, 0, 'i'}, {"id", required_argument, 0, 'i'},
@ -46,7 +47,7 @@ int main(int argc, char **argv)
{0, 0, 0, 0} {0, 0, 0, 0}
}; };
c = getopt_long(argc, argv, c = getopt_long(argc, argv,
"c:i:f:s:d:p:hg:r:n:", "c:i:f:s:d:p:hg:r:n:b:",
long_options, &option_index); long_options, &option_index);
if (c==-1) if (c==-1)
break; break;
@ -58,6 +59,9 @@ int main(int argc, char **argv)
case 'f': case 'f':
frequency = strtoul(optarg, NULL, 0); frequency = strtoul(optarg, NULL, 0);
break; break;
case 'b':
bandwidth = strtoul(optarg, NULL, 0);
break;
case 's': case 's':
symbol_rate = strtoul(optarg, NULL, 0); symbol_rate = strtoul(optarg, NULL, 0);
break; break;
@ -84,6 +88,12 @@ int main(int argc, char **argv)
delsys = SYS_DVBT; delsys = SYS_DVBT;
if (!strcmp(optarg, "T2")) if (!strcmp(optarg, "T2"))
delsys = SYS_DVBT2; delsys = SYS_DVBT2;
if (!strcmp(optarg, "J83B"))
delsys = SYS_DVBC_ANNEX_B;
if (!strcmp(optarg, "ISDBC"))
delsys = SYS_ISDBC;
if (!strcmp(optarg, "ISDBT"))
delsys = SYS_ISDBT;
break; break;
case 'p': case 'p':
if (!strcmp(optarg, "h")) if (!strcmp(optarg, "h"))
@ -131,6 +141,7 @@ int main(int argc, char **argv)
} }
dddvb_param_init(&p); dddvb_param_init(&p);
dddvb_set_frequency(&p, frequency); dddvb_set_frequency(&p, frequency);
dddvb_set_bandwidth(&p, bandwidth);
dddvb_set_symbol_rate(&p, symbol_rate); dddvb_set_symbol_rate(&p, symbol_rate);
dddvb_set_polarization(&p, pol); dddvb_set_polarization(&p, pol);
dddvb_set_delsys(&p, delsys); dddvb_set_delsys(&p, delsys);

View File

@ -65,6 +65,10 @@ static inline void dddvb_set_frequency(struct dddvb_params *p, uint32_t freq) {
p->param[PARAM_FREQ] = freq; p->param[PARAM_FREQ] = freq;
}; };
static inline void dddvb_set_bandwidth(struct dddvb_params *p, uint32_t bandw) {
p->param[PARAM_BW_HZ] = bandw;
};
static inline void dddvb_set_symbol_rate(struct dddvb_params *p, uint32_t srate) { static inline void dddvb_set_symbol_rate(struct dddvb_params *p, uint32_t srate) {
p->param[PARAM_SR] = srate; p->param[PARAM_SR] = srate;
}; };