X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Ftelemini-v3.0%2Fao_telemini.c;h=66f75f0ab0dc182fb523e0199aa4d0520dd374d8;hb=refs%2Fheads%2Fmaster;hp=ecd16dd204adbaeef418b786698710f13033a0d0;hpb=43cf1991f042e50fb6ec0b037f6d212436e3d31b;p=fw%2Faltos diff --git a/src/telemini-v3.0/ao_telemini.c b/src/telemini-v3.0/ao_telemini.c index ecd16dd2..d571d340 100644 --- a/src/telemini-v3.0/ao_telemini.c +++ b/src/telemini-v3.0/ao_telemini.c @@ -19,9 +19,30 @@ #include #include -void +#if HAS_FORCE_FREQ +static void +ao_check_recovery(void) +{ + int i; + ao_enable_input(AO_RECOVERY_PORT, AO_RECOVERY_PIN, AO_RECOVERY_MODE); + for (i = 0; i < 100; i++) + ao_arch_nop(); + if (ao_gpio_get(AO_RECOVERY_PORT, AO_RECOVERY_PIN) == AO_RECOVERY_VALUE) { + ao_flight_force_idle = 1; + ao_force_freq = 1; + } + ao_gpio_set_mode(AO_RECOVERY_PORT, AO_RECOVERY_PIN, 0); + ao_disable_port(AO_RECOVERY_PORT); +} +#endif + +int main(void) { +#if HAS_FORCE_FREQ + ao_check_recovery(); +#endif + ao_clock_init(); ao_task_init(); ao_timer_init(); @@ -51,7 +72,7 @@ main(void) ao_report_init(); ao_telemetry_init(); ao_radio_init(); - ao_packet_slave_init(TRUE); + ao_packet_slave_init(true); ao_igniter_init(); ao_config_init();