The mechanism I came up with was to make a very simple SpikeTrain artificial cell:
Code: Select all
NEURON {
ARTIFICIAL_CELL SpikeTrain
RANGE doSpike
}
BREAKPOINT {
if (doSpike > 0) {
net_send(0)
}
}
However, I found out that it is not possible to call net_send() from a BREAKPOINT block, only from INITIAL and NET_RECEIVE. Is there any other way to have a process check a certain condition at a specified interval (1ms would probably be accurate enough) and then still be able to send an event in response to this? I thought about having a net_send() in INITIAL and then another one in NET_RECEIVE (so the process would keep sending events to itself), but of course then any NetCons hooked up to this process would also continuously receive these events.
Or am I attempting to do this in a completely wrong way?