class NRPSpinnakerProxy

Overview

#include <spinnaker_proxy.h>

class NRPSpinnakerProxy:
    private SpikeReceiveCallbackInterface,
    private SpikesStartCallbackInterface,
    private PayloadReceiveCallbackInterface {
public:
    // construction

    NRPSpinnakerProxy(const NRPSpinnakerProxy&);
    NRPSpinnakerProxy(NRPSpinnakerProxy&&);

    // methods

    NRPSpinnakerProxy& operator = (const NRPSpinnakerProxy&);
    NRPSpinnakerProxy& operator = (NRPSpinnakerProxy&&);
    void startSpinnaker();
    void spikes_start(char* label, SpynnakerLiveSpikesConnection* connection);
    void runSpinnaker();
    void stopSpinnaker();
    void addSender(std::string& label);

    void addReceiver(
        std::string& label,
        SpiNNakerJsonReceiveCallbackInterface* callback
    );

    void send(std::string& label, const nlohmann::json* data);
    void receive_spikes(char* label, int time, int n_spikes, int* spikes);
    void receive_payloads(char* label, int n_payloads, payload_details* payloads);
    static NRPSpinnakerProxy& getInstance();
    static NRPSpinnakerProxy& resetInstance();
};

Detailed Documentation

Methods

static NRPSpinnakerProxy& getInstance()

Get singleton instance of NRPSpinnakerProxy.

static NRPSpinnakerProxy& resetInstance()

Reset singleton instance.