#c #linux #usb
#c #linux #usb
Вопрос:
Моя проблема сейчас в том, что, как только я использую флаг FUNCTIONFS_VIRTUAL_ADDR, я больше не могу получать массовые передачи. Файлы конечных точек есть (в моем случае «/ mnt / ffs / ep02» и «/ mnt / ffs / ep81»), но чтение файла ep02 не возвращает никакого содержимого.
У кого-нибудь есть опыт работы с этим?
приветствую Бенджо
Я прослушал трафик с помощью wireshark и вижу массовую передачу с хоста на конечную точку 0x02, но мое устройство никогда этого не видит.
void Usb::dumpThread()
{
std::ofstream ep1File(m_ffsPath "/ep81");
std::ifstream ep2File(m_ffsPath "/ep02");
static std::array<char, maxPacketSize> buffer;
while (true)
{
ep2File.getline(amp;buffer[0], buffer.size(), '');
if (ep2File.gcount() > 0)
{
std::cout << "Received " << ep2File.gcount() << " bytes." << std::endl;
std::cout << reinterpret_cast<const char*>(amp;buffer[0]) << std::endl;
std::string command(reinterpret_cast<const char*>(amp;buffer[1]));
if (command == "ABC")
{
// do sth.
}
}