⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 triggerdef.c

📁 可编程器件厂商Xilinx的手持式逻辑分析仪的逻辑设计
💻 C
📖 第 1 页 / 共 4 页
字号:
    }
    else
    {
        CtlSetValue (GetObjectPtr (frmTrigDefGo2TrigOnRunCheckbox ), false);
        CtlSetValue (GetObjectPtr (frmTrigDefStayPutOnRunCheckbox), true);
    }

    /*========================================================================*/
    /* Set the PreTrigger buffer location in both the list and the selector.  */
    /*========================================================================*/
    pLst = GetObjectPtr (frmTrigDefPreTriggerList);
    LstSetSelection (pLst, TrigPrefs.PreTrigger);
    pLabel = LstGetSelectionText (pLst, TrigPrefs.PreTrigger);

    pCtl = GetObjectPtr (frmTrigDefPreTriggerPopTrigger);
    CtlSetLabel (pCtl, pLabel);
    FrmShowObject (pFrm,
                   FrmGetObjectIndex (pFrm, frmTrigDefPreTriggerPopTrigger));

    /*========================================================================*/
    /* Set the Labels on the Channel Label buttons.                           */
    /*========================================================================*/
    CtlSetLabel (GetObjectPtr(frmTrigDefCh0LabelButton),
                 TrigPrefs.ChnlLabel[0]);
    CtlSetLabel (GetObjectPtr(frmTrigDefCh1LabelButton),
                 TrigPrefs.ChnlLabel[1]);
    CtlSetLabel (GetObjectPtr(frmTrigDefCh2LabelButton),
                 TrigPrefs.ChnlLabel[2]);
    CtlSetLabel (GetObjectPtr(frmTrigDefCh3LabelButton),
                 TrigPrefs.ChnlLabel[3]);
    CtlSetLabel (GetObjectPtr(frmTrigDefCh4LabelButton),
                 TrigPrefs.ChnlLabel[4]);
    CtlSetLabel (GetObjectPtr(frmTrigDefCh5LabelButton),
                 TrigPrefs.ChnlLabel[5]);
    CtlSetLabel (GetObjectPtr(frmTrigDefCh6LabelButton),
                 TrigPrefs.ChnlLabel[6]);
    CtlSetLabel (GetObjectPtr(frmTrigDefCh7LabelButton),
                 TrigPrefs.ChnlLabel[7]);

    /*========================================================================*/
    /* Set the labels on the trigger definitions for each channel.            */
    /*========================================================================*/
    if (TrigPrefs.ChnlTriggers[0] == trigwordLowLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh0SettingButton), "0");
    else if (TrigPrefs.ChnlTriggers[0] == trigwordHiLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh0SettingButton), "1");
    else
        CtlSetLabel (GetObjectPtr (frmTrigDefCh0SettingButton), "X");

    if (TrigPrefs.ChnlTriggers[1] == trigwordLowLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh1SettingButton), "0");
    else if (TrigPrefs.ChnlTriggers[1] == trigwordHiLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh1SettingButton), "1");
    else
        CtlSetLabel (GetObjectPtr (frmTrigDefCh1SettingButton), "X");

    if (TrigPrefs.ChnlTriggers[2] == trigwordLowLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh2SettingButton), "0");
    else if (TrigPrefs.ChnlTriggers[2] == trigwordHiLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh2SettingButton), "1");
    else
        CtlSetLabel (GetObjectPtr (frmTrigDefCh2SettingButton), "X");

    if (TrigPrefs.ChnlTriggers[3] == trigwordLowLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh3SettingButton), "0");
    else if (TrigPrefs.ChnlTriggers[3] == trigwordHiLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh3SettingButton), "1");
    else
        CtlSetLabel (GetObjectPtr (frmTrigDefCh3SettingButton), "X");

    if (TrigPrefs.ChnlTriggers[4] == trigwordLowLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh4SettingButton), "0");
    else if (TrigPrefs.ChnlTriggers[4] == trigwordHiLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh4SettingButton), "1");
    else
        CtlSetLabel (GetObjectPtr (frmTrigDefCh4SettingButton), "X");

    if (TrigPrefs.ChnlTriggers[5] == trigwordLowLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh5SettingButton), "0");
    else if (TrigPrefs.ChnlTriggers[5] == trigwordHiLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh5SettingButton), "1");
    else
        CtlSetLabel (GetObjectPtr (frmTrigDefCh5SettingButton), "X");

    if (TrigPrefs.ChnlTriggers[6] == trigwordLowLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh6SettingButton), "0");
    else if (TrigPrefs.ChnlTriggers[6] == trigwordHiLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh6SettingButton), "1");
    else
        CtlSetLabel (GetObjectPtr (frmTrigDefCh6SettingButton), "X");

    if (TrigPrefs.ChnlTriggers[7] == trigwordLowLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh7SettingButton), "0");
    else if (TrigPrefs.ChnlTriggers[7] == trigwordHiLevel)
        CtlSetLabel (GetObjectPtr (frmTrigDefCh7SettingButton), "1");
    else
        CtlSetLabel (GetObjectPtr (frmTrigDefCh7SettingButton), "X");

    /*========================================================================*/
    /* Call the function to read the current probe state and display it.      */
    /*========================================================================*/
    DisplayProbeState(true);
}




/*============================================================================*/
/* Function:            DisplayProbeState                                     */
/* Description:         This routine ...                                      */
/*                                                                            */
/* Arguments:           ?_name    =  ?_description                            */
/* Returns:             ?_description                                         */
/* Globals affected:    None                                                  */
/* Hardware affected:   None                                                  */
/*                                                                            */
/*============================================================================*/
/* Change History:                                                            */
/*                                                                            */
/* ECO#:  ?                                                                   */
/* Change Date:  dd-mmm-yyyy                                                  */
/* Changed By:   ?                                                            */
/* Description of Change:  ?                                                  */
/*                                                                            */
/*============================================================================*/
void DisplayProbeState (Boolean bInitialDisplay)
{
    /*========================================================================*/
    /* Declare all local variables.                                           */
    /*========================================================================*/
    FormPtr pFrm;
    static  UInt8 uiPreviousState;
    UInt8   uiProbeState;
    UInt8   uiChnlState;
    UInt8   uiPrevChnlState;

    /*========================================================================*/
    /* Get a pointer to the current active form.                              */
    /*========================================================================*/
    pFrm = FrmGetActiveForm();

    /*========================================================================*/
    /* Read the current probe state.                                          */
    /*========================================================================*/
    uiProbeState = (UInt8)sbioReadProbeState();

    /*========================================================================*/
    /* Set the Channel 7 Probe State Display to represent the current state.  */
    /* If this is not the initial display and the current and previous values */
    /* are different, the current state will be shown as a transition,        */
    /* otherwise a high or low level signal will be shown as is appropriate.  */
    /*========================================================================*/
    uiChnlState = (UInt8)(uiProbeState & 0x0080);
    uiPrevChnlState = (UInt8)(uiPreviousState & 0x0080);
    if (!bInitialDisplay && (uiChnlState != uiPrevChnlState))
    {
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh7StateLoBitMap));
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh7StateHiBitMap));
        FrmShowObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh7StateTransBitMap));
    }
    else if (uiChnlState)
    {
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh7StateLoBitMap));
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh7StateTransBitMap));
        FrmShowObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh7StateHiBitMap));
    }
    else
    {
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh7StateHiBitMap));
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh7StateTransBitMap));
        FrmShowObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh7StateLoBitMap));
    }

    /*========================================================================*/
    /* Set the Channel 6 Probe State Display to represent the current state.  */
    /* If this is not the initial display and the current and previous values */
    /* are different, the current state will be shown as a transition,        */
    /* otherwise a high or low level signal will be shown as is appropriate.  */
    /*========================================================================*/
    uiChnlState = (UInt8)(uiProbeState & 0x0040);
    uiPrevChnlState = (UInt8)(uiPreviousState & 0x0040);
    if (!bInitialDisplay && (uiChnlState != uiPrevChnlState))
    {
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh6StateLoBitMap));
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh6StateHiBitMap));
        FrmShowObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh6StateTransBitMap));
    }
    else if (uiChnlState)
    {
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh6StateLoBitMap));
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh6StateTransBitMap));
        FrmShowObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh6StateHiBitMap));
    }
    else
    {
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh6StateHiBitMap));
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh6StateTransBitMap));
        FrmShowObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh6StateLoBitMap));
    }

    /*========================================================================*/
    /* Set the Channel 5 Probe State Display to represent the current state.  */
    /* If this is not the initial display and the current and previous values */
    /* are different, the current state will be shown as a transition,        */
    /* otherwise a high or low level signal will be shown as is appropriate.  */
    /*========================================================================*/
    uiChnlState = (UInt8)(uiProbeState & 0x0020);
    uiPrevChnlState = (UInt8)(uiPreviousState & 0x0020);
    if (!bInitialDisplay && (uiChnlState != uiPrevChnlState))
    {
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh5StateLoBitMap));
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh5StateHiBitMap));
        FrmShowObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh5StateTransBitMap));
    }
    else if (uiChnlState)
    {
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh5StateLoBitMap));
        FrmHideObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh5StateTransBitMap));
        FrmShowObject(pFrm, FrmGetObjectIndex(pFrm,
                                              frmTrigDefCh5StateHiBitMap));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -