In commit 99f0bc with the introduction of the async API, the timeout parameter was removed from the synchronous flWriteChannel and flReadChannel functions.
The justification was that in the event of a timeout, recovery is impossible because synchronization has been lost with the FPGA. That's true, but when the application has some kind of out-of-band control (e.g. power on/off or a master reset/reconfigure line to the FPGA), the ability to detect and recover from faults[1] is useful even when the recovery is rather inelegant.
I can put together a pull request to bring timeouts back but would appreciate input on how you'd prefer it to be done - just add the argument back to flWriteChannel? A new flWriteChannelTimeout function?
[1] The fault might be completely unrelated to FPGALink but could still result in CommFPGA getting stuck.
In commit 99f0bc with the introduction of the async API, the timeout parameter was removed from the synchronous flWriteChannel and flReadChannel functions.
The justification was that in the event of a timeout, recovery is impossible because synchronization has been lost with the FPGA. That's true, but when the application has some kind of out-of-band control (e.g. power on/off or a master reset/reconfigure line to the FPGA), the ability to detect and recover from faults[1] is useful even when the recovery is rather inelegant.
I can put together a pull request to bring timeouts back but would appreciate input on how you'd prefer it to be done - just add the argument back to flWriteChannel? A new flWriteChannelTimeout function?
[1] The fault might be completely unrelated to FPGALink but could still result in CommFPGA getting stuck.