projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/micropeak: Set boost detect to 10m. Add 30s boost delay.
[fw/altos]
/
src
/
micropeak
/
ao_micropeak.c
diff --git
a/src/micropeak/ao_micropeak.c
b/src/micropeak/ao_micropeak.c
index 1d11300e887040d8d834d124ccabf15f7df56d7b..bf65697994e71705a9cb3d6d5608ab7e8ea659d7 100644
(file)
--- a/
src/micropeak/ao_micropeak.c
+++ b/
src/micropeak/ao_micropeak.c
@@
-48,7
+48,10
@@
ao_pa_get(void)
#define GROUND_AVG (1 << GROUND_AVG_SHIFT)
/* Pressure change (in Pa) to detect boost */
#define GROUND_AVG (1 << GROUND_AVG_SHIFT)
/* Pressure change (in Pa) to detect boost */
-#define BOOST_DETECT 48 /* 4m at sea level, 4.8m at 2000m */
+#define BOOST_DETECT 120 /* 10m at sea level, 12m at 2000m */
+
+/* Wait after power on before doing anything to give the user time to assemble the rocket */
+#define BOOST_DELAY AO_SEC_TO_TICKS(30)
/* Pressure change (in Pa) to detect landing */
#define LAND_DETECT 12 /* 1m at sea level, 1.2m at 2000m */
/* Pressure change (in Pa) to detect landing */
#define LAND_DETECT 12 /* 1m at sea level, 1.2m at 2000m */
@@
-121,6
+124,7
@@
main(void)
ao_log_micro_dump();
#endif
ao_log_micro_dump();
#endif
+ ao_delay(BOOST_DELAY);
/* Wait for motion, averaging values to get ground pressure */
time = ao_time();
ao_pa_get();
/* Wait for motion, averaging values to get ground pressure */
time = ao_time();
ao_pa_get();
@@
-136,8
+140,6
@@
main(void)
ao_led_off(AO_LED_BLUE);
pa_avg = pa_avg - (pa_avg >> FILTER_SHIFT) + pa;
pa_diff = pa_ground - pa_avg;
ao_led_off(AO_LED_BLUE);
pa_avg = pa_avg - (pa_avg >> FILTER_SHIFT) + pa;
pa_diff = pa_ground - pa_avg;
- if (pa_diff < 0)
- pa_diff = -pa_diff;
/* Check for a significant pressure change */
if (pa_diff > (BOOST_DETECT << FILTER_SHIFT))
/* Check for a significant pressure change */
if (pa_diff > (BOOST_DETECT << FILTER_SHIFT))