<?xml version="1.0"?>
<!--
###################################################
##Constellation Sink
###################################################
 -->
<block>
	<name>Constellation Sink</name>
	<key>wxgui_constellationsink2</key>
	<import>from gnuradio.wxgui import constsink_gl</import>
	<make>#set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self'
constsink_gl.const_sink_c(
	$(parent).GetWin(),
	title=$title,
	sample_rate=$samp_rate,
	frame_rate=$frame_rate,
	const_size=$const_size,
	M=$M,
	theta=$theta,
	alpha=$alpha,
	fmax=$fmax,
	mu=$mu,
	gain_mu=$gain_mu,
	symbol_rate=$symbol_rate,
	omega_limit=$omega_limit,
#if $win_size()
	size=$win_size,
#end if
)
#if not $grid_pos()
$(parent).Add(self.$(id).win)
#else
$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos()))))
#end if</make>
	<callback>set_sample_rate($samp_rate)</callback>
	<param>
		<name>Title</name>
		<key>title</key>
		<value>Constellation Plot</value>
		<type>string</type>
	</param>
	<param>
		<name>Sample Rate</name>
		<key>samp_rate</key>
		<value>samp_rate</value>
		<type>real</type>
	</param>
	<param>
		<name>Frame Rate</name>
		<key>frame_rate</key>
		<value>5</value>
		<type>real</type>
	</param>
	<param>
		<name>Constellation Size</name>
		<key>const_size</key>
		<value>2048</value>
		<type>real</type>
	</param>
	<param>
		<name>M</name>
		<key>M</key>
		<value>4</value>
		<type>int</type>
	</param>
	<param>
		<name>Theta</name>
		<key>theta</key>
		<value>0</value>
		<type>real</type>
	</param>
	<param>
		<name>Alpha</name>
		<key>alpha</key>
		<value>0.005</value>
		<type>real</type>
	</param>
	<param>
		<name>Max Freq</name>
		<key>fmax</key>
		<value>0.06</value>
		<type>real</type>
	</param>
	<param>
		<name>Mu</name>
		<key>mu</key>
		<value>0.5</value>
		<type>real</type>
	</param>
	<param>
		<name>Gain Mu</name>
		<key>gain_mu</key>
		<value>0.005</value>
		<type>real</type>
	</param>
	<param>
		<name>Symbol Rate</name>
		<key>symbol_rate</key>
		<value>samp_rate/4.</value>
		<type>real</type>
	</param>
	<param>
		<name>Omega Limit</name>
		<key>omega_limit</key>
		<value>0.005</value>
		<type>real</type>
	</param>
	<param>
		<name>Window Size</name>
		<key>win_size</key>
		<value></value>
		<type>int_vector</type>
		<hide>#if $win_size() then 'none' else 'part'#</hide>
	</param>
	<param>
		<name>Grid Position</name>
		<key>grid_pos</key>
		<value></value>
		<type>grid_pos</type>
	</param>
	<param>
		<name>Notebook</name>
		<key>notebook</key>
		<value></value>
		<type>notebook</type>
	</param>
	<check>not $win_size or len($win_size) == 2</check>
	<sink>
		<name>in</name>
		<type>complex</type>
	</sink>
	<doc>
Leave the window blank for the default size, otherwise enter a tuple of (width, height) pixels.

Use the Grid Position (row, column, row span, column span) to position the graphical element in the window.

Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page.
	</doc>
</block>