X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fkernel%2Fao_pyro.h;h=f17abed377907fa0fa4eb5a5c34c7f30c5c1bc21;hb=c7161117ab85720776b2b964885a57053e3ff640;hp=b37aaeb1707554559265ccee59ad0a5c3fee9e91;hpb=d20c608ce833fb8949dce527f92887775d216823;p=fw%2Faltos diff --git a/src/kernel/ao_pyro.h b/src/kernel/ao_pyro.h index b37aaeb1..f17abed3 100644 --- a/src/kernel/ao_pyro.h +++ b/src/kernel/ao_pyro.h @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -51,7 +52,7 @@ enum ao_pyro_flag { #endif ; -struct ao_pyro { +struct ao_pyro_1_24 { enum ao_pyro_flag flags; int16_t accel_less, accel_greater; int16_t speed_less, speed_greater; @@ -62,10 +63,25 @@ struct ao_pyro { uint8_t state_less, state_greater_or_equal; int16_t motor; uint16_t delay_done; - uint8_t fired; + uint8_t _unused; /* was 'fired' */ +}; + +struct ao_pyro { + enum ao_pyro_flag flags; + int16_t accel_less, accel_greater; + int16_t speed_less, speed_greater; + int16_t height_less, height_greater; + int16_t orient_less, orient_greater; + int32_t time_less, time_greater; + int32_t delay; + uint8_t state_less, state_greater_or_equal; + int16_t motor; + uint32_t _unused1; /* was 'delay_done' */ + uint8_t _unused2; /* was 'fired' */ }; #define AO_PYRO_8_BIT_VALUE (ao_pyro_state_less|ao_pyro_state_greater_or_equal) +#define AO_PYRO_32_BIT_VALUE (ao_pyro_time_less|ao_pyro_time_greater|ao_pyro_delay) extern uint8_t ao_pyro_wakeup; @@ -80,9 +96,15 @@ ao_pyro_show(void); void ao_pyro_init(void); +void +ao_pyro_update_version(void); + void ao_pyro_manual(uint8_t p); +enum ao_igniter_status +ao_pyro_status(uint8_t p); + void ao_pyro_print_status(void);