X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=src%2Fhardware%2Fkorad-kaxxxxp%2Fprotocol.c;h=c52bd9011fcc189cbb8fb00cd0785f280b02b1df;hp=f98bf962e37d23960993fcc893d54c7369051547;hb=77e6749af13d79ad71fd3d7ddc209a1e6d5ee52a;hpb=c7275098f6db9ba723cc191810e36a6b8a575b12 diff --git a/src/hardware/korad-kaxxxxp/protocol.c b/src/hardware/korad-kaxxxxp/protocol.c index f98bf962..c52bd901 100644 --- a/src/hardware/korad-kaxxxxp/protocol.c +++ b/src/hardware/korad-kaxxxxp/protocol.c @@ -258,6 +258,7 @@ SR_PRIV int korad_kaxxxxp_get_value(struct sr_serial_dev_inst *serial, char reply[6]; float *value; char status_byte; + gboolean needs_ovp_quirk; gboolean prev_status; g_mutex_lock(&devc->rw_mutex); @@ -345,9 +346,8 @@ SR_PRIV int korad_kaxxxxp_get_value(struct sr_serial_dev_inst *serial, devc->output_enabled_changed = devc->output_enabled != prev_status; /* OVP enabled, special handling for Velleman LABPS3005 quirk. */ - if ((devc->model->model_id == VELLEMAN_LABPS3005D && devc->output_enabled) || - devc->model->model_id != VELLEMAN_LABPS3005D) { - + needs_ovp_quirk = devc->model->quirks & KORAD_QUIRK_LABPS_OVP_EN; + if (!needs_ovp_quirk || devc->output_enabled) { prev_status = devc->ovp_enabled; devc->ovp_enabled = status_byte & (1 << 7); devc->ovp_enabled_changed = devc->ovp_enabled != prev_status;