projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'buttonbox' into telemetrum-v1.1
[fw/altos]
/
src
/
ao_ignite.c
diff --git
a/src/ao_ignite.c
b/src/ao_ignite.c
index be2915234b07d7a2c477e78c445baeb0e9f03866..f2b15dd23e741da0d29df0682d7c02d830717890 100644
(file)
--- a/
src/ao_ignite.c
+++ b/
src/ao_ignite.c
@@
-26,7
+26,7
@@
/* test these values with real igniters */
#define AO_IGNITER_OPEN 1000
#define AO_IGNITER_CLOSED 7000
/* test these values with real igniters */
#define AO_IGNITER_OPEN 1000
#define AO_IGNITER_CLOSED 7000
-#define AO_IGNITER_FIRE_TIME AO_MS_TO_TICKS(50
0
)
+#define AO_IGNITER_FIRE_TIME AO_MS_TO_TICKS(50)
#define AO_IGNITER_CHARGE_TIME AO_MS_TO_TICKS(2000)
struct ao_ignition {
#define AO_IGNITER_CHARGE_TIME AO_MS_TO_TICKS(2000)
struct ao_ignition {
@@
-101,36
+101,23
@@
void
ao_igniter(void)
{
__xdata enum ao_ignter igniter;
ao_igniter(void)
{
__xdata enum ao_ignter igniter;
- __xdata enum ao_igniter_status status;
+ ao_config_get();
for (;;) {
ao_sleep(&ao_ignition);
for (igniter = ao_igniter_drogue; igniter <= ao_igniter_main; igniter++) {
if (ao_ignition[igniter].request && !ao_ignition[igniter].fired) {
for (;;) {
ao_sleep(&ao_ignition);
for (igniter = ao_igniter_drogue; igniter <= ao_igniter_main; igniter++) {
if (ao_ignition[igniter].request && !ao_ignition[igniter].fired) {
+ if (igniter == ao_igniter_drogue && ao_config.apogee_delay)
+ ao_delay(AO_SEC_TO_TICKS(ao_config.apogee_delay));
+
ao_igniter_fire(igniter);
ao_delay(AO_IGNITER_CHARGE_TIME);
ao_igniter_fire(igniter);
ao_delay(AO_IGNITER_CHARGE_TIME);
- status = ao_igniter_status(igniter);
- if (status == ao_igniter_open)
- ao_ignition[igniter].fired = 1;
+ ao_ignition[igniter].fired = 1;
}
}
}
}
}
}
}
}
-static uint8_t
-ao_match_word(__code char *word)
-{
- while (*word) {
- if (ao_cmd_lex_c != *word) {
- ao_cmd_status = ao_cmd_syntax_error;
- return 0;
- }
- word++;
- ao_cmd_lex();
- }
- return 1;
-}
-
void
ao_ignite_manual(void)
{
void
ao_ignite_manual(void)
{