Loading...

Concepts

Concepts

Nodes

A Synapse device's capability is defined by the set of nodes it supports. Nodes come in a range of flavors: from Electrical Broadband to read from electrodes, or Optical Stimulation to write to light sources, to StreamOut to forward data to a multicast group. A full list of nodes can be found in the Node Reference.

Signal chain

By default, a Synapse device will do nothing when started. A data flow from signal sources to sink must be defined for the device to run.

Synapse allows users to construct these signal chains and compliant implementations will evaluate if a user-constructed signal chain is valid for a given device:

  • Are the nodes available on the device?
  • Do the nodes have sufficient bandwidth to be chained together?
  • Do all signal chains have a StreamIn or StreamOut node?

If a Synapse device receives an invalid configuration, the DeviceInfo status’s message and code fields will be updated with the relevant error message and code.

Device signal chains can be updated by calling device.configure(config) to update the underlying hardware to the current state of the signal chain. The term "configuration" may be used interchangeably with "signal chain" in these docs when the context is not otherwise ambiguous.

Peripherals

The physical devices that a node utilizes e.g. a neural recording or stimulation IC. Not every node type corresponds to a peripheral, though all of the broadband and stimulation nodes do. Nodes which map to peripherals require the peripheral ID to be specified at configuration time.