public interface Encoder extends Resettable
Each Encoder is allowed to register one or more own Nengo Terminations. Encoder registers own Termination to own parent (NeuralModule). This means that NeuralModule is responsible for correct order of running the components: first run all the registered Terminations, then run all Encoders.
Encoder should:
Modifier and Type | Method and Description |
---|---|
int |
getDimensions()
Get dimensions of this encoder.
|
MultiTermination |
getMultiTermination()
Return own MultiTermination, this allows user to add new Terminations
to it.
|
java.lang.String |
getName()
Return the name of Encoder, this name corresponds
to ROS Topic on which the messages are published and
is used to generate names for own Terminations.
|
NeuralModule |
getParent()
Get the parent of Encoder
|
void |
run(float startTime,
float endTime)
Run encoder for a given time, that is
Combine values on all my Terminations
Encode the result into the ROS message
Publish the ROS message on a topic which corresponds
to the name of Encoder
Note that parent NeuralModule is responsible for running all
Terminations before running Encoders, so that Terminations
contain new values while calling this method.
|
reset
NeuralModule getParent()
java.lang.String getName()
int getDimensions()
void run(float startTime, float endTime) throws SimulationException
startTime
- endTime
- SimulationException
MultiTermination getMultiTermination() throws StructuralException
StructuralException