X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fdrivers%2Fao_lco.h;h=452092a092df80a4aa940e27f3b623977b5a1020;hb=91b6d1e56a37a2cfae53c3727feaaa40505f48d9;hp=d5aace0df79f0d1abed1a3c652f072cbc399ace3;hpb=c48d4b60da8b23bf358e6c14d7332d3a360c2d2f;p=fw%2Faltos diff --git a/src/drivers/ao_lco.h b/src/drivers/ao_lco.h index d5aace0d..452092a0 100644 --- a/src/drivers/ao_lco.h +++ b/src/drivers/ao_lco.h @@ -21,34 +21,34 @@ #include +#ifndef AO_LCO_DRAG +#define AO_LCO_DRAG 1 +#endif + #define DEBUG 1 #if DEBUG extern uint8_t ao_lco_debug; -#define PRINTD(...) do { if (!ao_lco_debug) break; printf ("\r%5u %s: ", ao_tick_count, __func__); printf(__VA_ARGS__); flush(); } while(0) +#define PRINTD(...) do { if (!ao_lco_debug) break; printf ("\r%5lu %s: ", (unsigned long) ao_tick_count, __func__); printf(__VA_ARGS__); flush(); } while(0) #else #define PRINTD(...) #endif -extern uint8_t ao_lco_drag_race; /* TRUE when drag race mode enabled */ +#if AO_LCO_DRAG +extern uint8_t ao_lco_drag_race; /* true when drag race mode enabled */ +#endif + extern uint8_t ao_lco_pad; /* Currently selected pad */ extern int16_t ao_lco_box; /* Currently selected box */ -extern uint8_t ao_lco_armed; -extern uint8_t ao_lco_firing; +extern uint8_t ao_lco_armed; /* armed mode active */ +extern uint8_t ao_lco_firing; /* fire button pressed */ extern struct ao_pad_query ao_pad_query; /* Last received QUERY from pad */ -#define AO_LCO_VALID_LAST 1 -#define AO_LCO_VALID_EVER 2 - #define AO_LCO_PAD_VOLTAGE 0 /* Pad number to show box voltage */ extern uint8_t ao_lco_min_box, ao_lco_max_box; -extern uint8_t ao_lco_selected[AO_PAD_MAX_BOXES]; -extern uint8_t ao_lco_valid[AO_PAD_MAX_BOXES]; -extern uint8_t ao_lco_channels[AO_PAD_MAX_BOXES]; -extern uint16_t ao_lco_tick_offset[AO_PAD_MAX_BOXES]; #define AO_LCO_MASK_SIZE(n) (((n) + 7) >> 3) #define AO_LCO_MASK_ID(n) ((n) >> 3) @@ -72,9 +72,15 @@ ao_lco_pad_present(uint8_t box, uint8_t pad); uint8_t ao_lco_pad_first(uint8_t box); +void +ao_lco_set_pad(uint8_t new_pad); + void ao_lco_step_pad(int8_t dir); +void +ao_lco_set_box(uint16_t new_box); + void ao_lco_set_armed(uint8_t armed); @@ -101,12 +107,12 @@ void ao_lco_drag_disable(void); /* Handle drag beeps, return new delay */ -uint16_t -ao_lco_drag_beep_check(uint16_t now, uint16_t delay); +AO_TICK_TYPE +ao_lco_drag_beep_check(AO_TICK_TYPE now, AO_TICK_TYPE delay); /* Check if it's time to beep during drag race. Return new delay */ -uint16_t -ao_lco_drag_warn_check(uint16_t now, uint16_t delay); +AO_TICK_TYPE +ao_lco_drag_warn_check(AO_TICK_TYPE now, AO_TICK_TYPE delay); /* Request 'beeps' additional drag race beeps */ void @@ -121,16 +127,13 @@ ao_lco_arm_warn(void); */ void -ao_lco_set_pad(uint8_t pad); - -void -ao_lco_set_box(uint16_t box); +ao_lco_show_pad(uint8_t pad); void -ao_lco_set_voltage(uint16_t decivolts); +ao_lco_show_box(uint16_t box); void -ao_lco_set_display(void); +ao_lco_show(void); void ao_lco_init(void);