This keeps the packet thread from blocking on USB and also makes the
flush happen after every packet (slightly more USB traffic, but
packets are slow anyway).
Signed-off-by: Keith Packard <keithp@keithp.com>
break;
if (ao_packet_master_sleeping)
ao_wake_task(&ao_packet_task);
break;
if (ao_packet_master_sleeping)
ao_wake_task(&ao_packet_task);
ao_sleep(&ao_stdin_ready);
}
return c;
ao_sleep(&ao_stdin_ready);
}
return c;
continue;
if (ao_rx_packet.packet.len)
ao_packet_master_busy();
continue;
if (ao_rx_packet.packet.len)
ao_packet_master_busy();
ao_packet_master_sleeping = 1;
ao_delay(ao_packet_master_delay);
ao_packet_master_sleeping = 0;
ao_packet_master_sleeping = 1;
ao_delay(ao_packet_master_delay);
ao_packet_master_sleeping = 0;