📄 panel.c
字号:
else
{
#if (_TRANSFER_ALI_BOARD_ == _TRANSFER_ALI_BOARD_DISABLE_)
PnlSetDigitalMessage_TCT(value, posMsg);
#else
PnlSetDigitalMessage(value, posMsg);
#endif
PnlBlinkOff(posMsg);
PnlLightOn(posSig);
PnlBlinkOff(posSig);
}
}
#endif
#if (_TRANSFER_ALI_BOARD_ == _TRANSFER_ALI_BOARD_DISABLE_)
/*------------------------------------------------------------------\
| Function_Name: |
| void PnlModuleDgtSig(register DWORD value, |
| register PNL_POS_TYPE *posMsg, |
| register PNL_POS_TYPE *posSig) |
| |
| Description: This function will print out digital message to t- |
| he position pointed by posMsg with value and light |
| on the lighter pointed by posSig. |
| |
| Arguments: |
| register DWORD value : the value would be printed |
| out |
| register PNL_POS_TYPE *posMsg : position pointer of 7 Seg- |
| ment LEDs |
| register PNL_POS_TYPE *posSig : position pointer of the l- |
| ighter |
| |
| Return Value: |
\------------------------------------------------------------------*/
#ifdef PNL_MODULE_USED_MSGSIG
void PnlModuleDgtSig(register DWORD value,
register PNL_POS_TYPE *posMsg,
register PNL_POS_TYPE *posSig)
{
if (value == PNL_DISPLAY_OFF)
{
PnlLightOff(posMsg);
PnlLightOff(posSig);
}
else
{
PnlSetDigitalMessage_HEX(value, posMsg);
PnlBlinkOff(posMsg);
PnlLightOn(posSig);
PnlBlinkOff(posSig);
}
}
#endif
#endif
/*------------------------------------------------------------------\
| Function_Name: |
| void PnlModuleTime(DWORD hour, |
| DWORD min, |
| DWORD sec, |
| register PNL_POS_TYPE *posHour, |
| register PNL_POS_TYPE *posMin, |
| register PNL_POS_TYPE *posSec, |
| register PNL_POS_TYPE *posSig) |
| |
| Description: This function will display time and light on the |
| time signal |
| |
| Arguments: |
| DWORD hour : the value of hour |
| DWORD min : the value of minute |
| DWORD sec : the value of second |
| register PNL_POS_TYPE *posHour : the position of hour |
| register PNL_POS_TYPE *posMin : the position of minute |
| register PNL_POS_TYPE *posSec : the position of second |
| register PNL_POS_TYPE *posSig : the position of signal |
| |
| Return Value: |
\------------------------------------------------------------------*/
#ifdef PNL_MODULE_USED_TIME
void PnlModuleTime(DWORD hour,
DWORD min,
DWORD sec,
register PNL_POS_TYPE *posHour,
register PNL_POS_TYPE *posMin,
register PNL_POS_TYPE *posSec,
register PNL_POS_TYPE *posSig)
{
#if (_TRANSFER_ALI_BOARD_ == _TRANSFER_ALI_BOARD_DISABLE_)
#else
if (hour == PNL_DISPLAY_OFF)
{
#ifdef PNL_POS_TIME_HOUR
PnlLightOff(posHour);
#endif
PnlLightOff(posMin);
PnlLightOff(posSec);
PnlLightOff(posSig);
}
else
#endif
{
PnlLightOff(posSig);
#ifdef PNL_POS_TIME_HOUR
#if (_FP==80 || _FP == 900 || _FP==901)/*Only for _FP==80, FOR dingtian*/
if (hour != PNL_DISPLAY_OFF)
{
PnlSetDigitalMessage(hour, posHour);
PnlBlinkOff(posHour);
}
else
PnlLightOff(posHour);
#else
if (hour != PNL_DISPLAY_OFF)
{
PnlSetDigitalMessage(hour, posHour);
PnlBlinkOff(posHour);
}
else
PnlLightOff(posHour);
#endif
#else
min += hour * 60;
#endif
if (min != PNL_DISPLAY_OFF)
{
PnlSetDigitalMessage(min, posMin);
PnlBlinkOff(posMin);
}
else
PnlLightOff(posMin);
if(sec!= PNL_DISPLAY_OFF)
{
PnlSetDigitalMessage(sec, posSec);
PnlBlinkOff(posSec);
}
else
PnlLightOff(posSec);
#if(_FP==900 ||_FP==901)
if (hour == PNL_DISPLAY_OFF)
{
posSig++;
PnlLightOn(posSig);
PnlBlinkOff(posSig);
}
else
{
PnlLightOn(posSig);
PnlBlinkOff(posSig);
}
#else
PnlLightOn(posSig);
PnlBlinkOff(posSig);
#endif
#if (_FP==80)/*Only for _FP==80*/
if (!hour)
{
PnlLightTableOff(3, 0x0100);
PnlBlinkTableUpdate(3);
}
#endif
}
}
#endif
/*------------------------------------------------------------------\
| Function_Name: |
| void PnlModuleMessage(DWORD hMsg, |
| PNL_MSG_TYPE *mMsg, |
| DWORD mAttr[], |
| DWORD nMsg, |
| DWORD lMsg, |
| register PNL_POS_TYPE *posMsg) |
| |
| Description: This function will print out message to 7 Segment |
| LEDs pointed by posMsg. |
| |
| Arguments: |
| DWORD hMsg : handle of message |
| PNL_MSG_TYPE *mMsg : matrix of message |
| DWORD mAttr[] : matrix of message's attr- |
| ibute |
| DWORD nMsg : total number of message |
| DWORD lMsg : length of message |
| register PNL_POS_TYPE *posMsg : position of 7 Segment LE- |
| Ds |
| |
| Return Value: |
\------------------------------------------------------------------*/
#ifdef PNL_MODULE_USED_MESSAGE
#if(_CUSTOM == CYBERHOME)
void PnlModuleMessage(DWORD hMsg,
PNL_MSG_TYPE *mMsg,
DWORD mAttr[],
DWORD nMsg,
DWORD lMsg,
register PNL_POS_TYPE *posMsg,
register PNL_POS_TYPE *posMsg2)
#else
void PnlModuleMessage(DWORD hMsg,
PNL_MSG_TYPE *mMsg,
DWORD mAttr[],
DWORD nMsg,
DWORD lMsg,
register PNL_POS_TYPE *posMsg)
#endif
{
register DWORD attr = mAttr[hMsg];
if ((attr & PNL_LIGHT_ON) && (hMsg < nMsg))
{
PnlSetMessage(mMsg+hMsg*lMsg, posMsg);
}
if (attr & PNL_LIGHT_OFF)
{
PnlLightOff(posMsg);
#if(_CUSTOM == CYBERHOME)
PnlLightOff(posMsg2);
#endif
}
if (attr & PNL_BLINK_ON)
{
PnlBlinkOn(posMsg);
}
if (attr & PNL_BLINK_OFF)
{
PnlBlinkOff(posMsg);
}
}
#endif
/*------------------------------------------------------------------\
| Function_Name: |
| void PnlModuleLightDisc(register DWORD *pSpeedCount, |
| register DWORD *pDir, |
| register PNL_POS_TYPE *posSegment, |
| register PNL_POS_TYPE *posSig, |
| register DWORD attr) |
| |
| Description: This function will change LIGHT DISC's status |
| |
| Arguments: |
| register DWORD *pSpeedCount : address of Light |
| Disc's SpeedCount |
| register DWORD *pDir : address of Light |
| Disc's Direction |
| register PNL_POS_TYPE *posSegment : position of Light |
| Disc's disc |
| register PNL_POS_TYPE *posSig : position of Light |
| Disc's signal |
| register DWORD attr : new attribute of |
| Light Disc |
| |
| Return Value: |
\------------------------------------------------------------------*/
#ifdef PNL_MODULE_USED_LIGHTDISC
void PnlModuleLightDisc(register DWORD *pSpeedCount,
register DWORD *pDir,
register PNL_POS_TYPE *posSegment,
register PNL_POS_TYPE *posSig,
register DWORD attr)
{
if ((attr & PNL_LIGHT_ON) || (attr & PNL_SPEED_OFF))
{
*pSpeedCount = PNL_CLK_LD_SPEED_OFF;
PnlLightOn(posSegment);
PnlLightOn(posSig);
}
if (attr & PNL_LIGHT_OFF)
{
*pSpeedCount = PNL_CLK_LD_SPEED_OFF;
PnlLightOff(posSegment);
PnlLightOff(posSig);
}
if (attr & PNL_PAUSE)
{
*pSpeedCount = PNL_CLK_LD_SPEED_OFF;
PnlBDirty = 1;
}
if (attr & PNL_SPEED_SLOW)
{
*pSpeedCount = PNL_CLK_LD_SPEED_SLOW;
PnlLightOn(posSegment);
PnlLightOn(posSig);
}
if (attr & PNL_SPEED_MIDDLE)
{
*pSpeedCount = PNL_CLK_LD_SPEED_MIDDLE;
PnlLightOn(posSegment);
PnlLightOn(posSig);
}
if (attr & PNL_SPEED_FAST)
{
*pSpeedCount = PNL_CLK_LD_SPEED_FAST;
PnlLightOn(posSegment);
PnlLightOn(posSig);
}
if (attr & PNL_BLINK_ON)
{
PnlBlinkOn(posSegment);
PnlBlinkOn(posSig);
}
if (attr & PNL_BLINK_OFF)
{
PnlBlinkOff(posSegment);
PnlBlinkOff(posSig);
}
if (attr & PNL_DIRECT_FORWARD)
{
*pDir = PNL_DIRECT_FORWARD;
}
if (attr & PNL_DIRECT_BACKWARD)
{
*pDir = PNL_DIRECT_BACKWARD;
}
}
#endif
/*------------------------------------------------------------------\
| Function_Name: |
| void PnlModuleDigitalMsg(register DWORD value, |
| register DWORD nTotal, |
| register DWORD nOrder, |
| PNL_POS_TYPE *posDgt, |
| PNL_POS_TYPE *posMsg, |
| PNL_POS_TYPE *posSig) |
| |
| Description: This function will display value to 3 parts of pa- |
| nel, 7 Segment LEDs, signal and digital LEDs |
| |
| Arguments: |
| register DWORD value : the value would be displayed |
| register DWORD nTotal : maximum fo value |
| register DWORD nOrder : the order of digital LEDs part |
| PNL_POS_TYPE *posDgt : position of digital LEDs |
| PNL_POS_TYPE *posMsg : position of 7 Segment LEDs |
| PNL_POS_TYPE *posSig : position of signal |
| |
| Return Value: |
\------------------------------------------------------------------*/
#ifdef PNL_MODULE_USED_DGTMSG
void PnlModuleDigitalMsg(register DWORD value,
register DWORD nTotal,
register DWORD nOrder,
PNL_POS_TYPE *posDgt,
PNL_POS_TYPE *posMsg,
PNL_POS_TYPE *posSig)
{
register DWORD i;
if (value == PNL_DISPLAY_OFF)
{
PnlLightOff(posDgt);
PnlLightOff(posMsg);
PnlLightOff(posSig);
}
else
{
/* display digital LEDs part */
/* we will light on these digital LEDs */
/* which are less or equal to nTotal, */
/* and blink the exact value. */
if (nTotal > nOrder) /* light on digital LEDs */
nTotal = nOrder;
for (i = 0; i < nTotal; i++)
PnlLightOnS(posDgt[i]);
for (; i < nOrder; i++)
PnlLightOffS(posDgt[i]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -