A script container for implementing arbitrary event driven or continuous algorithms.
A script may receive spike and/or vector input, and generates spikes and/or vectors for output. It can act in an event driven mode (processing spikes when they arrive), request mode (furnishing vectors when requested), timed mode (updated at a specified interval) or any combination of these.
The source of the script should be specified in the source field. It can be loaded and reloaded after modifications with the load_module and reload buttons. The activate_terminal option is not related to any particular script, and simply starts the jython interpreter on the terminal from which catacomb is running.
To work in event driven mode a script must include the following methods: setSpikeSender(spikeSender) mySpikeSender = spikeSender;
receiveSpike(timePoint, index) code to execute when a spike is received The first will be called by Catacomb to register the script's peer. This can then be used when the script module wishes to send spikes by calling: mySpikeSender.sendSpike(index) The time of the spike is filled in by the peer.
As yet (Dec 01) other modes of operation are not supported, but you can get a long way with just the above, since, for example, the periodic update functionality can be implemented by connecting a regular spike generator to the script.