public void TransformCode(ref int code, out int len)
{
m_commandsSentSinceLastChange++;
m_commandStats[code]++;
switch (Mode)
{
case 1:
len = 6;
break;
case 2:
if (code == Mode2_1)
{
code = 1;
len = 1;
}
else
{
len = 7;
}
break;
case 3:
if (code == Mode3_1)
{
code = 1;
len = 1;
}
else if (code == Mode3_01)
{
code = 1;
len = 2;
}
else
{
len = 8;
}
break;
case 4:
if (code == Mode4_1)
{
code = 1;
len = 1;
}
else if (code == Mode4_01)
{
code = 1;
len = 2;
}
else if (code == Mode4_001)
{
code = 1;
len = 3;
}
else
{
len = 9;
}
break;
default:
throw new Exception("Coding Error");
}
if (m_startupMode == 0 && m_commandsSentSinceLastChange > 5)
{
m_startupMode++;
AdaptCommands2();
}
else if (m_startupMode == 1 && m_commandsSentSinceLastChange > 20)
{
m_startupMode++;
AdaptCommands2();
}
else if (m_startupMode == 2 && m_commandsSentSinceLastChange > 100)
{
AdaptCommands2();
}
}