projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altosuilib: Skip voice announcements for invalid values
[fw/altos]
/
src
/
kernel
/
ao_pyro.c
diff --git
a/src/kernel/ao_pyro.c
b/src/kernel/ao_pyro.c
index 56758fa448d4844ce50d6c1ac2491dcef17875c4..85d88d98962006c5f78425d5ab8a0334f8faad19 100644
(file)
--- a/
src/kernel/ao_pyro.c
+++ b/
src/kernel/ao_pyro.c
@@
-213,7
+213,7
@@
ao_pyro_pins_fire(uint16_t fire)
if (fire & (1 << p))
ao_pyro_pin_set(p, 1);
}
if (fire & (1 << p))
ao_pyro_pin_set(p, 1);
}
- ao_delay(
AO_MS_TO_TICKS(50)
);
+ ao_delay(
ao_config.pyro_time
);
for (p = 0; p < AO_PYRO_NUM; p++) {
if (fire & (1 << p)) {
ao_pyro_pin_set(p, 0);
for (p = 0; p < AO_PYRO_NUM; p++) {
if (fire & (1 << p)) {
ao_pyro_pin_set(p, 0);
@@
-403,7
+403,10
@@
ao_pyro_show(void)
if (ao_pyro_values[v].offset != NO_VALUE) {
int16_t value;
if (ao_pyro_values[v].offset != NO_VALUE) {
int16_t value;
- value = *((int16_t *) ((char *) pyro + ao_pyro_values[v].offset));
+ if (ao_pyro_values[v].flag & AO_PYRO_8_BIT_VALUE)
+ value = *((uint8_t *) ((char *) pyro + ao_pyro_values[v].offset));
+ else
+ value = *((int16_t *) ((char *) pyro + ao_pyro_values[v].offset));
printf ("%6d ", value);
} else {
printf (" ");
printf ("%6d ", value);
} else {
printf (" ");
@@
-467,7
+470,10
@@
ao_pyro_set(void)
ao_cmd_decimal();
if (ao_cmd_status != ao_cmd_success)
return;
ao_cmd_decimal();
if (ao_cmd_status != ao_cmd_success)
return;
- *((int16_t *) ((char *) &pyro_tmp + ao_pyro_values[v].offset)) = ao_cmd_lex_i;
+ if (ao_pyro_values[v].flag & AO_PYRO_8_BIT_VALUE)
+ *((uint8_t *) ((char *) &pyro_tmp + ao_pyro_values[v].offset)) = ao_cmd_lex_i;
+ else
+ *((int16_t *) ((char *) &pyro_tmp + ao_pyro_values[v].offset)) = ao_cmd_lex_i;
}
}
_ao_config_edit_start();
}
}
_ao_config_edit_start();