Witam ponownie...
Własnie dostałem dopowiedż z FTDI:
"I just checked our bug database and found something:
Title setFlowControl returning false using Java D2XX driver
Detailed Description usbDevice.setFlowControl(D2xxManager.FT_FLOW_NONE, (byte) 0, (byte) 0)
returns false.
Root Cause The setFlowControl API does not handle the return value correctly."
Problem dotyczy drivera, więc sprawa zamknięta do momentu opublikowania poprawki przez FTDI.
Jednak dalej mam problem z komunikacją. Z treści zwrotnego maila jescze wynika, że funkcja set_flow_controll działa dobrze, tylko status zwraca źle...
Myślałem, że set_flow_controll nie ustawia poprawnego sterowania przepływem, dlatego mam problem...
//--------------------------------
W tej chwili wygląda to tak, że potrafię wysłać dane do FT232RL, dane są poprawnie odebrane z właściwą sumą CRC16. Niesety nie odbieram odpowiedzi z FT232RL mimo, że dane faktycznie są zarejestrowane przez system androida.
Całość w odbiorze wygląda tak:
bytesAvailable = ftDev.getQueueStatus();
funkcja zwraca poprawną ilość zbuforowanych odebranych danych,
później odczytuję dane do tablicy:
readed_bytes = ftDev.read(packetBytes, bytesAvailable);
funkcja również zwraca tą samą wartość, czyli readed_bytes = bytesAvailable
Problem w tym, ze tablica packetBytes nie zawiera odebranych danych.
Zaznaczę, że dane wysyłam do urządzenia i odbieram z urządzenia w tym samym wątku...
Pytanie dlaczego w buforze nie mam odebranych danych w ilości readed_bytes?
Może ktoś spotkał się z podobnym problemem...
Pozdrawiam!
Sławek