- dir = (event.value - ao_lco_box) > 0 ? 1 : -1;
- ao_lco_box = event.value;
- while (!ao_lco_box_present(ao_lco_box)) {
- ao_lco_box += dir;
- if (ao_lco_box > ao_lco_max_box)
- ao_lco_box = ao_lco_min_box;
- else if (ao_lco_box < ao_lco_min_box)
- ao_lco_box = ao_lco_min_box;
+ dir = ((int8_t) event.value - (int8_t) ao_lco_box) > 0 ? 1 : -1;
+ new_box = event.value;
+ while (!ao_lco_box_present(new_box)) {
+ new_box += dir;
+ if (new_box > ao_lco_max_box)
+ new_box = ao_lco_min_box;
+ else if (new_box < ao_lco_min_box)
+ new_box = ao_lco_min_box;
+ if (new_box == ao_lco_box)
+ break;
+ }
+ ao_quadrature_count[AO_QUADRATURE_PAD] = new_box;
+ if (ao_lco_box != new_box) {
+ ao_lco_box = new_box;
+ ao_lco_got_channels = 0;
+ ao_lco_set_box();