Adam Wysocki
Guest
Mon Feb 05, 2018 1:06 am
Hej,
Staram się ogarnąć FT232RL w trybie asynchronicznego bit-bang przy pomocy
libftdi (Linux) i jedno mi się nie zgadza.
Wysyłamy dane do chipa przez ftdi_write(). Chip te dane od nas przyjmuje
(natychmiast) i wypuszcza na swoje GPIO zgodnie z ustawionym baudrate.
Skąd możemy się dowiedzieć, że dane już zostały przez chip wysłane?
Drivery D2XX mają FT_GetStatus() ale nie widzę nic takiego w libftdi.
Chciałbym przeczytać stan innego pinu (przez ftdi_read_pins()) ale dopiero
wtedy, kiedy będę wiedział, że moje dane wyszły na GPIO.
--
[ Email: a@b a=grp b=chmurka.net ]
[ Web:
http://www.chmurka.net/ ]
Guest
Wed Feb 07, 2018 3:06 am
W dniu poniedziałek, 5 lutego 2018 00:06:51 UTC+1 użytkownik Adam Wysocki napisał:
Quote:
Hej,
Staram się ogarnąć FT232RL w trybie asynchronicznego bit-bang przy pomocy
libftdi (Linux) i jedno mi się nie zgadza.
Wysyłamy dane do chipa przez ftdi_write(). Chip te dane od nas przyjmuje
(natychmiast) i wypuszcza na swoje GPIO zgodnie z ustawionym baudrate.
Skąd możemy się dowiedzieć, że dane już zostały przez chip wysłane?
Drivery D2XX mają FT_GetStatus() ale nie widzę nic takiego w libftdi.
Chciałbym przeczytać stan innego pinu (przez ftdi_read_pins()) ale dopiero
wtedy, kiedy będę wiedział, że moje dane wyszły na GPIO.
--
Proponuję używać d2xx. Funkcja FT_Write zwraca Ci wartość typu FT_STATUS. Jeżeli jest to FT_OK, to znaczy że wszystko poszło jak trzeba. Inna wartość, to kod błędu.. Ja co prawda korzystam z trybu FT245 Synchro FIFO(FT2232H), ale w bitbangu najprawdopodobniej jest tak samo od strony softu.
Waldemar
Guest
Wed Feb 07, 2018 11:14 am
Am 07.02.2018 um 02:06 schrieb stchebel@gmail.com:
Quote:
W dniu poniedziałek, 5 lutego 2018 00:06:51 UTC+1 użytkownik Adam Wysocki napisał:
Hej,
Staram się ogarnąć FT232RL w trybie asynchronicznego bit-bang przy pomocy
libftdi (Linux) i jedno mi się nie zgadza.
Wysyłamy dane do chipa przez ftdi_write(). Chip te dane od nas przyjmuje
(natychmiast) i wypuszcza na swoje GPIO zgodnie z ustawionym baudrate.
Skąd możemy się dowiedzieć, że dane już zostały przez chip wysłane?
Drivery D2XX mają FT_GetStatus() ale nie widzę nic takiego w libftdi.
Chciałbym przeczytać stan innego pinu (przez ftdi_read_pins()) ale dopiero
wtedy, kiedy będę wiedział, że moje dane wyszły na GPIO.
--
Proponuję używać d2xx. Funkcja FT_Write zwraca Ci wartość typu FT_STATUS. Jeżeli jest to FT_OK, to znaczy że wszystko poszło jak trzeba. Inna wartość, to kod błędu. Ja co prawda korzystam z trybu FT245 Synchro FIFO(FT2232H), ale w bitbangu najprawdopodobniej jest tak samo od strony softu.
konkretnie trzeba najpierw odinstalować moduł ftdi_sio z jaja. Dopiero
wtedy możesz użyć d2xx.
Waldek
Adam Wysocki
Guest
Wed Feb 07, 2018 1:06 pm
stchebel@gmail.com wrote:
Quote:
Proponuję używać d2xx.
Chyba tak się skończy, bo na liście developerów libftdi nikt nie
odpowiedział...
Quote:
Funkcja FT_Write zwraca Ci wartość typu FT_STATUS. Jeżeli jest to FT_OK,
to znaczy że wszystko poszło jak trzeba. Inna wartość, to kod błędu.
ftdi_write() też zwraca status, to nie o to chodzi.
Zakładam że po powrocie z funkcji (czy to ftdi_write() z libftdi, czy
FT_Write() z D2XX) dane zostały wysłane do chipa, a nie, że chip już
je wypuścił na GPIO.
Czytałem, że do sprawdzenia tego drugiego służy FT_Status() z D2XX, ale
nie widzę podobnej funkcji w libftdi...
--
[ Email: a@b a=grp b=chmurka.net ]
[ Web:
http://www.chmurka.net/ ]
Adam Wysocki
Guest
Wed Feb 07, 2018 1:08 pm
Waldemar <waldemar@zedat.fu-berlin.de> wrote:
Quote:
konkretnie trzeba najpierw odinstalować moduł ftdi_sio z jaja. Dopiero
wtedy możesz użyć d2xx.
Bez tego w ogóle nie uda się otworzyć urządzenia, czy uda, ale będą różne
jaja (typu nieprawidłowe odczytywane wartości)? Zastanawiam się, czy to
nie może przekłamywać mi wartości, które czytam z libftdi (a będę mógł
sprawdzić dopiero wieczorem).
--
[ Email: a@b a=grp b=chmurka.net ]
[ Web:
http://www.chmurka.net/ ]