📄 bspuicc_phy.h
字号:
BspUicc_Phy_DataSize expectedData;
BspUicc_Phy_DataSize remainingData;
BspUicc_Phy_RxData rxBuffer[264];
}
BspUicc_Phy_RxCtrl;
/*============================================================================= */
/*!
* @typedef BspUicc_Phy_TxCtrl
*
* @discussion
* <b> Description </b><br>
* Control data for Transmit mode
*/
typedef struct
{
BspUicc_Phy_DataSize txIndex;
BspUicc_Phy_DataSize noTxBytes;
BspUicc_Phy_TxData txBuffer[264];
}
BspUicc_Phy_TxCtrl;
/*=============================================================================*/
/*!
* @typedef BspUicc_ConfigReq
*
* @discussion
* <b> Description </b><br>
* Specifies the type for Configuration Characteristics requested by the Driver
*/
enum
{
BSP_UICC_PHY_OMIT_CONFIG_CHARACTERISTICS = 0x0,
BSP_UICC_PHY_REQUEST_CONFIG_CHARACTERISTICS = 0x1
};
typedef SYS_UWORD8 BspUicc_Phy_ConfigReq;
/*=============================================================================
* Types
* @discussion
* This type specifies the clock stop prefernce of the MF
*/
typedef SYS_UWORD8 BspUicc_Phy_ClkStopPreference;
/*=============================================================================
* Types
* @discussion
* This type specifies Configuration Characteristics delivered by PS
*/
typedef struct
{
BspUicc_Phy_ClkStopPreference clkStopPreference;
}BspUicc_Phy_ConfigChars;
/*=============================================================================*/
/*!
* @typedef BspUicc_AtrData
*
* @discussion
* <b> Description </b><br>
* Specifies the type for the Atr Data
*/
typedef SYS_UWORD8 BspUicc_Phy_AtrData;
/*===========================================================================*/
/*!
* @typedef BspUicc_Phy_CardAbsentDetectHandler
*
* @discussion
* <b> Description </b><br>
* This is the type used for a card removeddetect handler.
* It is a function pointer
*/
typedef void (*BspUicc_Phy_CardAbsentDetectHandler)( void );
/*============================================================================= */
/*!
* @typedef BspUicc_Phy_Ctrl
*
* @discussion
* <b> Description </b><br>
* Generic phisical layer control data
*/
typedef struct
{
BspUicc_Phy_Protocol protocol;
BspUicc_Phy_Mode mode;
BspUicc_Phy_Direction dirn;
BspUicc_Phy_Error error;
BspUicc_Phy_SClkLev sClkLev;
SYS_BOOL parityCheck;
BspUicc_Phy_CardAbsentDetectHandler removeFunc;
}
BspUicc_Phy_Ctrl;
/*===========================================================================
*/
/*!
* @function bspUicc_Phy_init
*
* @discussion
* <b> Description </b><br>
* This function initializes the Usim hardware block.
*
* <b> Context </b><br>
* Called from BSP_UICC physical layer State Machine
*
* <b> Returns </b><br>
* None
*
* @param None
*
*
*/
void bspUicc_Phy_init( );
/*===========================================================================
*/
/*!
* @function bspUicc_Phy_init_CardDetectFuncs
*
* @discussion
* <b> Description </b><br>
* This function registers the handlers for the card insert and remove events.
*
* <b> Context </b><br>
* Called from BSP_UICC physical layer State Machine
*
* <b> Returns </b><br>
* None
*
* @param insert
* Function pointer to the function to be called when a card is inserted
*
* @param remove
* Function pointer to the function to be called when a card is removed
*
*/
void bspUicc_Phy_init_CardDetectFuncs( BspUicc_Phy_CardAbsentDetectHandler *removeFunc );
/*===========================================================================
*/
/*!
* @function bspUicc_Phy_reset
*
* @discussion
* <b> Description </b><br>
* This function initiates a hardware warm reset of the Usim card.
*
* <b> Context </b><br>
* Called from BSP_UICC physical layer State Machine
*
* <b> Returns </b><br>
* BspUicc_Phy_ReturnCode
* Function return status indicating sucess, failure or error code
*
* @param
* None
*
*/
BspUicc_Phy_ReturnCode bspUicc_Phy_reset( void );
/*===========================================================================
*/
/*!
* @function bspUicc_Phy_configure
*
* @discussion
* <b> Description </b><br>
* This function configures the Usim hardware block before any data transfer
* occurs. Usim needs to be configured every time there is any change in any of the
* configuration parameters.
*
* <b> Context </b><br>
* Called from BSP_UICC physical layer State Machine
*
* <b> Returns </b><br>
* BspUicc_Phy_ReturnCode
* Function return status indicating sucess, failure or error code
*
* @param eventDataPtr
* Pointer to the configReq structure.
*
*/
BspUicc_Phy_ReturnCode bspUicc_Phy_configure( BspUicc_Phy_Protocol protocol,
BspUicc_Phy_SclkDiv sclkDiv,
BspUicc_Phy_EtuPeriod etuPeriod,
BspUicc_Phy_Cgt cgt,
BspUicc_Phy_Cwt cwt,
BspUicc_Phy_Bwt bwt,
BspUicc_Phy_FiValue fiValue,
BspUicc_Phy_DiValue diValue,
BspUicc_Phy_WaitI waitIValue,
BspUicc_Phy_SClkLev sClkLev,
BspUicc_Phy_ConfigType configType );
/*===========================================================================
*/
/*!
* @function bspUicc_Phy_write
*
* @discussion
* <b> Description </b><br>
* This function writes or sends the data bytes specified, to the Usim
* hardware block. The Hardware FIFO shall be used to send data efficiently.
* This is done by setting the FIFO trigger level accordingly.
*
* <b> Context </b><br>
* Called from BSP_UICC physical layer State Machine
*
* <b> Returns </b><br>
* BspUicc_Phy_ReturnCode
* Function return status indicating sucess with number of
* bytes written, or failure
*
* @param eventDataPtr
* Pointer to the writeReq structure.
*
*/
BspUicc_Phy_ReturnCode bspUicc_Phy_write( BspUicc_Phy_DataSize txDataSize,
BspUicc_Phy_TxData *dataPtr );
/*===========================================================================
*/
/*!
* @function bspUicc_Phy_read
*
* @discussion
* <b> Description </b><br>
* This function reads the specified number of bytes from the Usim hardware block.
* The Hardware FIFO shall be used to send data efficiently. This is done by setting
* the FIFO trigger level accordingly.
*
* <b> Context </b><br>
* Called from BSP_UICC physical layer State Machine
*
* <b> Returns </b><br>
* BspUicc_Phy_ReturnCode
* Function return status indicating sucess with number of
* bytes read, or failure
*
* @param eventDataPtr
* Pointer to the readReq structure.
*
*/
BspUicc_Phy_ReturnCode bspUicc_Phy_read( BspUicc_Phy_DataSize rxDataSize,
BspUicc_Phy_RxData *dataPtr );
/*===========================================================================
*/
/*!
* @function bspUicc_Phy_powerOff
*
* @discussion
* <b> Description </b><br>
* This function powers off the Usim hardware block.
*
* <b> Context </b><br>
* Called from BSP_UICC physical layer State Machine
*
* <b> Returns </b><br>
* BspUicc_Phy_ReturnCode
* Function return status indicating sucess, failure or error code
*
* @param
* None
*/
BspUicc_Phy_ReturnCode bspUicc_Phy_powerOff( void );
/*===========================================================================
*/
/*!
* @function bspUicc_Phy_getCardInsertStatus
*
* @discussion
* <b> Description </b><br>
* This function provides API to check if the Usim card has been inserted
*
* <b> Context </b><br>
* Called from BSP_UICC physical layer
*
* <b> Returns </b><br>
* BspUicc_Phy_ReturnCode
* Function return true status if card has been inserted
*
* @param
* None
*/
BspUicc_Phy_ReturnCode bspUicc_Phy_getCardInsertStatus( void );
void bspUicc_Phy_sleepMode( BspUicc_Phy_ClockStop mode );
void bspUicc_Phy_warmReset( void );
/*===========================================================================
*/
/*!
* @function bspUicc_Phy_getErrorStatus
*
* @discussion
* <b> Description </b><br>
* This function gets the Error data
*
* <b> Context </b><br>
* Called from BSP_UICC Link layer
*
* <b> Returns </b><br>
* BspUicc_Phy_Error
* Function returns the Error Status
*
* @param
* None
*/
BspUicc_Phy_Error bspUicc_Phy_getErrorStatus( void );
/*===========================================================================
*/
/*!
* @function bspUicc_Phy_setMode
*
* @discussion
* <b> Description </b><br>
* This function sets the Mode (ATR/PPS/READ-WRITE)
*
* <b> Context </b><br>
* Called from BSP_UICC Link layer
*
* <b> Returns </b><br>
* None
*
* @param mode
* Mode that needs to be set
*/
void bspUicc_Phy_setMode( BspUicc_Phy_Mode mode );
/*===========================================================================
*/
/*!
* @function bspUicc_Phy_getMode
*
* @discussion
* <b> Description </b><br>
* This function sets the Mode (ATR/PPS/READ-WRITE)
*
* <b> Context </b><br>
* Called from BSP_UICC Link layer
*
* <b> Returns </b><br>
* BspUicc_Phy_Mode
* Returns the current Mode setting
*
* @param
* None
*/
BspUicc_Phy_Mode bspUicc_Phy_getMode( void );
/*=====================================================================
*/
/*!
* @function bspUicc_Phy_setDir
*
* @discussion
* <b> Description </b><br>
* This function sets the DIRECTION TO TX/RX
*
* <b> Context </b><br>
* Called from BSP_UICC Link layer
*
* <b> Returns </b><br>
* None
*
* @param phyDirection
* Direction can set set as RX or TX
*/
void bspUicc_Phy_setDir( BspUicc_Phy_Direction phyDirection );
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -