X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fkernel%2Fao_pyro.h;h=3ab5af3bf8972d2f2e1ae2f79e482cc96b272e8e;hb=40236913922e0395780cd7d90354546ecaf279f9;hp=0c5642d6ea91f2ff12e76c6b1321ff69882b3a4c;hpb=24167015705ae831692b95735968b04a876f935e;p=fw%2Faltos diff --git a/src/kernel/ao_pyro.h b/src/kernel/ao_pyro.h index 0c5642d6..3ab5af3b 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 @@ -45,7 +46,11 @@ enum ao_pyro_flag { ao_pyro_state_less = 0x00004000, ao_pyro_state_greater_or_equal = 0x00008000, -}; +} +#ifdef __GNUC__ + __attribute__ ((packed)) +#endif + ; struct ao_pyro { enum ao_pyro_flag flags; @@ -58,9 +63,11 @@ 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' */ }; +#define AO_PYRO_8_BIT_VALUE (ao_pyro_state_less|ao_pyro_state_greater_or_equal) + extern uint8_t ao_pyro_wakeup; extern uint16_t ao_pyro_fired; @@ -77,6 +84,9 @@ ao_pyro_init(void); void ao_pyro_manual(uint8_t p); +enum ao_igniter_status +ao_pyro_status(uint8_t p); + void ao_pyro_print_status(void);