#ifndef IRFOX_SIMULATION_DATA_GENERATOR
#define IRFOX_SIMULATION_DATA_GENERATOR

#include <SimulationChannelDescriptor.h>

class IrFoxAnalyzerSettings;

class IrFoxSimulationDataGenerator
{
public:
	IrFoxSimulationDataGenerator();
	~IrFoxSimulationDataGenerator();

	void Initialize(U32 simulation_sample_rate, IrFoxAnalyzerSettings* settings);
	U32 GenerateSimulationData(U64 newest_sample_requested, U32 sample_rate, SimulationChannelDescriptor** simulation_channel);

protected:
	IrFoxAnalyzerSettings* mSettings;
	U32 mSimulationSampleRateHz;
	SimulationChannelDescriptor mIrSimulationData;

	void EmitIdle(U32 samples);
	void EmitLow(U32 samples);
	void EmitHigh(U32 samples);
};

#endif
