X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fao_flight_test.c;h=5c61951853d63c84ddc6905be651b002a1e9a2d0;hb=da42f406e88ccc821cd45d5a94d5afec65ec50e9;hp=83c630160b03068068aab1cfb1983f9031d7378f;hpb=0b483233118673cbc2cda1be6acd379df82bc95a;p=fw%2Faltos diff --git a/src/ao_flight_test.c b/src/ao_flight_test.c index 83c63016..5c619518 100644 --- a/src/ao_flight_test.c +++ b/src/ao_flight_test.c @@ -22,6 +22,8 @@ #include #include +#define AO_HERTZ 100 + #define AO_ADC_RING 64 #define ao_adc_ring_next(n) (((n) + 1) & (AO_ADC_RING - 1)) #define ao_adc_ring_prev(n) (((n) - 1) & (AO_ADC_RING - 1)) @@ -144,12 +146,15 @@ ao_altitude_to_pres(int16_t alt) __reentrant struct ao_config { uint16_t main_deploy; - int16_t accel_zero_g; + int16_t accel_plus_g; + int16_t accel_minus_g; }; #define ao_config_get() -struct ao_config ao_config = { 250, 16000 }; +struct ao_config ao_config = { 250, 15937, 16467 }; + +#define DATA_TO_XDATA(x) (x) #include "ao_flight.c" @@ -175,7 +180,7 @@ void 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; @@ -214,7 +219,7 @@ ao_sleep(void *wchan) type = words[0][0]; tick = strtoul(words[1], NULL, 16); a = strtoul(words[2], NULL, 16); - b = strtoul(words[2], NULL, 16); + b = strtoul(words[3], NULL, 16); } else if (nword >= 36 && strcmp(words[0], "CALL") == 0) { tick = atoi(words[10]); if (!ao_flight_started) { @@ -233,6 +238,8 @@ ao_sleep(void *wchan) switch (type) { case 'F': ao_flight_ground_accel = a; + ao_config.accel_plus_g = a; + ao_config.accel_minus_g = a + 530; ao_flight_started = 1; break; case 'S':