mirror of
				https://github.com/hyperion-project/hyperion.ng.git
				synced 2025-03-01 10:33:28 +00:00 
			
		
		
		
	* initial tpm2net rewrite - doesnt compile yet * new tpm2.net drive compiles. rename old tmp2net typos to tpm2net fixed compiler warning in ws2812b * added packetsize calculations and the end of frame character. Output looks good on tcpdump * removed old tpm2net driver renamed tpm2netnew to tpm2net
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#pragma once
 | 
						|
 | 
						|
// STL includes
 | 
						|
#include <string>
 | 
						|
 | 
						|
// hyperion includes
 | 
						|
#include "ProviderUdp.h"
 | 
						|
 | 
						|
#define TPM2_DEFAULT_PORT 65506
 | 
						|
 | 
						|
///
 | 
						|
/// Implementation of the LedDevice interface for sending led colors via udp/E1.31 packets
 | 
						|
///
 | 
						|
class LedDeviceTpm2net : public ProviderUdp
 | 
						|
{
 | 
						|
public:
 | 
						|
	///
 | 
						|
	/// Constructs specific LedDevice
 | 
						|
	///
 | 
						|
	/// @param deviceConfig json device config
 | 
						|
	///
 | 
						|
	LedDeviceTpm2net(const Json::Value &deviceConfig);
 | 
						|
 | 
						|
	///
 | 
						|
	/// Sets configuration
 | 
						|
	///
 | 
						|
	/// @param deviceConfig the json device config
 | 
						|
	/// @return true if success
 | 
						|
	bool setConfig(const Json::Value &deviceConfig);
 | 
						|
 | 
						|
	/// constructs leddevice
 | 
						|
	static LedDevice* construct(const Json::Value &deviceConfig);
 | 
						|
 | 
						|
 | 
						|
	///
 | 
						|
	/// Writes the led color values to the led-device
 | 
						|
	///
 | 
						|
	/// @param ledValues The color-value per led
 | 
						|
	/// @return Zero on succes else negative
 | 
						|
	///
 | 
						|
	virtual int write(const std::vector<ColorRgb> &ledValues);
 | 
						|
 | 
						|
	/// Switch the leds off
 | 
						|
	virtual int switchOff();
 | 
						|
 | 
						|
private:
 | 
						|
	int _tpm2_max;
 | 
						|
        int _tpm2ByteCount;
 | 
						|
        int _tpm2TotalPackets;
 | 
						|
        int _tpm2ThisPacket;
 | 
						|
};
 |