RX and TX sample buffer loops turned out to be the same, so they're consolidated.
This commit is contained in:
@ -307,36 +307,19 @@ int main(void) {
|
|||||||
ssp1_set_mode_max5864();
|
ssp1_set_mode_max5864();
|
||||||
max5864_xcvr();
|
max5864_xcvr();
|
||||||
|
|
||||||
// TODO: If this turns out to be the same code, simplify.
|
|
||||||
if( transceiver_mode == TRANSCEIVER_MODE_RX ) {
|
|
||||||
while(true) {
|
while(true) {
|
||||||
// Wait until buffer 0 is received.
|
// Wait until buffer 0 is transmitted/received.
|
||||||
while( usb_bulk_buffer_offset < 16384 );
|
while( usb_bulk_buffer_offset < 16384 );
|
||||||
|
|
||||||
// Set up IN transfer to send buffer 0.
|
// Set up IN transfer of buffer 0.
|
||||||
usb_endpoint_schedule_no_int(&usb_endpoint_bulk_in, &usb_td_bulk[0]);
|
usb_endpoint_schedule_no_int(&usb_endpoint_bulk_in, &usb_td_bulk[0]);
|
||||||
|
|
||||||
// Wait until buffer 1 is received.
|
// Wait until buffer 1 is transmitted/received.
|
||||||
while( usb_bulk_buffer_offset >= 16384 );
|
while( usb_bulk_buffer_offset >= 16384 );
|
||||||
|
|
||||||
// Set up IN transfer to send buffer 1.
|
// Set up IN transfer of buffer 1.
|
||||||
usb_endpoint_schedule_no_int(&usb_endpoint_bulk_in, &usb_td_bulk[1]);
|
usb_endpoint_schedule_no_int(&usb_endpoint_bulk_in, &usb_td_bulk[1]);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
while(true) {
|
|
||||||
// Wait until buffer 0 is transmitted.
|
|
||||||
while( usb_bulk_buffer_offset < 16384 );
|
|
||||||
|
|
||||||
// Set up OUT transfer to fill buffer 0.
|
|
||||||
usb_endpoint_schedule_no_int(&usb_endpoint_bulk_out, &usb_td_bulk[0]);
|
|
||||||
|
|
||||||
// Wait until buffer 1 is transmitted.
|
|
||||||
while( usb_bulk_buffer_offset >= 16384 );
|
|
||||||
|
|
||||||
// Set up OUT transfer to fill buffer 1.
|
|
||||||
usb_endpoint_schedule_no_int(&usb_endpoint_bulk_out, &usb_td_bulk[1]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user