rzellertownson / neurorighter

Closed Loop, Open Source Electrophysiology
6 stars 5 forks source link

Stimulation in past not handled properly in NROutputBuffer #44

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Make a closed loop protocol
2. Set the Output loop time down to 1 msec or so
3. Run it, and wait for a 'failure' in which stimuli are scheduled in past.

What is the expected output? What do you see instead?

I expect the system to either ignore these stimuli or schedule them at the next 
available time point (probably the first). However, the system reports that it 
has detected a bad stimulus time and then seems to zero the output.

This is OK for stimulation (maybe) but not for digital and analog outputs in 
which the state of the port or channel should simply maintain the value it had 
before the stimulation occured. 

For example, here are a list of digital port states during one of these 
failures. Small number is the unit (enoded digitally) and large number is the 
spike time of that unit). 

    15222400
          71
    15257766
          84
    15263881
          84
    15265666
          84
    15266182
          84
    15268450
           0
          71
           0
    15283499
           0
          71
           0
    15305708
           0
          71
           0
    15307004
           0
          71
           0
    15376682
           0
          71
           0
    15437986

I never asked the digital port to send a 0. However they started showing up 
when anti-causal stimuli were scheduled. This means that the default behavior 
of the output buffer is to zero the port in this case which is bad.

Original issue reported on code.google.com by jonathan...@gmail.com on 24 Mar 2012 at 6:33

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by jonathan...@gmail.com on 8 Nov 2012 at 3:49