ctn-waterloo/nengo_spinnaker — pull request #35 by mundya (2014-05-21 11:31:27+00:00)
Title: Spike Recording

__Depends on changes made in #32.__ [Hence the massive changelist!]

- Ensemble (C) code modified to record spikes as they occur.
- Spikes stored in a local buffer which is written to SDRAM at the end of each tick/update loop.
- `EnsembleVertex` turns on or off recording based on value of `record_spikes`. Region 15 is used for spike recording.
- `Builder` identifies when an Ensemble is being probed and sets the flag appropriately.
- Instantiates an object which is passed to the `Simulator` and is responsible for returning the probed data in an appropriate format.
- When simulation is complete the `Simulator` calls on each probe to return data. Data is stored in a dictionary under the simulator.
- Project depends on [bitarray](https://pypi.python.org/pypi/bitarray/0.8.0) for processing recorded spikes.

Example:
```python
# ... model built ...
sim.run(1.)

# Get data out
spikes = sim.data[probe] # `spikes` is a list of lists of neuron numbers
# which fired in each timestep
```