- /* TODO: Not supporting vdiv per channel yet. */
- tmp_rat = *(const struct sr_rational *)value;
- for (i = 0; vdivs[i].p && vdivs[i].q; i++) {
- if (vdivs[i].p == tmp_rat.p
- && vdivs[i].q == tmp_rat.q) {
- devc->scale = (float)tmp_rat.p / tmp_rat.q;
- for (j = 0; j < 2; j++)
- rigol_ds1xx2_send_data(devc->fd,
- ":CHAN%d:SCAL %.3f\n", j, devc->scale);
- break;
- }
+ g_variant_get(data, "(tt)", &p, &q);
+ tmp_int = -1;
+ for (i = 0; i < ARRAY_SIZE(vdivs); i++) {
+ if (vdivs[i][0] != p || vdivs[i][1] != q)
+ continue;
+ devc->scale = (float)vdivs[i][0] / vdivs[i][1];
+ rigol_ds1xx2_send_data(devc->fd, ":CHAN0:SCAL %.3f\n",
+ devc->scale);
+ rigol_ds1xx2_send_data(devc->fd, ":CHAN1:SCAL %.3f\n",
+ devc->scale);
+ break;