Skip to content

Commit

Permalink
Fix support for DHO800 and DHO900
Browse files Browse the repository at this point in the history
Correct the udev rule for DHO800, and some commands
to ensure capture is successful.
  • Loading branch information
RemiNV committed Jul 2, 2024
1 parent 7922b00 commit 3430e8e
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 4 deletions.
5 changes: 4 additions & 1 deletion contrib/60-libsigrok.rules
Original file line number Diff line number Diff line change
Expand Up @@ -249,9 +249,12 @@ ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0e11", ENV{ID_SIGROK}="1"
# Rigol MSO5000 series
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0515", ENV{ID_SIGROK}="1"

# Rigol DHO800 and DHO900 series
# Rigol DHO900 series
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="044c", ENV{ID_SIGROK}="1"

# Rigol DHO800 series
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="044d", ENV{ID_SIGROK}="1"

# Rohde&Schwarz HMO series mixed-signal oscilloscope (previously branded Hameg) VCP/USBTMC mode
ATTRS{idVendor}=="0aad", ATTRS{idProduct}=="0117", ENV{ID_SIGROK}="1"
ATTRS{idVendor}=="0aad", ATTRS{idProduct}=="0118", ENV{ID_SIGROK}="1"
Expand Down
4 changes: 3 additions & 1 deletion src/hardware/rigol-ds/api.c
Original file line number Diff line number Diff line change
Expand Up @@ -939,6 +939,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
cmd = ":LA:STAT ON";
break;
case PROTOCOL_V6:
default:
cmd = ":LA:ENAB ON";
break;
}
Expand All @@ -962,7 +963,8 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
cmd = ":LA:DISP D%d,%s";
break;
case PROTOCOL_V6:
cmd = ":LA:DIG:ENAB %";
default:
cmd = ":LA:DIG:ENAB D%d,%s";
break;
}

Expand Down
5 changes: 3 additions & 2 deletions src/hardware/rigol-ds/protocol.c
Original file line number Diff line number Diff line change
Expand Up @@ -323,8 +323,8 @@ SR_PRIV int rigol_ds_config_set(const struct sr_dev_inst *sdi, const char *forma
if (ret != SR_OK)
return SR_ERR;

if (devc->model->series->protocol == PROTOCOL_V2) {
/* The DS1000 series needs this stupid delay, *OPC? doesn't work. */
if (devc->model->series->protocol == PROTOCOL_V2 || devc->model->series->protocol == PROTOCOL_V6) {
/* The DS1000, DHO800, DHO900 series need this stupid delay, *OPC? doesn't work. */
sr_spew("delay %dms", 100);
g_usleep(100 * 1000);
return SR_OK;
Expand Down Expand Up @@ -895,6 +895,7 @@ SR_PRIV int rigol_ds_get_dev_cfg(const struct sr_dev_inst *sdi)
cmd = ":LA:STAT?";
break;
case PROTOCOL_V6:
default:
cmd = ":LA:ENAB?";
break;
}
Expand Down

0 comments on commit 3430e8e

Please sign in to comment.