📄 dmx512rxrules.js
字号:
function DRCheckerProc(strInstName)
{
var CPUclkstr;
var CPUclk;
var DevEditor = PS.GetDeviceEditor();
var strOverlay = DevEditor.GetData("GET_OVERLAY_NAME_FROM_INSTANCE", strInstName, "", "", "");
if (DevEditor.IsUMPlaced(strOverlay, strInstName))
{
var SysClk = DevEditor.GetGlobalResourceValue(strOverlay, "Power Setting [ Vcc / SysClk freq ]");
if (SysClk == 0)
{
SysClk = DevEditor.GetGlobalResourceValue(strOverlay, "CPU_Clock");
if(SysClk.indexOf("24_MHz")>=0) SysClk = 24.0;
else if(SysClk.indexOf("12_MHz")>=0) SysClk = 12.0;
else if(SysClk.indexOf("6_MHz")>=0) SysClk = 6.0;
else if(SysClk.indexOf("3_MHz")>=0) SysClk = 3.0;
else if(SysClk.indexOf("1.5_MHz")>=0) SysClk = 1.5;
else if(SysClk.indexOf("750_KHz")>=0) SysClk = 0.75;
else if(SysClk.indexOf("185.5_KHz")>=0) SysClk = 0.1855;
else if(SysClk.indexOf("93.75_KHz")>=0) SysClk = 0.09375;
CPUclk = SysClk;
} else {
if(SysClk.indexOf("24MHz")>=0) SysClk = 24.0;
else if(SysClk.indexOf("12MHz")>=0) SysClk = 12.0;
else if(SysClk.indexOf("6MHz")>=0) SysClk = 6.0;
CPUclkstr = DevEditor.GetGlobalResourceValue(strOverlay, "CPU_Clock");
CPUclk = SysClk / CPUclkstr.slice(CPUclkstr.indexOf("/")+1);
}
if(CPUclk < 6.0)
{
ShowWarningMsg("CPU Frequency may be too low, CPU will be overflooded by DMX user module Interrupts. Refer to user module documentation about CPU speed settings.");
ShowWarningMsg("Current CPU Frequency = " + CPUclk + "MHz, minimal recomended CPU Frequency is 6MHz");
}
var RXClock = DevEditor.GetUserModuleParameter2(strOverlay, strInstName, "RX Clock");
var PWDClock = DevEditor.GetUserModuleParameter2(strOverlay, strInstName, "PWD Clock");
var VC1f = SysClk / DevEditor.GetGlobalResourceValue(strOverlay, "VC1= SysClk/N");
var VC2f = VC1f / DevEditor.GetGlobalResourceValue(strOverlay, "VC2= VC1/N");
var VC3src = DevEditor.GetGlobalResourceValue(strOverlay, "VC3 Source");
var VC3f;
if(VC3src == "SysClk/1") VC3f = SysClk / DevEditor.GetGlobalResourceValue(strOverlay, "VC3 Divider");
else if(VC3src == "VC1") VC3f = VC1f / DevEditor.GetGlobalResourceValue(strOverlay, "VC3 Divider");
else if(VC3src == "VC2") VC3f = VC2f / DevEditor.GetGlobalResourceValue(strOverlay, "VC3 Divider");
else if(VC3src == "SysClk*2") VC3f = (SysClk * 2) / DevEditor.GetGlobalResourceValue(strOverlay, "VC3 Divider");
if(RXClock == "VC1" && (VC1f > 2.01 || VC1f < 1.99)) ShowWarningMsg("Incorrect RX Block Clock! (must be 2MHz) Current clock is " + VC1f + "MHz");
if(RXClock == "VC2" && (VC2f > 2.01 || VC2f < 1.99)) ShowWarningMsg("Incorrect RX Block Clock! (must be 2MHz) Current clock is " + VC2f + "MHz");
if(RXClock == "VC3" && (VC3f > 2.01 || VC3f < 1.99)) ShowWarningMsg("Incorrect RX Block Clock! (must be 2MHz) Current clock is " + VC3f + "MHz");
if(PWDClock == "VC1" && (VC1f > 0.18 || VC1f < 0.09)) ShowWarningMsg("Incorrect PWD Block Clock! (must be (0.09-0.18)MHz) Current clock is " + VC1f + "MHz");
if(PWDClock == "VC2" && (VC2f > 0.18 || VC2f < 0.09)) ShowWarningMsg("Incorrect PWD Block Clock! (must be (0.09-0.18)MHz) Current clock is " + VC2f + "MHz");
if(PWDClock == "VC3" && (VC3f > 0.18 || VC3f < 0.09)) ShowWarningMsg("Incorrect PWD Block Clock! (must be (0.09-0.18)MHz) Current clock is " + VC3f + "MHz");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -