6 #include "UsbTxStream.hpp"
7 #include "UsbDevice.hpp"
8 #include "UsbMacros.hpp"
9 #include "RtosInclude.hpp"
11 UsbTxStream::UsbTxStream(uint8_t ep,
size_t size) :
15 UsbDevice::registerInCallback(ep,
this);
18 UsbTxStream::~UsbTxStream() {
21 int UsbTxStream::write(
const void* buffer,
int len,
Rtos::TICK timeout) {
22 if (timeout > mMaxTimeout) {
23 timeout = mMaxTimeout;
25 uint8_t* src = (uint8_t*) buffer;
30 int written = mBuffer.writeChunk(src, left, 10);
31 UsbDevice::notifyDataInReadyForEp(mEp);
41 void UsbTxStream::onDataInFree(uint8_t ep, uint16_t len) {
43 len = mBuffer.read(buffer, len, 0);
45 UsbDevice::writeBuffer(ep, buffer, len);