X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fkernel%2Fao_pyro.h;h=4a8c3aabb1857c8adb4d7727f00bc4a5f0d4f407;hp=34c990789cb9067130c479d61a741e4018bf8de4;hb=3ed101d634968666cd3ee2d8c49737970caf406b;hpb=c674a20432c2cb97e5bc2a3de891f78b9e172fe9 diff --git a/src/kernel/ao_pyro.h b/src/kernel/ao_pyro.h index 34c99078..4a8c3aab 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,9 +63,26 @@ 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; + int32_t delay_done; + uint8_t _unused; /* 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; extern uint16_t ao_pyro_fired; @@ -78,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);