X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fao_packet_slave.c;h=d7cafa680d5a7a470de654ae3eae73ed8743afd6;hb=0d10e25766b96f5660e213115cf27b71ff164405;hp=39d04bbb2e8a70ca43450b9a7457f8991a1198b9;hpb=484b44e81b655f1ecb48256095382a56d2839bae;p=fw%2Faltos diff --git a/src/ao_packet_slave.c b/src/ao_packet_slave.c index 39d04bbb..d7cafa68 100644 --- a/src/ao_packet_slave.c +++ b/src/ao_packet_slave.c @@ -20,12 +20,14 @@ void ao_packet_slave(void) { - ao_radio_set_packet(); ao_tx_packet.addr = ao_serial_number; ao_tx_packet.len = AO_PACKET_SYN; while (ao_packet_enable) { if (ao_packet_recv()) { memcpy(&ao_tx_packet.callsign, &ao_rx_packet.packet.callsign, AO_MAX_CALLSIGN); +#if HAS_FLIGHT + ao_flight_force_idle = TRUE; +#endif ao_packet_send(); } } @@ -35,8 +37,10 @@ ao_packet_slave(void) void ao_packet_slave_start(void) { - ao_packet_enable = 1; - ao_add_task(&ao_packet_task, ao_packet_slave, "slave"); + if (!ao_packet_enable) { + ao_packet_enable = 1; + ao_add_task(&ao_packet_task, ao_packet_slave, "slave"); + } } void @@ -48,16 +52,15 @@ ao_packet_slave_stop(void) ao_radio_recv_abort(); ao_delay(AO_MS_TO_TICKS(10)); } - ao_radio_get(); - ao_radio_set_telemetry(); - ao_radio_put(); } } void -ao_packet_slave_init(void) +ao_packet_slave_init(uint8_t enable) { ao_add_stdio(ao_packet_pollchar, ao_packet_putchar, NULL); + if (enable) + ao_packet_slave_start(); }