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:
commit
e360182847
@ -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),
|
||||||
|
@ -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),
|
||||||
|
@ -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;
|
||||||
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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 */
|
||||||
|
|
||||||
|
15
lib/ddzap.c
15
lib/ddzap.c
@ -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);
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user