else
#endif
ao_sleep(&ao_pad_query);
- if (ao_lco_box == AO_LCO_LCO_VOLTAGE) {
+ if (ao_lco_box_pseudo(ao_lco_box)) {
ao_led_off(AO_LED_GREEN|AO_LED_AMBER|AO_LED_RED);
continue;
}
void
ao_lco_update(void)
{
- if (ao_lco_box == AO_LCO_LCO_VOLTAGE) {
+ if (ao_lco_box_pseudo(ao_lco_box)) {
ao_lco_show();
return;
}
ao_lco_set_box(uint16_t new_box)
{
ao_lco_box = new_box;
- if (ao_lco_box != AO_LCO_LCO_VOLTAGE)
- {
+ if (!ao_lco_box_pseudo(ao_lco_box)) {
if (ao_lco_box < AO_PAD_MAX_BOXES) {
if (ao_lco_pretending)
ao_lco_channels[ao_lco_box] = 0xff;
if (new_pad == ao_lco_pad)
break;
} while (!ao_lco_pad_present(ao_lco_box, (uint8_t) new_pad));
+ PRINTD("New pad %d\n", new_pad);
ao_lco_set_pad((uint8_t) new_pad);
}
uint8_t
ao_lco_box_present(uint16_t box)
{
- if (box == AO_LCO_LCO_VOLTAGE)
+ if (ao_lco_box_pseudo(box))
return 1;
if (box >= AO_PAD_MAX_BOXES)
return 0;
do {
new_box += dir;
if (new_box > ao_lco_max_box)
- new_box = AO_LCO_LCO_VOLTAGE;
+ new_box = AO_LCO_BOX_FIRST;
else if (new_box < 0)
new_box = ao_lco_max_box;
if (new_box == ao_lco_box)
break;
} while (!ao_lco_box_present((uint16_t) new_box));
+ PRINTD("New box %ld\n", new_box);
ao_lco_set_box((uint16_t) new_box);
}
void
ao_lco_set_armed(uint8_t armed)
{
- if (ao_lco_box == AO_LCO_LCO_VOLTAGE)
+ if (ao_lco_box_pseudo(ao_lco_box))
return;
ao_lco_armed = armed;
ao_lco_pretending = 1;
ao_lco_min_box = 1;
ao_lco_max_box = AO_PAD_MAX_BOXES - 1;
- for (box = ao_lco_min_box; box < ao_lco_max_box; box++)
+ for (box = ao_lco_min_box; box <= ao_lco_max_box; box++)
ao_lco_box_set_present(box);
ao_lco_box = ao_lco_min_box;
memset(ao_lco_valid, 0, sizeof (ao_lco_valid));
void
ao_lco_toggle_drag(void)
{
- if (ao_lco_drag_race && ao_lco_pad != AO_LCO_PAD_VOLTAGE && ao_lco_box != AO_LCO_LCO_VOLTAGE) {
+ if (ao_lco_drag_race && ao_lco_pad != AO_LCO_PAD_VOLTAGE && !ao_lco_box_pseudo(ao_lco_box)) {
ao_lco_selected[ao_lco_box] ^= (uint8_t) (1 << (ao_lco_pad - 1));
PRINTD("Toggle box %d pad %d (pads now %x) to drag race\n",
ao_lco_pad, ao_lco_box, ao_lco_selected[ao_lco_box]);