-
Notifications
You must be signed in to change notification settings - Fork 20
Usb3 verilog modifications to allow for TTL pulse train generation #14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: usb3
Are you sure you want to change the base?
Conversation
…en ephys would be how max_aux_cmd_index_x_in and loop_aux_cmd_index_x variables are handled. these have been reduced to use ep0b and ep0c bits, freeing up ep0d, 0e, 0f, and 10 for stimulation
|
@aacuevas can you take a look at these changes when you get a chance? |
|
Interesting, thanks! I will need to take a deeper look but, on a first glance, I do have a question. What is the reason to include MOSI/auxcmd drivers for headstages E to H, when the acquisition board does not support them? It does not seem they are being connected to any output pin. |
|
haha, while adapting code from the bitfile I have for the recording controller that supports 1024 channels, it looks like I included those unnecessarily :) I think we can remove without problem |
|
I've had a chance to look at the code and seems pretty straightforward indeed, I did notice, though, that this update disables the option to manually set TTL outputs or DAC threshold outputs on all 8 channels, but only allows for 4 manual controlled TTL and 4 DAC thresholds, is that right? In the latest versions of the Rhythm plugin we are working on enabling the use of the TTL outputs on the board, so maybe we could add an extra output selection option to chose between pulse generator, manual TTL or DAC threshold for all channels. But apart from that, this seems pretty neat. Have you tried applying this modifications to the original, usb2 version of Rhythm? |
|
Yes, you are right that there are only 4 manual TTLs for off/on and 4 for DAC threshold. I think when I coded this at first, I was a little bit-starved for the input wires, so I had to reduce the numbers here. Ep15wirein now only uses 8 bits to specify the TTL "mode" but there are 32-bits available. What if this was changed so the bottom 16 bits set the mode to only use the manual trigger, and the top 16-bits can specify if those same 16 TTLs should use the DAC threshold? Note that right now, I think the DAC threshold TTL signal only compares with the corresponding DAC output, so there are only 8 bits needed for the 8 output TTL channels corresponding to the 8 DACs. |
I have not. I don't have a usb2 board any more to be able to test that. The RHS acquisition board is usb2, so it should be able to work. |
These changes allow the Open ephys board to generate TTL pulse trains. See accompanying pull requests here:
open-ephys/plugin-GUI#511
Bitfiles were generated with ISE 14.7 on Ubuntu.