renamed project
This commit is contained in:
@@ -73,7 +73,7 @@ namespace uartTestGUI
|
||||
}
|
||||
|
||||
|
||||
private void w0_send_button_Click(object sender, EventArgs e)
|
||||
private void send_button_w1_Click(object sender, EventArgs e)
|
||||
{
|
||||
send_button_w1.Text = "Loading...";
|
||||
send_button_w1.BackColor = Color.LightGreen;
|
||||
@@ -104,7 +104,7 @@ namespace uartTestGUI
|
||||
Set_ScaleFactor(1, scale_factor, iq_swap_w1.Checked);
|
||||
|
||||
ssh_WriteReg("0x83000028", "00000000");// phase_off_1
|
||||
dds_reg28.Text = "0x00000000";
|
||||
dds_reg28.Text = "00000000";
|
||||
|
||||
send_button_w1.Text = "Load";
|
||||
send_button_w1.BackColor = Color.Gainsboro;
|
||||
@@ -195,16 +195,17 @@ namespace uartTestGUI
|
||||
// send_button_w1.Text = "Send";
|
||||
|
||||
ssh_WriteReg("0x83000004", "0x00000000"); // set bit0 - 0 = RF On
|
||||
dds_reg04.Text = ssh_ReadReg("0x83000004");
|
||||
|
||||
dac_off.BackColor = Color.LightGray;
|
||||
dac_on.BackColor = Color.LightGreen;
|
||||
system_status.BackColor = Color.LightGreen;
|
||||
if (tx_fiber_adcs_src.Checked == true)
|
||||
if (tx_fiber_data_src_adc.Checked == true)
|
||||
{
|
||||
system_status.Text = "ARMED";
|
||||
|
||||
}
|
||||
else if (tx_fiber_dds_src.Checked == true)
|
||||
else if (tx_fiber_data_src_dds.Checked == true)
|
||||
{
|
||||
system_status.Text = "ARMED";
|
||||
}
|
||||
@@ -217,6 +218,7 @@ namespace uartTestGUI
|
||||
// send_button_w1.Text = "Load";
|
||||
|
||||
ssh_WriteReg("0x83000004", "0x00000001"); // set bit0 - 1 = RF Off
|
||||
dds_reg04.Text = ssh_ReadReg("0x83000004");
|
||||
|
||||
system_status.Text = "OFF";
|
||||
dac_on.BackColor = Color.LightGray;
|
||||
@@ -225,33 +227,33 @@ namespace uartTestGUI
|
||||
system_on = false;
|
||||
}
|
||||
|
||||
private void chirp_w0_Click(object sender, EventArgs e)
|
||||
private void chirp_w1_Click(object sender, EventArgs e)
|
||||
{
|
||||
end_freq_w1.ReadOnly = false;
|
||||
}
|
||||
|
||||
private void cw_w0_Click(object sender, EventArgs e)
|
||||
private void cw_w1_Click(object sender, EventArgs e)
|
||||
{
|
||||
end_freq_w1.ReadOnly = true;
|
||||
}
|
||||
|
||||
private void chirp_w1_Click(object sender, EventArgs e)
|
||||
private void chirp_w2_Click(object sender, EventArgs e)
|
||||
{
|
||||
end_freq_w2.ReadOnly = false;
|
||||
}
|
||||
|
||||
private void cw_w1_Click(object sender, EventArgs e)
|
||||
private void cw_w2_Click(object sender, EventArgs e)
|
||||
{
|
||||
end_freq_w2.ReadOnly = true;
|
||||
}
|
||||
|
||||
|
||||
private void chirp_w2_Click(object sender, EventArgs e)
|
||||
private void chirp_w3_Click(object sender, EventArgs e)
|
||||
{
|
||||
end_freq_w3.ReadOnly = false;
|
||||
}
|
||||
|
||||
private void cw_w2_Click(object sender, EventArgs e)
|
||||
private void cw_w3_Click(object sender, EventArgs e)
|
||||
{
|
||||
end_freq_w3.ReadOnly = true;
|
||||
}
|
||||
@@ -507,11 +509,11 @@ namespace uartTestGUI
|
||||
}
|
||||
|
||||
|
||||
private void chirp_w3_Click(object sender, EventArgs e)
|
||||
private void chirp_w4_Click(object sender, EventArgs e)
|
||||
{
|
||||
end_freq_w4.ReadOnly = false;
|
||||
}
|
||||
private void cw_w3_Click(object sender, EventArgs e)
|
||||
private void cw_w4_Click(object sender, EventArgs e)
|
||||
{
|
||||
end_freq_w4.ReadOnly = true;
|
||||
}
|
||||
@@ -853,11 +855,12 @@ namespace uartTestGUI
|
||||
str1 = "devmem " + addr;
|
||||
Console.WriteLine("ssh_ReadReg(): Command: " + str1);
|
||||
// Console.WriteLine(str1);
|
||||
toolStripStatusLabel1.Text = "ssh_ReadReg(): Command: " + str1;
|
||||
|
||||
|
||||
cmd = ssh_client.RunCommand(str1);
|
||||
cmd = ssh_client.RunCommand(str1);
|
||||
str = cmd.Result;
|
||||
Console.WriteLine("ssh_ReadReg(): Response:" + str);
|
||||
toolStripStatusLabel1.Text = "ssh_ReadReg(): Response:" + str;
|
||||
// Console.WriteLine(str);
|
||||
return str.Substring(2, 8);
|
||||
}
|
||||
@@ -873,11 +876,13 @@ namespace uartTestGUI
|
||||
{
|
||||
str = "devmem " + addr + " 32 " + val;
|
||||
Console.WriteLine("ssh_WriteReg(): Command:" + str);
|
||||
toolStripStatusLabel1.Text = "ssh_ReadReg(): Response:" + str;
|
||||
// Console.WriteLine(str); // Get the command output
|
||||
|
||||
cmd = ssh_client.RunCommand(str);// Execute a command
|
||||
|
||||
Console.WriteLine("ssh_WriteReg(): Response:" + cmd.Result);
|
||||
toolStripStatusLabel1.Text = "ssh_WriteReg(): Response:" + cmd.Result;
|
||||
// Console.WriteLine(cmd.Result); // Get the command output
|
||||
}
|
||||
}
|
||||
@@ -905,8 +910,7 @@ namespace uartTestGUI
|
||||
|
||||
read_all_regs.PerformClick();
|
||||
// reg00.Text = ssh_ReadReg("0x80000000");
|
||||
// cmac_0_reg_0x124.Text = ssh_ReadReg("0x81010024");
|
||||
// cmac_4_reg_0x124.Text = ssh_ReadReg("0x82010024");
|
||||
cmac_0_reg_0x10024.Text = ssh_ReadReg("0x84010024");
|
||||
ssh_connect.Text = "Connected";
|
||||
|
||||
// ssh_client.Disconnect();
|
||||
@@ -942,7 +946,7 @@ namespace uartTestGUI
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
cntrl_reg28 &= 0xFFFF_FCFF; // bit9:8 = 00 <= quadsendrecv
|
||||
cntrl_reg28 &= 0xFFFF_F8FF; // bit10:8 = "000" <= quadsendrecv
|
||||
|
||||
ssh_WriteReg("0x80000028", "0x" + cntrl_reg28.ToString("X8"));
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
@@ -952,9 +956,8 @@ namespace uartTestGUI
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
cntrl_reg28 &= 0xFFFF_FCFF; //
|
||||
|
||||
cntrl_reg28 |= 0x300; // bit9:8 = 1 <= QSFP
|
||||
cntrl_reg28 &= 0xFFFF_F8FF; // bit10:8
|
||||
cntrl_reg28 |= 0x300; // bit10:8 = "011" <= DDS
|
||||
|
||||
ssh_WriteReg("0x80000028", "0x" + cntrl_reg28.ToString("X8"));
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
@@ -964,9 +967,8 @@ namespace uartTestGUI
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
cntrl_reg28 &= 0xFFFF_FCFF; //
|
||||
|
||||
cntrl_reg28 |= 0x200; // bit9:8 = 1 <= DDS
|
||||
cntrl_reg28 &= 0xFFFF_F8FF; // // bit10:8
|
||||
cntrl_reg28 |= 0x200; // bit10:8 = "010" <= ADC loopack
|
||||
|
||||
ssh_WriteReg("0x80000028", "0x" + cntrl_reg28.ToString("X8"));
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
@@ -976,9 +978,19 @@ namespace uartTestGUI
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
cntrl_reg28 &= 0xFFFF_FCFF; //
|
||||
cntrl_reg28 &= 0xFFFF_F8FF; // bit10:8
|
||||
cntrl_reg28 |= 0x100; // bit10:8 = "001" <= fiber
|
||||
|
||||
cntrl_reg28 |= 0x100; // bit9:8 = 1 <= fiber
|
||||
ssh_WriteReg("0x80000028", "0x" + cntrl_reg28.ToString("X8"));
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
}
|
||||
|
||||
private void dac_data_src_cmac_Click(object sender, EventArgs e)
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
cntrl_reg28 &= 0xFFFF_F8FF; // bit10:8
|
||||
cntrl_reg28 |= 0x400; // bit10:8 = "100" <= fiber
|
||||
|
||||
ssh_WriteReg("0x80000028", "0x" + cntrl_reg28.ToString("X8"));
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
@@ -988,8 +1000,6 @@ namespace uartTestGUI
|
||||
{
|
||||
if (true == ssh_client.IsConnected)
|
||||
{
|
||||
string str;
|
||||
|
||||
reg00.Text = "";
|
||||
reg04.Text = "";
|
||||
reg14.Text = "";
|
||||
@@ -1011,9 +1021,8 @@ namespace uartTestGUI
|
||||
|
||||
reg00.Text = ssh_ReadReg("0x80000000");
|
||||
//
|
||||
str = ssh_ReadReg("0x80000004");
|
||||
uint val = (Convert.ToUInt32(str, 16));
|
||||
reg04.Text = str;
|
||||
reg04.Text = ssh_ReadReg("0x80000004");
|
||||
uint val = (Convert.ToUInt32(reg04.Text, 16));
|
||||
//
|
||||
if (0x1 == (val & 0x01))
|
||||
{
|
||||
@@ -1125,28 +1134,44 @@ namespace uartTestGUI
|
||||
|
||||
|
||||
reg14.Text = ssh_ReadReg("0x80000014");
|
||||
|
||||
reg20.Text = ssh_ReadReg("0x80000020");
|
||||
val = (Convert.ToUInt32(reg20.Text, 16));
|
||||
if (0xCAFE == val)
|
||||
{
|
||||
// CMAC already init'ed
|
||||
cmac_init.Text = "CMACs Initialized";
|
||||
cmac_init.BackColor = Color.LightGreen;
|
||||
cmac_read_all_regs.PerformClick();
|
||||
}
|
||||
else
|
||||
{
|
||||
cmac_init.Text = "CMAC_Init";
|
||||
cmac_init.BackColor = Color.Gainsboro;
|
||||
}
|
||||
|
||||
str = ssh_ReadReg("0x80000028");
|
||||
val = (Convert.ToUInt32(str, 16));
|
||||
reg28.Text = str;
|
||||
|
||||
if (0 == (val & 0x300)) // bit9:8 dac_src_data_sel
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
val = (Convert.ToUInt32(reg28.Text, 16));
|
||||
if (0 == (val & 0x700)) // bit9:8 dac_src_data_sel
|
||||
{
|
||||
dac_data_src_quadsend_rcv.Checked = true;
|
||||
}
|
||||
else if (0x100 == (val & 0x300))
|
||||
else if (0x100 == (val & 0x700))
|
||||
{
|
||||
dac_data_src_fiber.Checked = true;
|
||||
}
|
||||
else if (0x200 == (val & 0x300))
|
||||
else if (0x200 == (val & 0x700))
|
||||
{
|
||||
dac_data_src_adc_chan0_loopback.Checked = true;
|
||||
}
|
||||
else if (0x300 == (val & 0x300))
|
||||
else if (0x300 == (val & 0x700))
|
||||
{
|
||||
dac_data_src_dds_pulse_gen.Checked = true;
|
||||
}
|
||||
else if (0x400 == (val & 0x700))
|
||||
{
|
||||
dac_data_src_cmac.Checked = true;
|
||||
}
|
||||
|
||||
if (0 == (val & 0x8000_0000)) // bit31 qsfp4_playback_path_data_enable_n
|
||||
{
|
||||
@@ -1168,25 +1193,44 @@ namespace uartTestGUI
|
||||
|
||||
if (0 == (val & 0x0000_0001)) // bit0 fiber_tx_src_data_sel
|
||||
{
|
||||
tx_fiber_adcs_src.Checked = true;
|
||||
tx_fiber_data_src_adc.Checked = true;
|
||||
}
|
||||
else if (0x0000_0001 == (val & 0x0000_0001))
|
||||
{
|
||||
tx_fiber_dds_src.Checked = true;
|
||||
tx_fiber_data_src_dds.Checked = true;
|
||||
}
|
||||
|
||||
if (0 == (val & 0x0000_1000)) // bit12 chan1to4_mode_sel
|
||||
{
|
||||
adc_llopback_mode_chan_all.Checked = true;
|
||||
adc_loopback_mode_chan_all.Checked = true;
|
||||
}
|
||||
else if (0x0000_1000 == (val & 0x0000_1000))
|
||||
{
|
||||
adc_llopback_mode_chan_0.Checked = true;
|
||||
adc_loopback_mode_chan_0.Checked = true;
|
||||
}
|
||||
|
||||
|
||||
if (0 == (val & 0x3000_0000)) // bit29:28 = "00" <= cmac disabled
|
||||
{
|
||||
cmac_disable.Checked = true;
|
||||
}
|
||||
else if (0x1000_0000 == (val & 0x3000_0000))// bit29:28 = "01" <= Tx enable
|
||||
{
|
||||
cmac_tx_en.Checked = true;
|
||||
}
|
||||
else if (0x2000_0000 == (val & 0x3000_0000))// bit29:28 = "10" <= Rx enable
|
||||
{
|
||||
cmac_rx_en.Checked = true;
|
||||
}
|
||||
else if (0x3000_0000 == (val & 0x3000_0000))// bit29:28 = "11" <= Rx and Tx enable
|
||||
{
|
||||
cmac_rxtx_en.Checked = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//clk125
|
||||
str = ssh_ReadReg("0x80000044");
|
||||
String str = ssh_ReadReg("0x80000044");
|
||||
val = (Convert.ToUInt32(str, 16));
|
||||
reg44.Text = val.ToString("D");
|
||||
|
||||
@@ -1224,7 +1268,7 @@ namespace uartTestGUI
|
||||
regE0.Text = ssh_ReadReg("0x800000E0");
|
||||
regF0.Text = ssh_ReadReg("0x800000F0");
|
||||
|
||||
dds_reg_dump();
|
||||
// dds_reg_dump();
|
||||
|
||||
|
||||
}
|
||||
@@ -1237,9 +1281,8 @@ namespace uartTestGUI
|
||||
dds_reg08.Text = ssh_ReadReg("0x83000008");
|
||||
dds_reg0C.Text = ssh_ReadReg("0x8300000C");
|
||||
|
||||
string str = ssh_ReadReg("0x83000004");
|
||||
uint val = (Convert.ToUInt32(str, 16));
|
||||
dds_reg04.Text = str;
|
||||
dds_reg04.Text = ssh_ReadReg("0x83000004");
|
||||
uint val = (Convert.ToUInt32(dds_reg04.Text, 16));
|
||||
|
||||
if (1 == (val & 0x1))
|
||||
{
|
||||
@@ -1267,20 +1310,21 @@ namespace uartTestGUI
|
||||
|
||||
private void dds_cnt_reset_Click(object sender, EventArgs e)
|
||||
{
|
||||
ssh_WriteReg("0x8300000C", "0x00000001"); //bit 0
|
||||
ssh_WriteReg("0x8300000C", "0x00000000");
|
||||
dds_reg0C.Text = ssh_ReadReg("0x8300000C");
|
||||
uint cntrl_reg = (Convert.ToUInt32(dds_reg0C.Text, 16));
|
||||
cntrl_reg |= 0x0000_0001; // bit0: 1 <= reset
|
||||
ssh_WriteReg("0x8300000C", "0x" + cntrl_reg.ToString("X8"));
|
||||
|
||||
dds_reg0C.Text = ssh_ReadReg("0x8300000C");
|
||||
cntrl_reg = (Convert.ToUInt32(dds_reg0C.Text, 16));
|
||||
cntrl_reg &= 0xFFFF_FFFE; // bit0: 0 <= normal
|
||||
|
||||
ssh_WriteReg("0x8300000C", "0x" + cntrl_reg.ToString("X8"));
|
||||
dds_reg0C.Text = ssh_ReadReg("0x8300000C");
|
||||
}
|
||||
|
||||
private void button1_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
dds_reg_dump();
|
||||
}
|
||||
|
||||
private void button2_Click(object sender, EventArgs e)
|
||||
{
|
||||
ssh_WriteReg("0x80000020", "0x80000000"); // set bit31
|
||||
ssh_WriteReg("0x80000020", "0x00000000");
|
||||
}
|
||||
|
||||
|
||||
private void button3_Click(object sender, EventArgs e)
|
||||
{
|
||||
@@ -1337,7 +1381,7 @@ namespace uartTestGUI
|
||||
|
||||
}
|
||||
|
||||
private void button4_Click(object sender, EventArgs e)
|
||||
private void dds_send_w1_Click(object sender, EventArgs e)
|
||||
{
|
||||
dds_send_w1.Text = "Sending...";
|
||||
dds_send_w1.BackColor = Color.LightGreen;
|
||||
@@ -1393,7 +1437,7 @@ namespace uartTestGUI
|
||||
Set_ScaleFactor(2, scale_factor, iq_swap_w2.Checked);
|
||||
|
||||
ssh_WriteReg("0x83000048", "00000000");// phase_off_2
|
||||
dds_reg48.Text = "0x00000000";
|
||||
dds_reg48.Text = "00000000";
|
||||
|
||||
send_button_w2.Text = "Load";
|
||||
send_button_w2.BackColor = Color.Gainsboro;
|
||||
@@ -1431,7 +1475,7 @@ namespace uartTestGUI
|
||||
Set_ScaleFactor(3, scale_factor, iq_swap_w3.Checked);
|
||||
|
||||
ssh_WriteReg("0x83000068", "00000000");// phase_off_3
|
||||
dds_reg68.Text = "0x00000000";
|
||||
dds_reg68.Text = "00000000";
|
||||
|
||||
send_button_w3.Text = "Load";
|
||||
send_button_w3.BackColor = Color.Gainsboro;
|
||||
@@ -1469,7 +1513,7 @@ namespace uartTestGUI
|
||||
Set_ScaleFactor(4, scale_factor, iq_swap_w4.Checked);
|
||||
|
||||
ssh_WriteReg("0x83000088", "00000000");// phase_off_4
|
||||
dds_reg88.Text = "0x00000000";
|
||||
dds_reg88.Text = "00000000";
|
||||
|
||||
send_button_w4.Text = "Load";
|
||||
send_button_w4.BackColor = Color.Gainsboro;
|
||||
@@ -1521,12 +1565,7 @@ namespace uartTestGUI
|
||||
|
||||
private void tx_fiber_dds_src_Click(object sender, EventArgs e)
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
cntrl_reg28 |= 0x1; // bit0 0=ADCs, 1=DDS
|
||||
|
||||
ssh_WriteReg("0x80000028", "0x" + cntrl_reg28.ToString("X8"));
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
}
|
||||
|
||||
private void tx_fiber_data_on_Click(object sender, EventArgs e)
|
||||
@@ -1612,7 +1651,7 @@ namespace uartTestGUI
|
||||
regC4_1.Text = ssh_ReadReg("0x800000C4");
|
||||
}
|
||||
|
||||
private void adc_llopback_mode_chan_0_Click(object sender, EventArgs e)
|
||||
private void adc_loopback_mode_chan_0_Click(object sender, EventArgs e)
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
@@ -1622,7 +1661,7 @@ namespace uartTestGUI
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
}
|
||||
|
||||
private void adc_llopback_mode_chan_all_Click(object sender, EventArgs e)
|
||||
private void adc_loopback_mode_chan_all_Click(object sender, EventArgs e)
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
@@ -1638,5 +1677,309 @@ namespace uartTestGUI
|
||||
Thread.Sleep(500);
|
||||
reg28.BackColor = Color.White;
|
||||
}
|
||||
|
||||
private void cmac_init_Click(object sender, EventArgs e)
|
||||
{
|
||||
cmac_init.Text = "CMAC_1 Initializing...";
|
||||
// GT_RESET - CMAC_1 - self clearing
|
||||
ssh_WriteReg("0x84010000", "0x1");
|
||||
cmac_0_reg_0x10000.Text = ssh_ReadReg("0x84010000");
|
||||
// RESET - reset all logic
|
||||
ssh_WriteReg("0x84010004", "0xFFFFFFFF");
|
||||
cmac_0_reg_0x10004.Text = ssh_ReadReg("0x84010004");
|
||||
|
||||
// await Task.Run(() =>
|
||||
// {
|
||||
// Sleep 5
|
||||
Thread.Sleep(5000);
|
||||
// });
|
||||
|
||||
// release RESET - CMAC_1
|
||||
ssh_WriteReg("0x84010004", "0x0");
|
||||
cmac_0_reg_0x10004.Text = ssh_ReadReg("0x84010004");
|
||||
|
||||
// CONFIGURATION_TX_FLOW_CONTROL_REFRESH_REG5
|
||||
// bits 15:0 - ctl_tx_pause_refresh_timer8
|
||||
ssh_WriteReg("0x84010044", "0x0000FFFF");
|
||||
cmac_0_reg_0x10044.Text = ssh_ReadReg("0x84010044");
|
||||
|
||||
// CONFIGURATION_TX_FLOW_CONTROL_QUANTA_REG5
|
||||
// bit 15:0 - ctl_tx_pause_quanta8
|
||||
ssh_WriteReg("0x84010058", "0x0000FFFF");
|
||||
cmac_0_reg_0x10058.Text = ssh_ReadReg("0x84010058");
|
||||
|
||||
// CONFIGURATION_TX_FLOW_CONTROL_CONTROL_REG1
|
||||
// bits 8:0 - ctl_tx_pause_enable
|
||||
ssh_WriteReg("0x84010030", "0x00000100");
|
||||
cmac_0_reg_0x10030.Text = ssh_ReadReg("0x84010030");
|
||||
|
||||
// CONFIGURATION_RX_FLOW_CONTROL_CONTROL_REG1
|
||||
// bit12 - ctl_rx_enable_gpp, bit10 - ctl_rx_enable_gcp bit8 - ctl_rx_pause_enable
|
||||
ssh_WriteReg("0x84010084", "0x00001500");
|
||||
cmac_0_reg_0x10084.Text = ssh_ReadReg("0x84010084");
|
||||
|
||||
// CONFIGURATION_RX_FLOW_CONTROL_CONTROL_REG2
|
||||
// bits 31:0 - ctl_rx_check....
|
||||
ssh_WriteReg("0x84010088", "0x00007C1F");
|
||||
cmac_0_reg_0x10088.Text = ssh_ReadReg("0x84010088");
|
||||
|
||||
//#:: LOOPBACK MODE
|
||||
//#:: 1=LB, 0=No LB
|
||||
ssh_WriteReg("0x84010090", "0x0");
|
||||
cmac_0_reg_0x10090.Text = ssh_ReadReg("0x84010090");
|
||||
|
||||
//#:: TX ENABLE
|
||||
//#:: offset 0xC
|
||||
//#:: Set bit(0) to 1 to enable, do not modify other bits
|
||||
ssh_WriteReg("0x8401000C", "0x1");
|
||||
cmac_0_reg_0x1000C.Text = ssh_ReadReg("0x8401000C");
|
||||
|
||||
//#:: RX ENABLE
|
||||
//#:: offset 0x14
|
||||
//#:: Set bit(0) to 1 to enable, do not modify other bits
|
||||
ssh_WriteReg("0x84010014", "0x1");
|
||||
cmac_0_reg_0x10014.Text = ssh_ReadReg("0x84010014");
|
||||
|
||||
//#:: Set Destination MAC address
|
||||
//#:: Broadcast (not multicast, but accepted everywhere): FF:FF:FF:FF:FF:FF
|
||||
//#:: IPv4 multicast (All-hosts group): 01:00:5E:00:00:01
|
||||
//#:: IPv6 multicast (All-nodes group): 33:33:00:00:00:01
|
||||
ssh_WriteReg("0x84000000", "0x5E000001");
|
||||
cmac_0_reg_0x00.Text = ssh_ReadReg("0x84000000");
|
||||
|
||||
ssh_WriteReg("0x84000004", "0x00000100");
|
||||
cmac_0_reg_0x04.Text = ssh_ReadReg("0x84000004");
|
||||
|
||||
//#:: Set Source MAC address 02:00:00:00:00:01
|
||||
ssh_WriteReg("0x84000008", "0x00000001");
|
||||
cmac_0_reg_0x08.Text = ssh_ReadReg("0x84000008");
|
||||
ssh_WriteReg("0x8400000C", "0x00000200");
|
||||
cmac_0_reg_0x0C.Text = ssh_ReadReg("0x8400000C");
|
||||
|
||||
//#:: Set EtherType
|
||||
//#:: 0x88B5 – IEEE “local/experimental” Ethertype (commonly used for custom payloads)
|
||||
//#:: 0x0800 – IPv4 (often whitelisted by other stacks, even if the payload isn’t fully IP)
|
||||
ssh_WriteReg("0x84000010", "0x000088B5");
|
||||
cmac_0_reg_0x10.Text = ssh_ReadReg("0x84000010");
|
||||
|
||||
|
||||
// PROG_FULL_MANUAL_MODE - 0x14
|
||||
ssh_WriteReg("0x84000014", "0x00000000"); //0 =OFF
|
||||
cmac_0_reg_0x14.Text = ssh_ReadReg("0x84000014");
|
||||
|
||||
// PROG_FULL_ON_THRESH - 0x18
|
||||
ssh_WriteReg("0x84000018", "0x00000300"); //256
|
||||
cmac_0_reg_0x18.Text = ssh_ReadReg("0x84000018");
|
||||
//PROG_FULL_OFF_THRESH - 0x1C
|
||||
ssh_WriteReg("0x8400001C", "0x00000100"); //768
|
||||
cmac_0_reg_0x1C.Text = ssh_ReadReg("0x8400001C");
|
||||
|
||||
|
||||
cmac_init.Text = "CMACs Initialized";
|
||||
cmac_init.BackColor = Color.LightGreen;
|
||||
cmac_read_all_regs.PerformClick();
|
||||
ssh_WriteReg("0x80000020", "0xCAFE"); // init flag
|
||||
}
|
||||
|
||||
private void cmac_rx_en_Click(object sender, EventArgs e)
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
cntrl_reg28 &= 0xCFFF_FFFF; // bit29:28 = "00" <= cmac disabled
|
||||
|
||||
cntrl_reg28 |= 0x2000_0000; // bit29:28 = "10" <= Rx Only enable
|
||||
|
||||
ssh_WriteReg("0x80000028", "0x" + cntrl_reg28.ToString("X8"));
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
}
|
||||
|
||||
private void cmac_tx_en_Click(object sender, EventArgs e)
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
cntrl_reg28 &= 0xCFFF_FFFF; // bit29:28 = "00" <= cmac disabled
|
||||
|
||||
cntrl_reg28 |= 0x1000_0000; // bit29:28 = "01" <= Tx enable
|
||||
|
||||
ssh_WriteReg("0x80000028", "0x" + cntrl_reg28.ToString("X8"));
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
}
|
||||
|
||||
private void cmac_rxtx_en_Click(object sender, EventArgs e)
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
cntrl_reg28 &= 0xCFFF_FFFF; // bit29:28 = "00" <= cmac disabled
|
||||
|
||||
cntrl_reg28 |= 0x3000_0000; // bit29:28 = "11" <= Rx and Tx enable
|
||||
|
||||
ssh_WriteReg("0x80000028", "0x" + cntrl_reg28.ToString("X8"));
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
}
|
||||
|
||||
private void cmac_disable_Click(object sender, EventArgs e)
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
cntrl_reg28 &= 0xCFFF_FFFF; // bit29:28 = "00" <= cmac disabled
|
||||
|
||||
ssh_WriteReg("0x80000028", "0x" + cntrl_reg28.ToString("X8"));
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
}
|
||||
|
||||
|
||||
private void cmac_read_all_regs_Click(object sender, EventArgs e)
|
||||
{
|
||||
cmac_0_RegDump();
|
||||
}
|
||||
|
||||
private void cmac_0_RegDump()
|
||||
{
|
||||
if (true == ssh_client.IsConnected)
|
||||
{
|
||||
|
||||
cmac_0_reg_0x10000.Text = "";
|
||||
cmac_0_reg_0x10004.Text = "";
|
||||
cmac_0_reg_0x1000C.Text = "";
|
||||
cmac_0_reg_0x10014.Text = "";
|
||||
cmac_0_reg_0x10024.Text = "";
|
||||
cmac_0_reg_0x10090.Text = "";
|
||||
cmac_0_reg_0x10030.Text = "";
|
||||
cmac_0_reg_0x10058.Text = "";
|
||||
cmac_0_reg_0x10044.Text = "";
|
||||
cmac_0_reg_0x10084.Text = "";
|
||||
cmac_0_reg_0x10088.Text = "";
|
||||
|
||||
cmac_0_reg_0x00.Text = "";
|
||||
cmac_0_reg_0x04.Text = "";
|
||||
cmac_0_reg_0x08.Text = "";
|
||||
cmac_0_reg_0x0C.Text = "";
|
||||
cmac_0_reg_0x10.Text = "";
|
||||
cmac_0_reg_0x14.Text = "";
|
||||
cmac_0_reg_0x18.Text = "";
|
||||
cmac_0_reg_0x1C.Text = "";
|
||||
|
||||
cmac_0_reg_0x10000.Text = ssh_ReadReg("0x84010000");
|
||||
cmac_0_reg_0x10004.Text = ssh_ReadReg("0x84010004");
|
||||
cmac_0_reg_0x1000C.Text = ssh_ReadReg("0x8401000C");
|
||||
cmac_0_reg_0x10014.Text = ssh_ReadReg("0x84010014");
|
||||
cmac_0_reg_0x10024.Text = ssh_ReadReg("0x84010024");
|
||||
cmac_0_reg_0x10090.Text = ssh_ReadReg("0x84010090");
|
||||
cmac_0_reg_0x10030.Text = ssh_ReadReg("0x84010030");
|
||||
cmac_0_reg_0x10058.Text = ssh_ReadReg("0x84010058");
|
||||
cmac_0_reg_0x10044.Text = ssh_ReadReg("0x84010044");
|
||||
cmac_0_reg_0x10084.Text = ssh_ReadReg("0x84010084");
|
||||
cmac_0_reg_0x10088.Text = ssh_ReadReg("0x84010088");
|
||||
|
||||
cmac_0_reg_0x00.Text = ssh_ReadReg("0x84000000");
|
||||
cmac_0_reg_0x04.Text = ssh_ReadReg("0x84000004");
|
||||
cmac_0_reg_0x08.Text = ssh_ReadReg("0x84000008");
|
||||
cmac_0_reg_0x0C.Text = ssh_ReadReg("0x8400000C");
|
||||
cmac_0_reg_0x10.Text = ssh_ReadReg("0x84000010");
|
||||
cmac_0_reg_0x14.Text = ssh_ReadReg("0x84000014");
|
||||
cmac_0_reg_0x18.Text = ssh_ReadReg("0x84000018");
|
||||
cmac_0_reg_0x1C.Text = ssh_ReadReg("0x8400001C");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void cmac_read_cnt_reg_Click(object sender, EventArgs e)
|
||||
{
|
||||
reg_0xBC.Text = "";
|
||||
reg_0xC0.Text = "";
|
||||
|
||||
reg_0xBC.Text = ssh_ReadReg("0x800000BC");
|
||||
reg_0xC0.Text = ssh_ReadReg("0x800000C0");
|
||||
}
|
||||
|
||||
private void count_reset_Click(object sender, EventArgs e)
|
||||
{
|
||||
reg20.Text = ssh_ReadReg("0x80000020");
|
||||
uint cntrl_reg20 = (Convert.ToUInt32(reg20.Text, 16));
|
||||
cntrl_reg20 |= 0x8000_0000; // bit31: 1 <= reset
|
||||
ssh_WriteReg("0x80000020", "0x" + cntrl_reg20.ToString("X8"));
|
||||
|
||||
reg20.Text = ssh_ReadReg("0x80000020");
|
||||
cntrl_reg20 = (Convert.ToUInt32(reg20.Text, 16));
|
||||
cntrl_reg20 &= 0x7FFF_FFFF; // bit31: 0 <= normal
|
||||
ssh_WriteReg("0x80000020", "0x" + cntrl_reg20.ToString("X8"));
|
||||
reg20.Text = ssh_ReadReg("0x80000020");
|
||||
}
|
||||
|
||||
private void dds_reg_read_Click(object sender, EventArgs e)
|
||||
{
|
||||
dds_reg_dump();
|
||||
}
|
||||
|
||||
private void tx_cmac_data_src_dds_Click(object sender, EventArgs e)
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
cntrl_reg28 |= 0x0100_0000; // bit24 0 = fiber, 1 = cmac --> 1st set destination of DDS data
|
||||
cntrl_reg28 |= 0x0008_0000; // bit19 = 0 = ADC, 1 = DDS cmac data source
|
||||
|
||||
ssh_WriteReg("0x80000028", "0x" + cntrl_reg28.ToString("X8"));
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
}
|
||||
|
||||
private void tx_cmac_data_src_adc_Click(object sender, EventArgs e)
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
cntrl_reg28 |= 0xFFF7_FFFF; // bit19 = 0 = ADC, 1 = DDS cmac data source
|
||||
|
||||
ssh_WriteReg("0x80000028", "0x" + cntrl_reg28.ToString("X8"));
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
}
|
||||
|
||||
private void tx_fiber_data_src_adc_Click(object sender, EventArgs e)
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
cntrl_reg28 |= 0xFFFF_FFFE; // bit0 = 0 = ADC, 1 = DDS tx_fiber data source
|
||||
|
||||
ssh_WriteReg("0x80000028", "0x" + cntrl_reg28.ToString("X8"));
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
}
|
||||
|
||||
private void tx_fiber_data_src_dds_Click(object sender, EventArgs e)
|
||||
{
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
uint cntrl_reg28 = (Convert.ToUInt32(reg28.Text, 16));
|
||||
cntrl_reg28 &= 0xFEFF_FFFF; // bit24 0 = fiber, 1 = cmac --> 1st set destination of DDS data
|
||||
cntrl_reg28 |= 0x0000_0001; // bit0 = 0 = ADC, 1 = DDS tx_fiber data source
|
||||
|
||||
ssh_WriteReg("0x80000028", "0x" + cntrl_reg28.ToString("X8"));
|
||||
reg28.Text = ssh_ReadReg("0x80000028");
|
||||
}
|
||||
|
||||
private void cmac_rx_tx_debug_regs_Click(object sender, EventArgs e)
|
||||
{
|
||||
uint overflow_0 = (Convert.ToUInt32(cmac_0_reg_0x58.Text, 16));
|
||||
|
||||
if (true == ssh_client.IsConnected)
|
||||
{
|
||||
cmac_0_reg_0x40.Text = "";
|
||||
cmac_0_reg_0x44.Text = "";
|
||||
cmac_0_reg_0x48.Text = "";
|
||||
cmac_0_reg_0x4C.Text = "";
|
||||
cmac_0_reg_0x50.Text = "";
|
||||
cmac_0_reg_0x54.Text = "";
|
||||
cmac_0_reg_0x58.Text = "";
|
||||
|
||||
cmac_0_reg_0x40.Text = ssh_ReadReg("0x84000040");
|
||||
cmac_0_reg_0x44.Text = ssh_ReadReg("0x84000044");
|
||||
cmac_0_reg_0x48.Text = ssh_ReadReg("0x84000048");
|
||||
cmac_0_reg_0x4C.Text = ssh_ReadReg("0x8400004C");
|
||||
cmac_0_reg_0x50.Text = ssh_ReadReg("0x84000050");
|
||||
cmac_0_reg_0x54.Text = ssh_ReadReg("0x84000054");
|
||||
cmac_0_reg_0x58.Text = ssh_ReadReg("0x84000058");
|
||||
}
|
||||
|
||||
uint overflow_0_cur = (Convert.ToUInt32(cmac_0_reg_0x58.Text, 16));
|
||||
uint overflow_0_err = overflow_0_cur - overflow_0;
|
||||
textBox1.Text = overflow_0_err.ToString("X8");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user