📄 mtwnd.cpp
字号:
isBroadCast = TRUE;
if (tr1==0) // RT1 is Rx or Tx ?
{
// RT1 is Rx // dest | To
this->m_Grid.SetCol(3); // From
if (rt2==31) // Broadcast
{
// data or mode code
if ((sa2==0)||(sa2==31))
sprintf(c, "RT(s),Mod(%d)", sa2); // mode code
else
sprintf(c, "RT(s),Sa%d", sa2); // data
}
else
{
// data or mode code
if ((sa2==0)||(sa2==31))
sprintf(c, "RT%d,Mod(%d)", rt2, sa2); // mode code
else
sprintf(c, "RT%d,Sa%d", rt2, sa2); // data
}
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(4); // To
if (rt1==31) // Broadcast
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT(s),Mod(%d)", sa1); // mode code
else
sprintf(c, "RT(s),Sa%d", sa1); // data
}
else
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT%d,Mod(%d)", rt1, sa1); // mode code
else
sprintf(c, "RT%d,Sa%d", rt1, sa1); // data
}
this->m_Grid.SetText(TEXT(c));
}
else
{
// RT1 is Tx // source | From
this->m_Grid.SetCol(3); // From
if (rt1==31) // Broadcast
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT(s),Mod(%d)", sa1); // mode code
else
sprintf(c, "RT(s),Sa%d", sa1); // data
}
else
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT%d,Mod(%d)", rt1, sa1); // mode code
else
sprintf(c, "RT%d,Sa%d", rt1, sa1); // data
}
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(4); // To
if (rt2==31) // Broadcast
{
// data or mode code
if ((sa2==0)||(sa2==31))
sprintf(c, "RT(s),Mod(%d)", sa2); // mode code
else
sprintf(c, "RT(s),Sa%d", sa2); // data
}
else
{
// data or mode code
if ((sa2==0)||(sa2==31))
sprintf(c, "RT%d,Mod(%d)", rt2, sa2); // mode code
else
sprintf(c, "RT%d,Sa%d", rt2, sa2); // data
}
this->m_Grid.SetText(TEXT(c));
}
this->m_Grid.SetCol(5); // CMD1
sprintf(c, "%04x", cmd1);
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(6); // CMD2
sprintf(c, "%04x", cmd2);
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(7); // CNT/MC
if ((sa1==0)||(sa1==31))
sprintf(c, "MC%d", mc1);
else
{
if (wc1==0)
sprintf(c, "32");
else
sprintf(c, "%d", wc1);
}
this->m_Grid.SetText(TEXT(c));
}
else
{
// BC-RT / Mode Code
if (tr1==0) // RT <- (Rx)
{
// source: BC , dest: RT
//
this->m_Grid.SetCol(3); // From
sprintf(c, "BC");
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(4); // To
if (rt1==31) // Broadcast
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT(s),Mod(%d)", sa1); // mode code
else
sprintf(c, "RT(s),Sa%d", sa1); // data
}
else
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT%d,Mod(%d)", rt1, sa1); // mode code
else
sprintf(c, "RT%d,Sa%d", rt1, sa1); // data
}
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(5); // CMD1
sprintf(c, "%04x", cmd1);
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(6); // CMD2
this->m_Grid.SetText(TEXT(""));
this->m_Grid.SetCol(7); // CNT/MC
if ((sa1==0)||(sa1==31))
sprintf(c, "MC%d", mc1);
else
{
if (wc1==0)
sprintf(c, "32");
else
sprintf(c, "%d", wc1);
}
this->m_Grid.SetText(TEXT(c));
}
else // RT -> (Tx)
{
// source: RT , dest: BC
//
this->m_Grid.SetCol(3); // From
if (rt1==31) // Broadcast
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT(s),Mod(%d)", sa1); // mode code
else
sprintf(c, "RT(s),Sa%d", sa1); // data
}
else
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT%d,Mod(%d)", rt1, sa1); // mode code
else
sprintf(c, "RT%d,Sa%d", rt1, sa1); // data
}
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(4); // To
sprintf(c, "BC");
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(5); // CMD1
sprintf(c, "%04x", cmd1);
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(6); // CMD2
this->m_Grid.SetText(TEXT(""));
this->m_Grid.SetCol(7); // CNT/MC
if ((sa1==0)||(sa1==31))
sprintf(c, "MC%d", mc1);
else
{
if (wc1==0)
sprintf(c, "32");
else
sprintf(c, "%d", wc1);
}
this->m_Grid.SetText(TEXT(c));
} // end of if (tr1==0) // RT <- (Rx)
} // end of if ((bsw&MTMS_RT_RT_FMT)==MTMS_RT_RT_FMT)
this->m_Grid.SetCol(8); // CH-A/B
if ((bsw&MTMS_CH_BORA)==MTMS_CH_BORA)
this->m_Grid.SetText(TEXT("B"));
else
this->m_Grid.SetText(TEXT("A"));
this->m_Grid.SetCol(9); // DATA
len = this->OwnBlockDataLen(bsw, cmd1);
memset(c, 0, sizeof(c));
strcpy(c, " ");
i = 0;
//while (( i < len + 1) && (g_RunStat.blMTRunning))
while (( i < 37) && (g_RunStat.blMTRunning))
{
sprintf(s, " %04x", g_MTMsg.MSGBlock[i]);
strcat(c, s);
i++;
}
//????
/*
if (!isBroadCast) // broadcast
{
}
*/
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(10); // Comment
if ((bsw&MTMS_ERR_FLAG)==MTMS_ERR_FLAG)
{
this->m_Grid.SetText(TEXT("消息出错"));
}
else
{
if ((bsw&MTMS_RT_RT_FMT)==MTMS_RT_RT_FMT)
{
this->m_Grid.SetText(TEXT("RT-RT"));
}
else
{
if (((bsw&MTMS_ERR_FLAG)==MTMS_ERR_FLAG) && ((bsw&MTMS_RT_RT_FMT)==MTMS_RT_RT_FMT))
{
this->m_Grid.SetText(TEXT("RT-RT (消息出错)"));
}
else
{
this->m_Grid.SetText(TEXT(""));
}
}
}
}
else
{
ultoa((this->MsgRecvCnt)+1, c, 10);
this->m_Grid.AddItem(c, (COleVariant)a); // ID
this->m_Grid.SetRow(1);
this->m_Grid.SetCol(1); // BLOCK_STATUS_WORD
sprintf(c, "%04x", g_MTMsg.BSW);
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(2); // TIMETAG
ultoa(g_MTMsg.TimeTag, c, 10);
this->m_Grid.SetText(TEXT(c));
bsw = g_MTMsg.BSW; // Block Status Word
cmd1 = g_MTMsg.MSGBlock[0]; // Command Word 1
rt1 = ::OwnRTAddr(cmd1);
tr1 = ::OwnTR(cmd1);
sa1 = ::OwnSubAddr(cmd1);
wc1 = ::OwnWordCount(cmd1);
mc1 = ::OwnModeCode(cmd1);
if (rt1==31)
isBroadCast = TRUE;
if ((bsw&MTMS_RT_RT_FMT)==MTMS_RT_RT_FMT)
{
// RT-RT
cmd2 = g_MTMsg.MSGBlock[1];
rt2 = ::OwnRTAddr(cmd2);
tr2 = ::OwnTR(cmd2);
sa2 = ::OwnSubAddr(cmd2);
wc2 = ::OwnWordCount(cmd2);
mc2 = ::OwnModeCode(cmd2);
if (rt2==31)
isBroadCast = TRUE;
if (tr1==0) // RT1 is Rx or Tx ?
{
// RT1 is Rx // dest | To
this->m_Grid.SetCol(3); // From
if (rt2==31) // Broadcast
{
// data or mode code
if ((sa2==0)||(sa2==31))
sprintf(c, "RT(s),Mod(%d)", sa2); // mode code
else
sprintf(c, "RT(s),Sa%d", sa2); // data
}
else
{
// data or mode code
if ((sa2==0)||(sa2==31))
sprintf(c, "RT%d,Mod(%d)", rt2, sa2); // mode code
else
sprintf(c, "RT%d,Sa%d", rt2, sa2); // data
}
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(4); // To
if (rt1==31) // Broadcast
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT(s),Mod(%d)", sa1); // mode code
else
sprintf(c, "RT(s),Sa%d", sa1); // data
}
else
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT%d,Mod(%d)", rt1, sa1); // mode code
else
sprintf(c, "RT%d,Sa%d", rt1, sa1); // data
}
this->m_Grid.SetText(TEXT(c));
}
else
{
// RT1 is Tx // source | From
this->m_Grid.SetCol(3); // From
if (rt1==31) // Broadcast
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT(s),Mod(%d)", sa1); // mode code
else
sprintf(c, "RT(s),Sa%d", sa1); // data
}
else
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT%d,Mod(%d)", rt1, sa1); // mode code
else
sprintf(c, "RT%d,Sa%d", rt1, sa1); // data
}
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(4); // To
if (rt2==31) // Broadcast
{
// data or mode code
if ((sa2==0)||(sa2==31))
sprintf(c, "RT(s),Mod(%d)", sa2); // mode code
else
sprintf(c, "RT(s),Sa%d", sa2); // data
}
else
{
// data or mode code
if ((sa2==0)||(sa2==31))
sprintf(c, "RT%d,Mod(%d)", rt2, sa2); // mode code
else
sprintf(c, "RT%d,Sa%d", rt2, sa2); // data
}
this->m_Grid.SetText(TEXT(c));
}
this->m_Grid.SetCol(5); // CMD1
sprintf(c, "%04x", cmd1);
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(6); // CMD2
sprintf(c, "%04x", cmd2);
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(7); // CNT/MC
if ((sa1==0)||(sa1==31))
sprintf(c, "MC%d", mc1);
else
{
if (wc1==0)
sprintf(c, "32");
else
sprintf(c, "%d", wc1);
}
this->m_Grid.SetText(TEXT(c));
}
else
{
// BC-RT / Mode Code
if (tr1==0) // RT <- (Rx)
{
// source: BC , dest: RT
//
this->m_Grid.SetCol(3); // From
sprintf(c, "BC");
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(4); // To
if (rt1==31) // Broadcast
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT(s),Mod(%d)", sa1); // mode code
else
sprintf(c, "RT(s),Sa%d", sa1); // data
}
else
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT%d,Mod(%d)", rt1, sa1); // mode code
else
sprintf(c, "RT%d,Sa%d", rt1, sa1); // data
}
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(5); // CMD1
sprintf(c, "%04x", cmd1);
this->m_Grid.SetText(TEXT(c));
this->m_Grid.SetCol(6); // CMD2
this->m_Grid.SetText(TEXT(""));
this->m_Grid.SetCol(7); // CNT/MC
if ((sa1==0)||(sa1==31))
sprintf(c, "MC%d", mc1);
else
{
if (wc1==0)
sprintf(c, "32");
else
sprintf(c, "%d", wc1);
}
this->m_Grid.SetText(TEXT(c));
}
else // RT -> (Tx)
{
// source: RT , dest: BC
//
this->m_Grid.SetCol(3); // From
if (rt1==31) // Broadcast
{
// data or mode code
if ((sa1==0)||(sa1==31))
sprintf(c, "RT(s),Mod(%d)", sa1); // mode code
else
sprintf(c, "RT(s),Sa%d", sa1); // data
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -