Цитата(toweroff @ Feb 28 2018, 01:01)

Тоже плевался на реализацию куба, пока отложил, есть другие задачи, но общее решение у меня нарисовалось вот какое (надо проверить) :
1. Отправка данных через функцию, в которой проверка, отправляется ли в данный момент по usb что-то или нет. Если да - добавляем в буфер, нет - вызываем CDC_Send_DATA с размером точки, остальное в буфер, ставим флаг активности.
2. В EP1_IN_Callback смотрим, есть что в буфере или нет. Есть - CDC_Send_DATA с размером точки (если данных больше), кончились данные - снимаем флаг
ого. фига се.

. пока что уменьшил до 1000 - if(++timeout > 1000) break; - работает стабильно и слава богу. все равно это допольнительная фича для настройки параметров, типа nice-to-have, если лень UART подключать.