;;**************************************************************************** ;; ;; (include pfbDpMaster.cfg) ;; Defines relating to DP Master mode and the master control blocks for slaves ;; ;; Assumes the pfbDefines.cfg file has already been included. ;; ;;**************************************************************************** ; Defines relating to the DP Master global control register (type DpMasterControlRead cardGet %1 home pfbMasCntrlCfg) (typeDesc DpMasterControlRead "(DpMasterControlRead cardId)") (type DpMasterControlSet pfbBitSet %1 home pfbMasCntrlCfg %2) (typeDesc DpMasterControlSet "(DpMasterControlSet cardId events)") (type DpMasterControlClear pfbBitClear %1 home pfbMasCntrlCfg %2) (typeDesc DpMasterControlClear "(DpMasterControlClear cardId events)") ; ; Enable DP Master functionality ; NOTE: pfbOnline command will automatically set this if DpMaster specified. (type DpMasterEnable pfbBitSet %1 home pfbMasCntrlCfg PFB_MAS_CTRL_ENABLE) (typeDesc DpMasterEnable "(DpMasterEnable cardId)") ; Set DP Master to begin scanning: must be issued while online ; NOTE: pfbOnline command will automatically set this if DpMaster specified. (type pfbRunMode DpMasterControlSet %1 PFB_MAS_CTRL_RUN_MODE) (typeDesc pfbRunMode "(pfbRunMode cardId)") ; Stop DP Master scanning (type pfbProgramMode DpMasterControlClear %1 PFB_MAS_CTRL_RUN_MODE) (typeDesc pfbProgramMode "(pfbProgramMode cardId)") ;;**************************************************************************** ;; Master control blocks (1 per slave) ;;**************************************************************************** ; Read/Write & BitSet/Clear/Write in a master control block register (type masRead cardGet %1 mas (@ (aref masCntrlBlk %2) %3)) (typeDesc masRead "(masRead cardId block register)") (type masWrite cardSet %1 mas (@ (aref masCntrlBlk %2) %3) %4) (typeDesc masWrite "(masWrite cardId block register value)") (type masBitSet pfbBitSet %1 mas (@ (aref masCntrlBlk %2) %3) %4) (typeDesc masBitSet "(masBitSet cardId block register mask)") (type masBitClear pfbBitClear %1 mas (@ (aref masCntrlBlk %2) %3) %4) (typeDesc masBitClear "(masBitClear cardId block register mask)") (type masBitWrite pfbBitWrite %1 mas (@ (aref masCntrlBlk %2) %3) %4 %5) (typeDesc masBitWrite "(masBitWrite cardId block register mask value)") ; Enable/Disable each slave (type DpMasterSlvEnable masBitSet %1 %2 masCntCfg MAS_CTL_ENABLE) (typeDesc DpMasterSlvEnable "(DpMasterSlvEnable cardId slvBlkId)") (type DpMasterSlvDisable masBitClear %1 %2 masCntCfg MAS_CTL_ENABLE) (typeDesc DpMasterSlvDisable "(DpMasterSlvDisable cardId slvBlkId)") ; Set swap mode of the slave ; MAS_CTL_RX_BYTE_SWAP (type DpMasterSlvSwapSet masBitSet %1 %2 masCntCfg MAS_CTL_RX_BYTE_SWAP) (typeDesc DpMasterSlvSwapSet "(DpMasterSlvByteSwap cardId slvBlkId)") (type DpMasterSlvSwapClear masBitClear %1 %2 masCntCfg MAS_CTL_RX_BYTE_SWAP) (typeDesc DpMasterSlvSwapClear "(DpMasterSlvSwapClear cardId slvBlkId)") ; Get number of master blocks configured (type DpMasterNBlksRead cardGet %1 home pfbMasNumBlks) (typeDesc DpMasterNBlksRead "(DpMasterNBlksRead cardId)") ; Get status and slvBlkId of specified station ; returns 0x00FF MAS_SLV_NOT_CFG ; or 0x80nn MAS_STS_TAB_OK|0xnn where nn is the slvBlkId (type DpMasterStnStatus cardGet %1 home (aref pfbMasStsTab %2)) (typeDesc DpMasterStnStatus "(DpMasterStnStatus cardId stn)") ;;*************************************************************************** ;; Summary of DP Master Control Block registers and constants ; masStn station address of slave ; masCntCfg Control and configuration register ; MAS_CTL_IGNORE_STS ignore status ; MAS_CTL_EVT_RX_CHG generate event (intr) when rx data from slave changes ; MAS_CTL_RX_BYTE_SWAP swap order of bytes in received data ; MAS_CTL_EVT_UPDTE generate event (intr) when slave update is complete ; MAS_CTL_FAIL_SAFE slave is a fail safe slave ; MAS_CTL_TX_BYTE_SWAP reserved ; MAS_CTL_ENABLE enable this device ; masStatus Status Register (Read only) ; MAS_STS_OK current status of this master block is OK ; masError Error indication ; MAS_ERR_CFG_FAILURE failure while trying to configure slave ; MAS_ERR_SLV_ID_MISMATCH slave real ID does not match slave's configured ID ; MAS_ERR_DATA_UPD_FAILURE frame delivery problem while updating slave data ; MAS_ERR_CFG_DIAG_READ_FAILURE frame delivery problem while reading slave diags ; MAS_ERR_CFG_DIAG_STS1_ERR error in diagnostic status byte #1 during configure ; MAS_ERR_CFG_DIAG_STS2_ERR error in diagnostic status byte #2 during configure ; MAS_ERR_UPD_DIAG_STS1_ERR error in diagnostic status byte #1 during diag read ; MAS_ERR_UPD_DIAG_STS2_ERR error in diagnostic status byte #2 during diag read ; MAS_ERR_CFG_STN_MISMATCH station address from diag read does not match ; MAS_ERR_IO_CYC_TOUT timeout waiting for i/o update ; MAS_ERR_SLV_WD_OFF warning slave watchdog is not enabled ; masEvent Event Flags ; MAS_EVT_UPD slave has been updated ; MAS_EVT_RX_DATA_CHG rx data has changed ; masDiagEvent Diagnostic Event Flags ; MAS_DEVT_DIAG_UPD slave diags have been updat ; masParmLen Parameters to slave len in bytes ; masChkLen Configuration check to slave len ; masRxDataOfs Data recv from slave ofs in page ; masTxDataOfs Data xmit to slave ofs in page ; masRxDataLen Data received from slave length ; masTxDataLen Data to be sent to slave length ; masSiemType Siemens Device Type ; MAS_SIEM_TYP_OLD_DP ; masExtErrInfo Extended error info ; masDesig slave designation (text, 13 ; masDiagMaxLen Maximum length of diag status resp ; masDiagLen Diagnostic from slave length in by ; masDiagSts1 status byte 1 from slave ; masDiagSts2 status byte 2 from slave ; masDiagSts3 status byte 3 from slave ; masDiagMasStn Station that configured Slave ; masDiagID_hi ID hi byte sent back from slave ; masDiagID_lo ID lo byte sent back from slave ; masDiagData vendor defined slv diag info, 24 ; masDiagExtOfs offset within extension area if greater than 26 bytes ; masParmMasSts status byte to slave ; masParmWdFact1 Watchdog factor 1 to slave ; masParmWdFact2 Watchdog factor 2 to slave ; masParmRdyTme Response delay time (tbit) to slav ; masParmID_hi ID value to slave hi ; masParmID_lo ID value to slave lo ; masParmGrpId Group ID value for slave (aways 0 ; masParmData parameters to slave, 23 ; masParmExtOfs offset within extension area if greater than 25 bytes ; masChkData Config check values to slave, 30 ; masChkDataExtOfs offset within extension area if greater than 32 bytes
Copyright © 1995-2006 by Cogent Real-Time Systems, Inc. All rights reserved.