projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Make serial, usb, beeper and accelerometer optional components
[fw/altos]
/
src
/
ao_flight_test.c
diff --git
a/src/ao_flight_test.c
b/src/ao_flight_test.c
index 2bf7f2b233a4a3b789d5031d60b7adf1482de225..e75bc8df348f5ca8dc240aaaaed6a8900f880d73 100644
(file)
--- a/
src/ao_flight_test.c
+++ b/
src/ao_flight_test.c
@@
-114,7
+114,6
@@
const char const * const ao_state_names[] = {
};
struct ao_cmds {
};
struct ao_cmds {
- char cmd;
void (*func)(void);
const char *help;
};
void (*func)(void);
const char *help;
};
@@
-152,7
+151,18
@@
struct ao_config {
#define ao_config_get()
#define ao_config_get()
-struct ao_config ao_config = { 250, 15937, 16467 };
+struct ao_config ao_config;
+
+#define DATA_TO_XDATA(x) (x)
+
+#define HAS_FLIGHT 1
+#define HAS_ADC 1
+#define HAS_USB 1
+#define HAS_GPS 1
+#ifndef HAS_ACCEL
+#define HAS_ACCEL 1
+#endif
+#define HAS_ACCEL_REF 0
#include "ao_flight.c"
#include "ao_flight.c"
@@
-178,7
+188,7
@@
void
ao_sleep(void *wchan)
{
ao_dump_state();
ao_sleep(void *wchan)
{
ao_dump_state();
- if (wchan == &ao_adc_
ring
) {
+ if (wchan == &ao_adc_
head
) {
char type;
uint16_t tick;
uint16_t a, b;
char type;
uint16_t tick;
uint16_t a, b;
@@
-218,6
+228,11
@@
ao_sleep(void *wchan)
tick = strtoul(words[1], NULL, 16);
a = strtoul(words[2], NULL, 16);
b = strtoul(words[3], NULL, 16);
tick = strtoul(words[1], NULL, 16);
a = strtoul(words[2], NULL, 16);
b = strtoul(words[3], NULL, 16);
+ } else if (nword >= 6 && strcmp(words[0], "Accel")) {
+ ao_config.accel_plus_g = atoi(words[3]);
+ ao_config.accel_minus_g = atoi(words[5]);
+ } else if (nword >= 4 && strcmp(words[0], "Main")) {
+ ao_config.main_deploy = atoi(words[2]);
} else if (nword >= 36 && strcmp(words[0], "CALL") == 0) {
tick = atoi(words[10]);
if (!ao_flight_started) {
} else if (nword >= 36 && strcmp(words[0], "CALL") == 0) {
tick = atoi(words[10]);
if (!ao_flight_started) {
@@
-236,6
+251,12
@@
ao_sleep(void *wchan)
switch (type) {
case 'F':
ao_flight_ground_accel = a;
switch (type) {
case 'F':
ao_flight_ground_accel = a;
+ if (ao_config.accel_plus_g == 0) {
+ ao_config.accel_plus_g = a;
+ ao_config.accel_minus_g = a + 530;
+ }
+ if (ao_config.main_deploy == 0)
+ ao_config.main_deploy = 250;
ao_flight_started = 1;
break;
case 'S':
ao_flight_started = 1;
break;
case 'S':