📄 globaltypes.h
字号:
/* ============================================================================
*
* TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION
*
* Property of Texas Instruments
* For Unrestricted Internal Use Only
* Unauthorized reproduction and/or distribution is strictly prohibited.
* This product is protected under copyright law and trade secret law as an unpublished work.
* Created 2003, (C) Copyright 2003 Texas Instruments. All rights reserved.
*
* Component: Global Types
*
* Filename: GlobalTypes.h
*
* Description:
*
* Domain: ARM11 / ARM7
*
* Fucntional Specifcation Version: Not valid
*
* Validating Test Cases: None
*
* =============================================================================
*/
#ifndef __GLOBALTYPES_H
#define __GLOBALTYPES_H
/* ============================================================================
* INCLUDE FILES (only if necessary)
* =============================================================================
*/
#ifdef __cplusplus
extern "C"
{
#endif
/* ============================================================================
* EXPORTED DEFINITIONS
* =============================================================================
*/
/* ----------------------------------------------------------------------------
* Definition: NULL
*
* DESCRIPTION: Invalid pointer
*
* -----------------------------------------------------------------------------
*/
#define NULL (void *)0
/* ----------------------------------------------------------------------------
* Definition: RET_CODE_BASE
*
* DESCRIPTION: Base value for return code offsets
*
* -----------------------------------------------------------------------------
*/
#define RET_CODE_BASE 0
/* ----------------------------------------------------------------------------
* Definition: *BIT_OFFSET
*
* DESCRIPTION: offset in bytes from start of 32-bit word.
*
* -----------------------------------------------------------------------------
*/
#define LOWER_16BIT_OFFSET 0
#define UPPER_16BIT_OFFSET 2
#define LOWER_8BIT_OFFSET 0
#define LOWER_MIDDLE_8BIT_OFFSET 1
#define UPPER_MIDDLE_8BIT_OFFSET 2
#define UPPER_8BIT_OFFSET 3
#define LOWER_8BIT_OF16_OFFSET 0
#define UPPER_8BIT_OF16_OFFSET 1
/* ----------------------------------------------------------------------------
* Definition: *BIT_SHIFT
*
* DESCRIPTION: offset in bits from start of 32-bit word.
*
* -----------------------------------------------------------------------------
*/
#define LOWER_16BIT_SHIFT 0
#define UPPER_16BIT_SHIFT 16
#define LOWER_8BIT_SHIFT 0
#define LOWER_MIDDLE_8BIT_SHIFT 8
#define UPPER_MIDDLE_8BIT_SHIFT 16
#define UPPER_8BIT_SHIFT 24
#define LOWER_8BIT_OF16_SHIFT 0
#define UPPER_8BIT_OF16_SHIFT 8
/* ----------------------------------------------------------------------------
* Definition: LOWER_16BIT_MASK
*
* DESCRIPTION: 16 bit mask used for inclusion of lower 16 bits i.e. mask out
* the upper 16 bits
*
* -----------------------------------------------------------------------------
*/
#define LOWER_16BIT_MASK 0x0000FFFF
/* ----------------------------------------------------------------------------
* Definition: LOWER_8BIT_MASK
*
* DESCRIPTION: 8 bit masks used for inclusion of 8 bits i.e. mask out
* the upper 16 bits
*
* -----------------------------------------------------------------------------
*/
#define LOWER_8BIT_MASK 0x000000FF
/* ----------------------------------------------------------------------------
* Definition: RETURN_32BITS_FROM_16LOWER_AND_16UPPER(lower16Bits, upper16Bits)
*
* DESCRIPTION: Returns a 32 bit value given a 16 bit lower value and a 16
* bit upper value
*
* -----------------------------------------------------------------------------
*/
#define RETURN_32BITS_FROM_16LOWER_AND_16UPPER(lower16Bits,upper16Bits)\
(((((UWORD32)lower16Bits) & LOWER_16BIT_MASK )) | \
(((((UWORD32)upper16Bits) & LOWER_16BIT_MASK) << UPPER_16BIT_SHIFT)) )
/* ----------------------------------------------------------------------------
* Definition: RETURN_16BITS_FROM_8LOWER_AND_8UPPER(lower16Bits, upper16Bits)
*
* DESCRIPTION: Returns a 16 bit value given a 8 bit lower value and a 8
* bit upper value
*
* -----------------------------------------------------------------------------
*/
#define RETURN_16BITS_FROM_8LOWER_AND_8UPPER(lower8Bits,upper8Bits)\
(((((UWORD32)lower8Bits) & LOWER_8BIT_MASK )) | \
(((((UWORD32)upper8Bits) & LOWER_8BIT_MASK) << UPPER_8BIT_OF16_SHIFT )) )
/* ----------------------------------------------------------------------------
* Definition: RETURN_32BITS_FROM_4_8BIT_VALUES(
* lower8Bits,
lowerMiddle8Bits,
lowerUpper8Bits,
upper8Bits)
*
* DESCRIPTION: Returns a 32 bit value given four 8 bit values
*
* -----------------------------------------------------------------------------
*/
#define RETURN_32BITS_FROM_4_8BIT_VALUES(lower8Bits, lowerMiddle8Bits, lowerUpper8Bits, upper8Bits)\
(((((UWORD32)lower8Bits) & LOWER_8BIT_MASK )) | \
(((((UWORD32)lowerMiddle8Bits) & LOWER_8BIT_MASK) << LOWER_MIDDLE_8BIT_SHIFT)) | \
(((((UWORD32)lowerUpper8Bits) & LOWER_8BIT_MASK) << UPPER_MIDDLE_8BIT_SHIFT)) | \
(((((UWORD32)upper8Bits) & LOWER_8BIT_MASK) << UPPER_8BIT_SHIFT )) )
/* ----------------------------------------------------------------------------
* Definition: READ_LOWER_16BITS_OF_32(value32bits)
*
* DESCRIPTION: Returns a 16 lower bits of 32bit value
*
* -----------------------------------------------------------------------------
*/
#define READ_LOWER_16BITS_OF_32(value32bits)\
((UWORD16)((UWORD32)(value32bits) & LOWER_16BIT_MASK))
/* ----------------------------------------------------------------------------
* Definition: READ_UPPER_16BITS_OF_32(value32bits)
*
* DESCRIPTION: Returns a 16 lower bits of 32bit value
*
* -----------------------------------------------------------------------------
*/
#define READ_UPPER_16BITS_OF_32(value32bits)\
(((UWORD16)((UWORD32)(value32bits) >> UPPER_16BIT_SHIFT)) & LOWER_16BIT_MASK)
/* ----------------------------------------------------------------------------
* Definition: READ_LOWER_8BITS_OF_32(value32bits)
*
* DESCRIPTION: Returns a 8 lower bits of 32bit value
*
* -----------------------------------------------------------------------------
*/
#define READ_LOWER_8BITS_OF_32(value32bits)\
((UWORD8)((UWORD32)(value32bits) & LOWER_8BIT_MASK))
/* ----------------------------------------------------------------------------
* Definition: READ_LOWER_MIDDLE_8BITS_OF_32(value32bits)
*
* DESCRIPTION: Returns a 8 lower middle bits of 32bit value
*
* -----------------------------------------------------------------------------
*/
#define READ_LOWER_MIDDLE_8BITS_OF_32(value32bits)\
(((UWORD8)((UWORD32)(value32bits) >> LOWER_MIDDLE_8BIT_SHIFT)) & LOWER_8BIT_MASK)
/* ----------------------------------------------------------------------------
* Definition: READ_LOWER_MIDDLE_8BITS_OF_32(value32bits)
*
* DESCRIPTION: Returns a 8 lower middle bits of 32bit value
*
* -----------------------------------------------------------------------------
*/
#define READ_UPPER_MIDDLE_8BITS_OF_32(value32bits)\
(((UWORD8)((UWORD32)(value32bits) >> LOWER_MIDDLE_8BIT_SHIFT)) & LOWER_8BIT_MASK)
/* ----------------------------------------------------------------------------
* Definition: READ_UPPER_8BITS_OF_32(value32bits)
*
* DESCRIPTION: Returns a 8 upper bits of 32bit value
*
* -----------------------------------------------------------------------------
*/
#define READ_UPPER_8BITS_OF_32(value32bits)\
(((UWORD8)((UWORD32)(value32bits) >> UPPER_8BIT_SHIFT)) & LOWER_8BIT_MASK)
/* ----------------------------------------------------------------------------
* Definition: READ_LOWER_8BITS_OF_16(value16bits)
*
* DESCRIPTION: Returns a 8 lower bits of 16bit value
*
* -----------------------------------------------------------------------------
*/
#define READ_LOWER_8BITS_OF_16(value16bits)\
((UWORD8)((UWORD16)(value16bits) & LOWER_8BIT_MASK))
/* ----------------------------------------------------------------------------
* Definition: READ_UPPER_8BITS_OF_16(value32bits)
*
* DESCRIPTION: Returns a 8 upper bits of 16bit value
*
* -----------------------------------------------------------------------------
*/
#define READ_UPPER_8BITS_OF_16(value16bits)\
(((UWORD8)((UWORD32)(value16bits) >> UPPER_8BIT_SHIFT)) & LOWER_8BIT_MASK)
/* ============================================================================
* EXPORTED TYPES
* =============================================================================
*/
/* ----------------------------------------------------------------------------
* TYPE: FLOAT
*
* DESCRIPTION: Type to be used for floating point calculation. Note that
* floating point calculation is very CPU expensive, and you should
* only use if you absolutely need this.
*
* -----------------------------------------------------------------------------
*/
typedef float FLOAT;
/* ----------------------------------------------------------------------------
* TYPE: boolean_t
*
* DESCRIPTION: Boolean Type True, False
*
* -----------------------------------------------------------------------------
*/
/* ----------------------------------------------------------------------------
* TYPE: ReturnCode_t
*
* DESCRIPTION: Return codes to be returned by all library functions
*
* -----------------------------------------------------------------------------
*/
typedef enum ReturnCode_label {
RET_OK = 0,
RET_FAIL,
RET_BAD_NULL_PARAM,
RET_PARAM_OUT_OF_RANGE,
RET_INVALID_ID,
RET_EMPTY,
RET_FULL,
RET_TIMEOUT,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -