Skocz do zawartości

aju_cor

Członkowie
  • Postów

    4
  • Dołączył

  • Ostatnio

    Nigdy

aju_cor's Achievements

Newbie

Newbie (1/14)

0

Reputacja

  1. 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
  2. Witam! Dzięki za szybką odpowiedź. Dla wyjasnienia: 1. Oczywiście, mam zrobioną komunikację PC <> FT232RL, działa bez problemów Co więcej, uruchomiłem terminal androidowy, ściągnięty ze strony FTDI - wszytsko działa. 2. Próby z kolejnością wywoływania poszczególnych funkcji już wcześniej robiłem - zawsze ten sam rezultat - SetFlowControl zwraca false... 3. Pod podanym powyżej linkiem, funkcja SetConfig robi to co ja... tylko oni nie sprawdzają rezultatu :) Popróbuję jeszcze i dam znać. P.S. 3 tygodnie temu zadałem pytanie z tym problemem, na oficjalny support FTDI - do tej pory nie mam odpowiedzi. Będę ich nękał dalej :), chyba ze wcześniej odkryję błąd :) Pozdrowienia. Sławek
  3. Witam! Próbuję zmontować komunikację z układem FTDI FT232R z poziomu Androida. Finalnie mam problem z funkcją setFlowControl zwracającą false... Poniżej framgment funkcji OpenFTDI, która zwraca wartość 6 w przypadku gdy sterowanie przepływem jest ustawiona na FT_FLOW_NONE or XON_XOFF. W przypadku, gdy ustawię na FT_FLOW_DTR_DSR or RTS_DTR funcja pracuje prawidłowo. Próbowałem z różnymi niższymi prędkościami typu 9600 etc, bez skutku... int OpenFTDI() throws IOException { int index = 0; int result = -1; boolean result_bl = false; //------------------------------------ // Get FT_Device and Open the port ftD2xx = D2xxManager.getInstance(this); DevCount = ftD2xx.createDeviceInfoList(this); if (DevCount > 0) { ftDev = ftD2xx.openByIndex(this, index); // Configure the port to UART if (ftDev.isOpen() == true) { // Reset FT Device result_bl = ftDev.setBitMode((byte) 0, D2xxManager.FT_BITMODE_RESET); if (result_bl == true) { // Set Baud Rate result_bl = ftDev.setBaudRate(230400); if (result_bl == true) { // Set Data Bit , Stop Bit , Parity Bit result_bl = ftDev.setDataCharacteristics(D2xxManager.FT_DATA_BITS_8, D2xxManager.FT_STOP_BITS_1, D2xxManager.FT_PARITY_NONE); if (result_bl == true) { // Set Flow Control result_bl = ftDev.setFlowControl(D2xxManager.FT_FLOW_NONE, (byte) 0x0b, (byte) 0x0d); if (result_bl == true) { result = 0; //port has been openeed & configured OK } else { result = 6; } } else { result = 5; } } else { result = 4; } } else { result = 3; } } else { result = 2; } } else { result = 1; } return (result); } Co dalej ??? dlaczego nie mogę ustawić sterowania na NONE? Całość testuję na Androidzie 4.4 Pozdrawiam! Sławek
  4. Witam! Aby obsługiwać moduł BT, należy m.innymi dodac do manifestu: od tego momentu możesz pisać obsługe bt :) Powodzenia Aju
×
×
  • Utwórz nowe...