예제 #1
0
// This function sends USB interrupt data
void naiboard_usb_int_send(uint8_t *data, uint16_t length) {
	uint16_t i = 0;

	if (length) { // If length == 0 then this function is just used for data receive acknowledgement
		printf_P(PSTR("naiboard-usb: sending %d bytes: "), length);
		for (i = 0; i < length; i++)
			printf_P(PSTR("%.2x"), data[i]);
		printf_P(PSTR("\n"));
	}

	udi_vendor_interrupt_in_run(data, length, naiboard_usb_vendor_int_in);
}
예제 #2
0
void main_vendor_int_out_received(udd_ep_status_t status,
		iram_size_t nb_transfered, udd_ep_id_t ep)
{
	UNUSED(ep);
	if (UDD_EP_TRANSFER_OK != status) {
		return; // Transfer aborted, then stop loopback
	}
	ui_loop_back_state(true);
	// Send on IN endpoint the data received on endpoint OUT
	udi_vendor_interrupt_in_run(
			main_buf_loopback,
			nb_transfered,
			main_vendor_int_in_received);
}