diff options
author | Bdale Garbee <bdale@gag.com> | 2014-09-06 13:41:36 -0600 |
---|---|---|
committer | Bdale Garbee <bdale@gag.com> | 2014-09-06 13:41:36 -0600 |
commit | 8c212cd5bfa03f71a31d84bd0051314e77d88461 (patch) | |
tree | 5be036b3510b8b474ad829caea20fcbc75b56839 /src/drivers/ao_pad.c | |
parent | e9714e34091abe657aa1b30aeda9466331aa39c1 (diff) | |
parent | dd26ec2e706bdd29090759deeb90090a0e3b74f0 (diff) |
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Conflicts:
ao-bringup/turnon_telemega
Diffstat (limited to 'src/drivers/ao_pad.c')
-rw-r--r-- | src/drivers/ao_pad.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/drivers/ao_pad.c b/src/drivers/ao_pad.c index 144cbd70..dc2c83fe 100644 --- a/src/drivers/ao_pad.c +++ b/src/drivers/ao_pad.c @@ -362,14 +362,26 @@ ao_pad_test(void) void ao_pad_manual(void) { + uint8_t ignite; + int repeat; ao_cmd_white(); if (!ao_match_word("DoIt")) return; ao_cmd_decimal(); if (ao_cmd_status != ao_cmd_success) return; - ao_pad_ignite = 1 << ao_cmd_lex_i; - ao_wakeup(&ao_pad_ignite); + ignite = 1 << ao_cmd_lex_i; + ao_cmd_decimal(); + if (ao_cmd_status != ao_cmd_success) { + repeat = 1; + ao_cmd_status = ao_cmd_success; + } else + repeat = ao_cmd_lex_i; + while (repeat-- > 0) { + ao_pad_ignite = ignite; + ao_wakeup(&ao_pad_ignite); + ao_delay(AO_PAD_FIRE_TIME>>1); + } } static __xdata struct ao_task ao_pad_task; |