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

📄 settings.h

📁 freescale i.mx31 BSP CE5.0全部源码
💻 H
字号:
//------------------------------------------------------------------------------
//
//  Copyright (C) 2004, Motorola Inc. All Rights Reserved
//
//------------------------------------------------------------------------------
//
//  Copyright (C) 2004, 2005, 2006 Freescale Semiconductor, Inc. All Rights Reserved
//  THIS SOURCE CODE IS CONFIDENTIAL AND PROPRIETARY AND MAY NOT
//  BE USED OR DISTRIBUTED WITHOUT THE WRITTEN PERMISSION OF
//  FREESCALE SEMICONDUCTOR, INC.
//
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
//
//  File:  settings.h
//
//   Header file for zeus FIR device.
//
//------------------------------------------------------------------------------

#ifndef __SETTINGS_H__
#define __SETTINGS_H__

#ifdef __cplusplus
extern "C" {
#endif

//------------------------------------------------------------------------------
// Defines

#define FIRI_FIFO_SIZE    128
#define OSF_VALUE(x)    (x-1)
#define TPL_VALUE(x)    (x-1)
#define RFDIV_VALUE(x)    ((x <= 6)?(6-x):6)
#define BURST_LENGTH_DEFAULT    32

#define XMIT_INTR_MASK   0x0F
#define RCV_INTR_MASK    0x1F
//#define  XMIT_INTR_MASK \
//	(CSP_BITFMASK(FIRI_TSR_TFU) | CSP_BITFMASK(FIRI_TSR_TPE) | CSP_BITFMASK(FIRI_TSR_TC))
	
//#define  RCV_INTR_MASK \
//	(CSP_BITFMASK(FIRI_RSR_RPE) | CSP_BITFMASK(FIRI_RSR_RFO) | \
//	CSP_BITFMASK(FIRI_RSR_CRCE) | CSP_BITFMASK(FIRI_RSR_DDE))

#define IR_ADDR_SIZE            1
#define IR_CONTROL_SIZE         1
#define MAX_NUM_EXTRA_BOFS    48

#define SLOW_IR_BOF_TYPE        UCHAR
#define SLOW_IR_BOF_SIZE        sizeof(SLOW_IR_BOF_TYPE)
#define SLOW_IR_EXTRA_BOF_TYPE  UCHAR
#define SLOW_IR_EXTRA_BOF_SIZE  sizeof(SLOW_IR_EXTRA_BOF_TYPE)
#define SLOW_IR_EOF_TYPE        UCHAR
#define SLOW_IR_EOF_SIZE        sizeof(SLOW_IR_EOF_TYPE)
#define SLOW_IR_FCS_TYPE        USHORT
#define SLOW_IR_FCS_SIZE        sizeof(SLOW_IR_FCS_TYPE)
#define SLOW_IR_BOF             0xC0
#define SLOW_IR_EXTRA_BOF       0xC0
#define SLOW_IR_EOF             0xC1
#define SLOW_IR_ESC             0x7D
#define SLOW_IR_ESC_COMP        0x20

#define FAST_IR_FCS_SIZE        4
#define FAST_IR_EOF_SIZE        1

#define NDIS_IRDA_SPEED_2400    (UINT)(1 << 0)   // SLOW IR ...
#define NDIS_IRDA_SPEED_9600    (UINT)(1 << 1)
#define NDIS_IRDA_SPEED_19200    (UINT)(1 << 2)
#define NDIS_IRDA_SPEED_38400    (UINT)(1 << 3)
#define NDIS_IRDA_SPEED_57600    (UINT)(1 << 4)
#define NDIS_IRDA_SPEED_115200    (UINT)(1 << 5)
#define NDIS_IRDA_SPEED_576K    (UINT)(1 << 6)   // MEDIUM IR ...
#define NDIS_IRDA_SPEED_1152K    (UINT)(1 << 7)
#define NDIS_IRDA_SPEED_4M    (UINT)(1 << 8)   // FAST IR

#define SUPPORTED_SIR_MASK ( \
    NDIS_IRDA_SPEED_9600 | \
    NDIS_IRDA_SPEED_19200 | NDIS_IRDA_SPEED_38400 | \
    NDIS_IRDA_SPEED_57600 | NDIS_IRDA_SPEED_115200)
#define SUPPORTED_MIR_MASK    (NDIS_IRDA_SPEED_1152K|NDIS_IRDA_SPEED_576K)
#define SUPPORTED_FIR_MASK    NDIS_IRDA_SPEED_4M

#define ALL_IRDA_SPEEDS    ( \
    NDIS_IRDA_SPEED_2400 | NDIS_IRDA_SPEED_9600 | \
    NDIS_IRDA_SPEED_19200 | NDIS_IRDA_SPEED_38400 | \
    NDIS_IRDA_SPEED_57600 | NDIS_IRDA_SPEED_115200 | \
    NDIS_IRDA_SPEED_1152K | NDIS_IRDA_SPEED_4M)

#define CURRENT_SUPPORTED_SPEEDS    (SUPPORTED_SIR_MASK | SUPPORTED_MIR_MASK | SUPPORTED_FIR_MASK)

#define MAX_SIR_SPEED    115200
#define MAX_MIR_SPEED    576000

#define DEFAULT_BAUD_RATE    9600

#define DEFAULT_EXTRA_BOF_REQUIRED    0
#define DEFAULT_TURNAROUND_TIME    1000
#define MAXIMUM_RCV_PACKETS    7
#define MAXIMUM_LOOKAHEAD    256
#define MAXIMUM_SEND_PACKETS    16
#define VENDOR_DRIVER_VERSION    1

#define GOOD_FCS    ((USHORT) ~0xf0b8)

// This is the largest IR packet size (counting _I_ field only,
// and not counting ESC characters) that we handle.
#define MAX_IR_FRAME_SIZE    2048
#define MAX_NDIS_DATA_SIZE    (IR_ADDR_SIZE+IR_CONTROL_SIZE+MAX_IR_FRAME_SIZE)
#define MAX_RCV_DATA_SIZE    (MAX_NDIS_DATA_SIZE+SLOW_IR_FCS_SIZE)

// We loop an extra time in the receive in order to see EOF after the
// last data byte; so we need some extra space in readBuf in case we then
// get garbage instead.
//#define RCV_DMA_SIZE				((MAX_RX_PACKETS + 2) * (MAX_RCV_DATA_SIZE + FAST_IR_FCS_SIZE))  

#define RCV_BUFFER_SIZE				(MAX_RCV_DATA_SIZE +FAST_IR_FCS_SIZE+sizeof(LIST_ENTRY))
#define NUM_RCV_BUFS    16


#define RCV_BUF_TO_LIST_ENTRY(b)    ((PLIST_ENTRY)((PUCHAR)(b)-sizeof(LIST_ENTRY)))
#define LIST_ENTRY_TO_RCV_BUF(e)    ((PVOID)((PUCHAR)(e)+sizeof(LIST_ENTRY)))

// We allocate buffers twice as large as the max rcv size to accomodate ESC
// characters and BOFs, etc.  Recall that in the worst possible case, the
// data contains all BOF/EOF/ESC characters, in which case we must expand
// it to twice its original size.
#define MAX_POSSIBLE_IR_PACKET_SIZE_FOR_DATA(dataLen)    ( \
    (dataLen) * 2 + (MAX_NUM_EXTRA_BOFS + 1) * \
    SLOW_IR_BOF_SIZE + IR_ADDR_SIZE + IR_CONTROL_SIZE + \
    SLOW_IR_FCS_SIZE + SLOW_IR_EOF_SIZE)

#define MAX_IRDA_DATA_SIZE \
    MAX_POSSIBLE_IR_PACKET_SIZE_FOR_DATA(MAX_IR_FRAME_SIZE)

#define MIN(a,b) (((a) <= (b)) ? (a) : (b))

//------------------------------------------------------------------------------
// Types

enum baudRates {
    BAUDRATE_2400,
    BAUDRATE_9600,
    BAUDRATE_19200,
    BAUDRATE_38400,
    BAUDRATE_57600,
    BAUDRATE_115200,
    BAUDRATE_576000,
    BAUDRATE_1152000,
    BAUDRATE_4000000,

    NUM_BAUDRATES,
    BAUDRATE_INVALID
};

typedef struct {
    enum baudRates tableIndex;
    UINT bitsPerSec;
    UINT ndisCode;  // bitmask element
} baudRateInfo;


//------------------------------------------------------------------------------
// Functions


#ifdef __cplusplus
}
#endif

#endif // __SETTINGS_H__

⌨️ 快捷键说明

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