33 #if defined(PIOS_INCLUDE_ANNUNC)
41 static uint8_t annunc_state;
43 static bool get_annunc_state(
int idx) {
44 if (annunc_state & (1 << idx)) {
51 static void set_annunc_state(
int idx,
bool active) {
52 uint8_t mask = 1 << idx;
59 annunc_state = (annunc_state & (~mask)) | val;
70 annunciator_cfg =
cfg;
77 if (annunciator->
remap) {
79 GPIO_PinRemapConfig(annunciator->
remap, ENABLE);
81 GPIO_PinAFConfig(annunciator->
pin.
gpio, annunciator->
pin.
init.GPIO_Pin, annunciator->
remap);
86 GPIO_Init(annunciator->
pin.
gpio, (GPIO_InitTypeDef*)&annunciator->
pin.
init);
110 set_annunc_state(annunc_id,
true);
122 GPIO_SetBits(annunciator->
pin.
gpio,
123 annunciator->
pin.
init.GPIO_Pin);
125 GPIO_ResetBits(annunciator->
pin.
gpio,
126 annunciator->
pin.
init.GPIO_Pin);
146 set_annunc_state(annunc_id,
false);
158 GPIO_ResetBits(annunciator->
pin.
gpio,
159 annunciator->
pin.
init.GPIO_Pin);
161 GPIO_SetBits(annunciator->
pin.
gpio,
162 annunciator->
pin.
init.GPIO_Pin);
180 if (get_annunc_state(annunc_id)) {
Main PiOS header to include all the compiled in PiOS options.
void PIOS_ANNUNC_Off(uint32_t annunc_id)
static struct flyingpicmd_cfg_fa cfg
const struct pios_annunc * annunciators
int32_t PIOS_ANNUNC_Init(const struct pios_annunc_cfg *cfg)
void PIOS_ANNUNC_On(uint32_t annunc_id)
pios_annunc_func_t handler
void PIOS_ANNUNC_Toggle(uint32_t annunc_id)
#define PIOS_Assert(test)