Background
I am trying to build a USB Bridge circuit as part of a larger project. What I mean by that is, I wish to control a parallel out circuit based on information transmitted by the host computer.
Application Details
The idea behind the project is to have a USB powered Nixie Clock. A Nixie Display unit has a high operating voltage of about 150V. The power supply part of the project will take care of stepping up 5V DC (up to 500mA due to USB limit) to 150 V (Vdc), 5mA (0.75W).
We want our initial design to have no onboard clock circuitry, instead, we want the time and date information to come over a server lookup from the USB host computer.
Parallel Pin requirement:
Due to a power limitation, our design will rapidly switch between the 6 Nixie Tubes (HH MM SS) such that only one is lit up at a time. This is where the parallel out requirement stems from.
We need 6 pins to select the tube whose anode is pulled up to Vdc and 10 pins to choose the digit that currently glows. These final outputs can come from a decoder, so there is a net requirement of 3 + 4 parallel out pins going into 2 decoders.
Solution of choice
I am trying to use the FT232R bit bang mode for this task as suggested by in this answer to a question I had asked earlier.
My Question
I am having some trouble going ahead with using the FT232R Bit-Bang mode. I referred to this application note by FTDI on using the Bit Bang mode. The notes mention that to use the synchronous and asynchronous Bit-Bang modes, only the D2XX drivers are required. So I visited this link to download the driver but was unable to do so since the linux 1.4.8 version refused to unzip on my system.
An alternative to the D2XX drivers for FTDI devices is the VCP driver (In built to linux) so I decided to use that.
Unlike the D2XX driver API which has functions to use the Bit Bang Mode, I could not find an equivalent API for the VCP drivers.
All I could do using the VCP drivers is to toggle individual pins one at a time using the IOCTL() system call of linux.
However, this will not be suitable for my application since I would be at the mercy of the Operating System as to when the toggling occurs. This could lead to unreliable and inconsistent timing which would not be suitable for my application.
Is there such an equivalent API based on VCP drivers that I could use? Feedback on the thought process will be appreciated.