:Current Clamp NEURON { POINT_PROCESS trainIClamp RANGE del, PW, train, amp, freq, i, conv, pulsecount, onoff ELECTRODE_CURRENT i } UNITS { (na) = (nanoamp) } PARAMETER{ del (ms) PW (ms) train (ms) amp (na) freq (1/s) conv = 1000 (ms/s) pulsecount (s/s) onoff (s/s) } ASSIGNED { i (na) } INITIAL { LOCAL j,k pulsecount = 0 onoff = 0 : k = (train/conv)/freq :is this right?? k = (train/conv)*freq i = 0 FROM j = 0 TO k { at_time (del + (j*(conv/freq))) at_time (del + PW + (j*(conv/freq))) } at_time (del + train) } BREAKPOINT { if (t < del + train && t > del) { if (t > del + (pulsecount*(conv/freq)) && t < del + (pulsecount*(conv/freq)) + PW) { i = amp onoff = 1 } else { if (onoff == 0) { i = 0 } else { i = 0 pulsecount = pulsecount + 1 onoff = 0 } } } else { i = 0 pulsecount = 0 onoff = 0 } }