mirror of
https://github.com/DreamSourceLab/DSView.git
synced 2025-01-23 13:42:55 +08:00
Add auto gain feature to DSCope U2B100/U3P100 models
This commit is contained in:
parent
ee148cc314
commit
6558174183
@ -419,8 +419,6 @@ static uint64_t dso_cmd_gen(const struct sr_dev_inst *sdi, struct sr_channel* ch
|
||||
cmd += ch->index << ch_bit;
|
||||
// --VGAIN
|
||||
uint64_t vgain = dso_vga(ch);
|
||||
// if ((devc->profile->dev_caps.feature_caps & CAPS_FEATURE_HMCAD1511) &&
|
||||
// (dsl_en_ch_num(sdi) == 1))
|
||||
if ((ch->comb_comp != 0) && (dsl_en_ch_num(sdi) == 1))
|
||||
vgain += (uint64_t)(ch->comb_comp) << 8;
|
||||
cmd += vgain;
|
||||
@ -632,7 +630,7 @@ static int dso_zero(const struct sr_dev_inst *sdi, gboolean reset)
|
||||
if (devc->profile->dev_caps.feature_caps & CAPS_FEATURE_HMCAD1511)
|
||||
offset_top = 15;
|
||||
else
|
||||
offset_top = 20;
|
||||
offset_top = 30;
|
||||
const uint16_t offset_bom = ((1 << channel_modes[devc->ch_mode].unit_bits) - 1) - offset_top;
|
||||
const uint16_t offset_mid = (1 << (channel_modes[devc->ch_mode].unit_bits - 1));
|
||||
const uint16_t max_trans = ((1 << 10) - 1);
|
||||
@ -972,11 +970,12 @@ static int dso_zero(const struct sr_dev_inst *sdi, gboolean reset)
|
||||
for (uint16_t j = 0; j < ARRAY_SIZE(vga_defaults); j++) {
|
||||
if (vga_defaults[j].id == devc->profile->dev_caps.vga_id &&
|
||||
vga_defaults[j].key == devc->profile->dev_caps.vdivs[i]) {
|
||||
const int64_t vgain_delta = probe->vpos_trans > devc->profile->dev_caps.default_pwmtrans ?
|
||||
((int64_t)(probe->vpos_trans - devc->profile->dev_caps.default_pwmtrans) << 8) :
|
||||
(((int64_t)(probe->vpos_trans - devc->profile->dev_caps.default_pwmtrans) << 7) & 0xFFFFFF00);
|
||||
const int64_t cur_trans = probe->vpos_trans;
|
||||
const int64_t def_trans = devc->profile->dev_caps.default_pwmtrans;
|
||||
const int64_t vgain_delta = (cur_trans > def_trans) ? ((cur_trans - def_trans) << 8) :
|
||||
(((cur_trans - def_trans) << 7) & ~0xFFLL);
|
||||
(probe->vga_ptr+i)->vgain = vga_defaults[j].vgain + vgain_delta;
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -740,7 +740,7 @@ static const struct DSL_profile supported_DSLogic[] = {
|
||||
SR_GHZ(1)}
|
||||
},
|
||||
|
||||
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
|
||||
{ 0, 0, LIBUSB_SPEED_UNKNOWN, 0, 0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
|
||||
};
|
||||
|
||||
static const struct DSL_profile supported_DSCope[] = {
|
||||
@ -969,7 +969,7 @@ static const struct DSL_profile supported_DSCope[] = {
|
||||
"DSCopeU2B100.bin",
|
||||
"DSCopeU2B100.bin",
|
||||
{CAPS_MODE_ANALOG | CAPS_MODE_DSO,
|
||||
CAPS_FEATURE_ZERO | CAPS_FEATURE_HMCAD1511 | CAPS_FEATURE_20M,
|
||||
CAPS_FEATURE_ZERO | CAPS_FEATURE_AUTO_VGAIN | CAPS_FEATURE_HMCAD1511 | CAPS_FEATURE_20M,
|
||||
(1 << DSL_ANALOG10x2_500) |
|
||||
(1 << DSL_DSO1000x2),
|
||||
2,
|
||||
@ -982,11 +982,11 @@ static const struct DSL_profile supported_DSCope[] = {
|
||||
DSL_DSO1000x2,
|
||||
SR_MHZ(500),
|
||||
SR_Kn(10),
|
||||
850,
|
||||
1024-850,
|
||||
810,
|
||||
1024-810,
|
||||
10,
|
||||
245,
|
||||
80,
|
||||
60,
|
||||
SR_HZ(0),
|
||||
SR_HZ(0)}
|
||||
},
|
||||
@ -996,7 +996,7 @@ static const struct DSL_profile supported_DSCope[] = {
|
||||
"DSCopeU3P100.bin",
|
||||
"DSCopeU3P100.bin",
|
||||
{CAPS_MODE_ANALOG | CAPS_MODE_DSO,
|
||||
CAPS_FEATURE_ZERO | CAPS_FEATURE_FLASH | CAPS_FEATURE_USB30 | CAPS_FEATURE_HMCAD1511 | CAPS_FEATURE_20M,
|
||||
CAPS_FEATURE_ZERO | CAPS_FEATURE_POGOPIN | CAPS_FEATURE_AUTO_VGAIN | CAPS_FEATURE_FLASH | CAPS_FEATURE_USB30 | CAPS_FEATURE_HMCAD1511 | CAPS_FEATURE_20M,
|
||||
(1 << DSL_ANALOG10x2_500) |
|
||||
(1 << DSL_DSO1000x2),
|
||||
2,
|
||||
@ -1009,8 +1009,8 @@ static const struct DSL_profile supported_DSCope[] = {
|
||||
DSL_DSO1000x2,
|
||||
SR_MHZ(500),
|
||||
SR_Mn(1),
|
||||
900,
|
||||
1024-900,
|
||||
830,
|
||||
1024-830,
|
||||
10,
|
||||
245,
|
||||
60,
|
||||
@ -1023,7 +1023,7 @@ static const struct DSL_profile supported_DSCope[] = {
|
||||
"DSCopeU3P100.bin",
|
||||
"DSCopeU3P100.bin",
|
||||
{CAPS_MODE_ANALOG | CAPS_MODE_DSO,
|
||||
CAPS_FEATURE_ZERO | CAPS_FEATURE_FLASH | CAPS_FEATURE_USB30 | CAPS_FEATURE_HMCAD1511 | CAPS_FEATURE_20M,
|
||||
CAPS_FEATURE_ZERO | CAPS_FEATURE_POGOPIN | CAPS_FEATURE_AUTO_VGAIN | CAPS_FEATURE_FLASH | CAPS_FEATURE_USB30 | CAPS_FEATURE_HMCAD1511 | CAPS_FEATURE_20M,
|
||||
(1 << DSL_ANALOG10x2_500) |
|
||||
(1 << DSL_DSO1000x2),
|
||||
2,
|
||||
@ -1036,8 +1036,8 @@ static const struct DSL_profile supported_DSCope[] = {
|
||||
DSL_DSO1000x2,
|
||||
SR_MHZ(500),
|
||||
SR_Mn(1),
|
||||
900,
|
||||
1024-900,
|
||||
830,
|
||||
1024-830,
|
||||
10,
|
||||
245,
|
||||
60,
|
||||
@ -1045,7 +1045,7 @@ static const struct DSL_profile supported_DSCope[] = {
|
||||
SR_HZ(0)}
|
||||
},
|
||||
|
||||
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
|
||||
{ 0, 0, LIBUSB_SPEED_UNKNOWN, 0, 0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
|
||||
};
|
||||
|
||||
static const gboolean default_ms_en[] = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user