Welcome, Guest
You have to register before you can post on our site.

Search Forums

(Advanced Search)

Latest Threads
Valve Driver Module vs Po...
Forum: Hardware
Last Post: Remi_tds
9 hours ago
» Replies: 2
» Views: 35
Unable to connect to Anal...
Forum: Software
Last Post: paulbanks
09-14-2020, 12:31 PM
» Replies: 5
» Views: 247
Arduino Due not showing
Forum: Hardware
Last Post: Josh
09-14-2020, 01:15 AM
» Replies: 8
» Views: 469
Ports 4-8 not registering...
Forum: Hardware
Last Post: LucasKin
09-13-2020, 10:40 AM
» Replies: 2
» Views: 83
Issue with nActiveChannel...
Forum: Software
Last Post: PrsaLab
09-10-2020, 11:26 AM
» Replies: 2
» Views: 94
Forum: Software
Last Post: bimac
09-04-2020, 08:08 AM
» Replies: 0
» Views: 101
Reading real-time data fr...
Forum: Software
Last Post: tly627
09-01-2020, 02:45 AM
» Replies: 2
» Views: 150
Not input detected by the...
Forum: Hardware
Last Post: Josh
08-25-2020, 06:55 PM
» Replies: 1
» Views: 365
1 Matlab controls 2 Pulse...
Forum: Software
Last Post: Josh
08-25-2020, 06:37 PM
» Replies: 3
» Views: 2,387
"Serial" Module BPOD
Forum: Hardware
Last Post: AlvaroLuna
08-24-2020, 04:23 PM
» Replies: 0
» Views: 161

  Accessing the Arduino's GPIO pins
Posted by: cyuan - 04-20-2017, 08:19 PM - Forum: Hardware - Replies (3)


I am thinking of using the spare Arduino pins on the Bpod 0.5 to detect wheel rotations using this rotary encoder.

What is the recommended method to access the GPIO pins of the Arduino Due along with the Bpod so as to not introduce additional time lag? Alternatively, if this is not possible, would using another Arduino/Raspberry Pi as the rotary decoder coprocessor (outputting to a single digital pin) work for this purpose?

  Ocasional error when clicking on GUI buttons
Posted by: sebromano - 04-18-2017, 08:00 PM - Forum: Software - Replies (1)


While bench-testing  a Bpod r0.7, sometimes when clicking a button on the GUI (e.g., ON/OFF override of a wire output line) I get this error:

??? Error using ==> serial.fwrite at 199

An error occurred during writing.

Error in ==> BpodSerialWrite at 5
        fwrite(BpodSystem.SerialPort, ByteString, Datatype);

Error in ==> ManualOverride at 121
    BpodSerialWrite(OverrideMessage, 'uint8');
??? Error while evaluating uicontrol Callback

When this happens, the GUI stops responding, I have to force quit MATLAB and even unplug and replug the USB cable of the Bpod (if not, when I relaunch BPod in MATLAB the program does not find the connected Bpod). 
I am running a MATLAB 2010a on Windows 7.
This seems to happen occasionally, but I came across this issue a few times already.
Could you please give me some insight on what's the problem here?
Thank you very much in advance.

  adding random function to stand-alone program menu
Posted by: cpark - 04-03-2017, 10:11 PM - Forum: Software - Replies (2)

I apologize if this is question/request overly simplistic, but I only use the Pulse Pal as a stand-alone device and I was wondering if there is anyway to add a random function to the programming menu. For example, I would like a simple way to program in a random time for the pulse duration within a defined range (a random 0.5 to 3 second pulse duration). I would like to incorporate such random time ranges to the other commands in the menu (eg., pulse interval, train duration, etc.)

Is this possible or is there a workaround (please keep in mind I know nothing of programming in Matlab, python, c++)?



  several overlapping calls to softCodeHandlerFunction
Posted by: Mahyar - 03-24-2017, 10:40 AM - Forum: Software - Replies (5)


I have a visual stimulus(2 sec long) being handled by the softcode handler function(softcode(1)). But at some points another softcode is being sent(softcode)by my statematrix before the visual stimulus is finished. It appears to me that the second call stays in queue until the first call returns. Is that right? Is there a work around for this so that the second call starts to execute immediate(i.e. in parallel)?

  Reaction time 2AFC tasks
Posted by: Simon - 03-21-2017, 11:36 AM - Forum: Hardware - Replies (1)

Hi Josh, 

We want to run a “reaction-time” version of the 2AFC task using Bpod and the "90-YAA060-1UAN0BZ SONIDO ASUS XONAR DX” sound card to generate the stimuli (e.g. play sound in the state "centerIN", when the animals poke the center port and stop it after “centerOUT”). Since this might result in having to send to and receive from Arduino more than one time for each trial, we were wandering about how much would that have an effect on delay times, etc. We’ll be doing some tests soon, but wanted to ask you for feedback regarding this issue, particularly if you have experience with using the Bpod system for reaction-time tasks. 

Thank you!



  Behavior tracking
Posted by: simonM - 03-19-2017, 01:57 AM - Forum: Neuro Technology Chat - No Replies

I am working on a setup modification to save down our behavioral video tracking and was hoping to get some advice on how to do this best Angel .

We use logitech webcams to monitor the setup and I would like to use that information for analysis while still being able to see the video to know whats going on when an experiment is running. Would Bonsai be a good idea for this? I currently only have a low-latency ubuntu system in the rig that runs the paradigm and takes care of stimulus presentation so I would need an additional windows system. Could I use the bonsai socket to have bpod start and end video acquisition in bonsai? Could I achieve robust timing with that approach?

Alternatively, I was playing with streaming video directly through Matlabs IMAQ on the ubuntu machine but the webcams fps is not as constant as I would like it to be. Specifically, every ~300ms a frame is delayed by half the usual inter-frame interval, regardless of resolution, exposure ect.. I'm not sure if this is because of the hardware (tried a logitech B920 and C922 so far) or the linux uvc drivers.

Any input would be much appreciated !

  'StatesDefined' in sma
Posted by: justinplittle - 03-13-2017, 08:23 PM - Forum: Software - Replies (3)

wondering about this field in the sma.

in all the example protocols I have, all values = 1.

what is the intended use of 'referenced' versus 'added' states?

is there an example protocol that makes use of this functionality?

Posted by: justinplittle - 03-13-2017, 08:11 PM - Forum: Software - Replies (3)

Trying to understand more about timers, in particular:

do all states need to have a 'global timer' defined? In all the example protocols I have, this seems to be the case
such that even states that arent timed have the 'Timer' field set to 0. If so, then

  Using PulsePAL with Labview
Posted by: NeuroMechanics@IITM - 03-04-2017, 01:26 PM - Forum: Software - Replies (1)

Hi All,
        Any idea if there is some plan to interface pulsepal with labview? Any code available? If we use LIFA it might be too slow. Any suggestions?

  Pulse gap
Posted by: NicolaS - 02-14-2017, 06:32 PM - Forum: Software - Replies (1)

I was measuring some signal delay between TTL and PWM sent from the same state matrix (basically a BNC + PWM pulse) with our new fancy oscilloscope (a PicoScope one), but I had some strange signals.
 Basically, if I use the protocol 

for currentTrial = 1:100; 
sma = NewStateMatrix();

sma = AddState(sma, 'Name', 'On2', ... 
    'Timer', .001,...
    'StateChangeConditions', {'Tup', 'exit'},...
    'OutputActions', {'BNCState', 1, 'PWM1', 255}); 

things works normally (see attached 001.jpg), but if i set the  'Timer' to .01 the train of signals has a huge gap after it starts (see attached 01.jpg). Note: gap position is not constant, in a few cases there were two of them. All 100 pulses are sent in every case.
 The same happened if I used two sma like

 sma = AddState(sma, 'Name', 'On2', ... 
    'Timer', .01,...
    'StateChangeConditions', {'Tup', 'pause'},...
    'OutputActions', {'BNCState', 1, 'PWM1', 255}); 

 sma = AddState(sma, 'Name', 'pause', ... 
     'Timer', .01,...
     'StateChangeConditions', {'Tup', 'exit'},...
     'OutputActions', {});

The same kind of gap was present also using Time values of .009, .005, .02, .03, .05 but not .002.
I also tried to send a single .001 pulse and then a .01 train but I had always the gap. Oddly, sending a first train of one hundred 0.1 pulse and then another equal ( the code was with a for currentTrial = 1:100 followed by a for currentTrial = 101:201), the gap was present only in the first chunk of signals.
 I updated the Bpod firmware to the last version (the Bpod_MainModule_0_6 from Github) but the situation was the same.
 Currently using Win10.
 Any idea about whats the issue?



Attached Files Thumbnail(s)