Skip to content
Snippets Groups Projects
Select Git revision
  • 1e67c0d88ce4ba5f9918bbba36ac6fb3e83ec76e
  • 5.4 default protected
  • dev/5.4
  • dev/5.3_downgrade
  • dev/5.5
  • 5.3 protected
  • feature/present_barrier
7 results

RWTHVRCluster.cpp

Blame
  • multiplexers.h 719 B
    #pragma once
    
    #include <eismultiplexer.h>
    #include <vector>
    #include <mutex>
    #include <memory>
    
    #include "log.h"
    
    class Multiplexers
    {
    private:
    
    	static constexpr int CH_PER_DEVICE = 7;
    
    	struct Device
    	{
    		eismultiplexer device;
    		std::unique_ptr<std::mutex> mutex;
    	};
    
    	std::vector<Device> devices;
    
    	static channel_t chNumberToCh(int ch);
    
    
    public:
    	Multiplexers(const std::vector<uint16_t> serials);
    	bool connectAll();
    	bool disconnectAll();
    	bool setCh(int ch, bool connected);
    	bool setChExlusive(int ch, bool connected);
    	std::pair<size_t, channel_t> getAddress(int ch) const;
    	size_t chCount();
    	std::vector<bool> getConnected();
    	bool log(Log::Level level);
    
    	static std::string chToString(channel_t ch);
    };