using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace skyscraper8.Docsis.AnnexC
{
	public class ChannelSubcarrierQamModulationSupport
	{
		public ChannelSubcarrierQamModulationSupport(byte a, byte b)
		{
			QPSK = (b & 0x04) != 0;
			_8QAM = (b & 0x08) != 0;
			_16QAM = (b & 0x10) != 0;
			_32QAM = (b & 0x20) != 0;
			_64QAM = (b & 0x40) != 0;
			_128QAM = (b & 0x80) != 0;
			_256QAM = (a & 0x01) != 0;
			_512QAM = (a & 0x02) != 0;
			_1024QAM = (a & 0x04) != 0;
			_2048QAM = (a & 0x08) != 0;
			_4096QAM = (a & 0x10) != 0;
			_8192QAM = (a & 0x20) != 0;
			_16384QAM = (a & 0x40) != 0;
		}

		public bool QPSK { get; }
		public bool _8QAM { get; }
		public bool _16QAM { get; }
		public bool _32QAM { get; }
		public bool _64QAM { get; }
		public bool _128QAM { get; }
		public bool _256QAM { get; }
		public bool _512QAM { get; }
		public bool _1024QAM { get; }
		public bool _2048QAM { get; }
		public bool _4096QAM { get; }
		public bool _8192QAM { get; }
		public bool _16384QAM { get; }
	}
}
