X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fdrivers%2Fao_lco.c;h=f6bd630d186fa852be3aa450f0637e53e0654083;hb=HEAD;hp=bc8f7b48f7788949ba6ea1cdcb4314b19dddb668;hpb=9c27459fe1417b460f01f053bc44474623b1cbca;p=fw%2Faltos diff --git a/src/drivers/ao_lco.c b/src/drivers/ao_lco.c index bc8f7b48..f6bd630d 100644 --- a/src/drivers/ao_lco.c +++ b/src/drivers/ao_lco.c @@ -34,8 +34,6 @@ #define AO_LCO_DRAG_RACE_START_TIME AO_SEC_TO_TICKS(5) #define AO_LCO_DRAG_RACE_STOP_TIME AO_SEC_TO_TICKS(2) -#define AO_LCO_BOX_DRAG 0x1000 - /* UI values */ static AO_TICK_TYPE ao_lco_fire_tick; static uint8_t ao_lco_fire_down; @@ -43,7 +41,7 @@ static uint8_t ao_lco_fire_down; static uint8_t ao_lco_display_mutex; void -ao_lco_show_pad(uint8_t pad) +ao_lco_show_pad(int8_t pad) { ao_mutex_get(&ao_lco_display_mutex); ao_seven_segment_set(AO_LCO_PAD_DIGIT, (uint8_t) (pad | (ao_lco_drag_race << 4))); @@ -68,7 +66,7 @@ ao_lco_show_pad(uint8_t pad) (0 << 6)) void -ao_lco_show_box(uint16_t box) +ao_lco_show_box(int16_t box) { ao_mutex_get(&ao_lco_display_mutex); if (box == AO_LCO_BOX_DRAG) { @@ -103,24 +101,13 @@ ao_lco_show(void) ao_lco_show_voltage(ao_pad_query.battery); } else { if (ao_lco_box == AO_LCO_BOX_DRAG) - ao_lco_show_pad(ao_lco_drag_race); + ao_lco_show_pad((int8_t) ao_lco_drag_race); else ao_lco_show_pad(ao_lco_pad); ao_lco_show_box(ao_lco_box); } } -uint8_t -ao_lco_box_present(uint16_t box) -{ - if (box == AO_LCO_BOX_DRAG) - return 1; - - if (box >= AO_PAD_MAX_BOXES) - return 0; - return (ao_lco_box_mask[AO_LCO_MASK_ID(box)] >> AO_LCO_MASK_SHIFT(box)) & 1; -} - static struct ao_task ao_lco_drag_task; static uint8_t ao_lco_drag_active; @@ -187,29 +174,6 @@ ao_lco_drag_monitor(void) } } -static void -ao_lco_step_box(int8_t dir) -{ - int32_t new_box = (int32_t) ao_lco_box; - do { - if (new_box == AO_LCO_BOX_DRAG) { - if (dir < 0) - new_box = ao_lco_max_box; - else - new_box = ao_lco_min_box; - } else { - new_box += dir; - if (new_box > ao_lco_max_box) - new_box = AO_LCO_BOX_DRAG; - else if (new_box < ao_lco_min_box) - new_box = AO_LCO_BOX_DRAG; - } - if (new_box == (int32_t) ao_lco_box) - break; - } while (!ao_lco_box_present((uint16_t) new_box)); - ao_lco_set_box((uint16_t) new_box); -} - static void ao_lco_input(void) {