📄 main.h
字号:
/****************************************************************************
****************************************************************************/
#ifndef _MAIN_H_
#define _MAIN_H_
#define __FRONTEND "STi5518"
#define __PLATFORM "MB5518"
/* Port pins for PIO */
#define ASC_0_TXD_BIT 1 /* ASC Port 0 */
#define ASC_0_RXD_BIT 1 /* ASC Port 0 */
#define ASC_1_TXD_BIT (1<<5) /* ASC Port 1 */
#define ASC_1_RXD_BIT (1<<1) /* ASC Port 1 */
#define ASC_2_TXD_BIT (1<<3) /* ASC Port 2 */
#define ASC_2_RXD_BIT (1<<4) /* ASC Port 2 */
#define ASC_3_TXD_BIT 1 /* ASC Port 4 */
#define ASC_3_RXD_BIT 1 /* ASC Port 4 */
#define UART_Back_BASE_ADDRESS ASC_2_BASE_ADDRESS
#define UART_Back_INTERRUPT ASC_2_INTERRUPT
#define UART_Back_INTERRUPT_LEVEL ASC_2_INTERRUPT_LEVEL
#define UART_Back_RXD_BIT ASC_2_RXD_BIT
#define UART_Back_TXD_BIT ASC_2_TXD_BIT
#define UART_Front_BASE_ADDRESS ASC_1_BASE_ADDRESS
#define UART_Front_INTERRUPT ASC_1_INTERRUPT
#define UART_Front_INTERRUPT_LEVEL ASC_1_INTERRUPT_LEVEL
#define UART_Front_RXD_BIT ASC_1_RXD_BIT
#define UART_Front_TXD_BIT ASC_1_TXD_BIT
//Controles remotos conocidos
#define HUGHES 0xCFB
#define DJSOUND 0x807F
#define PANSAT 0xF9
#define RCA 0xE1
/* --- */
typedef enum
{
NOT_TUNED,
TUNED
} tuner_module_state_t;
/* --- */
typedef enum
{
DBASE_WAITING_FOR_START_SIGNAL,
DBASE_RUNNING
} dbase_module_state_t;
/* --- */
typedef enum
{
BUILDING_PAT,
BUILDING_PMT,
BUILDING_NIT,
BUILDING_SDT
} dbase_table_constuction_state_t;
/* keyboard selection enumeration */
enum
{
REMOTE_KEYBOARD,
FRONT_PANEL_KEYBOARD
};
/* --- */
typedef enum
{
DEMUX_MODULE,
SECTION_FILTERING_MODULE,
MPEG_MODULE,
OSD_MODULE,
TUNER_MODULE,
DRIVERS_MODULE,
KEYBOARD_MODULE,
USIF_MODULE,
DBASE_MODULE
} reporting_module_t;
typedef struct usif_cmd_struct_tag
{
reporting_module_t from_which_module;
union
{
/* Keyboard module communication format */
struct
{
unsigned char scancode; /* key scan code */
char device; /* device type REMOTE or FRONT_PANEL keyboard */
bool repeat_status; /* TRUE if the key is pressed repeatedly */
} keyboard;
tuner_module_state_t new_tuner_module_state; /* TUNED or NOT_TUNED */
/* database module communication format */
struct
{
dbase_module_state_t new_dbase_module_state; /* status of the DBASE */
dbase_table_constuction_state_t table_under_construction; /* which table is being built now */
} dbase;
} contents;
} usif_cmd_t;
//#define DCACHE_ENABLE
#undef ICACHE_ENABLE
#define UNIFIED_MEMORY
#define E2P_I2C_PIO 1
#define E2P_I2C 0
#define NIM_I2C 1
#define LINKIC_DEV 0xD0 /* I2C slave address for LINKIC (STv0299) */
#define TUNER_DEV 0xC2 /* I2C slave address for tsa5059 TUNER */
#define STPIO_PWM_DEVICE_NAME PIODeviceName[1] /* "PIO1" */
#define FRONT_UART_TX_DEVICE_NAME PIODeviceName[1] /* "PIO1" */
#define FRONT_UART_RX_DEVICE_NAME PIODeviceName[2] /* "PIO2" */
#define BACK_UART_TX_DEVICE_NAME PIODeviceName[1] /* "PIO1" */
#define BACK_UART_RX_DEVICE_NAME PIODeviceName[1] /* "PIO1" */
#define USIF_MSG_QUEUE_SIZE 12
#define USIF_MSG_QUEUE_NO_OF_MESSAGES 50
#define PSI_MSG_QUEUE_SIZE 12
#define PSI_MSG_QUEUE_NO_OF_MESSAGES 50
#define CI_MSG_QUEUE_SIZE 12
#define CI_MSG_QUEUE_NO_OF_MESSAGES 50
/* Interrupt mapping */
#define PIO_0_INTERRUPT_MAP 0 /* interrupt level controller 0 */
#define PIO_1_INTERRUPT_MAP 0 /* interrupt level controller 1 */
#define PIO_2_INTERRUPT_MAP 0 /* interrupt level controller 2 */
#define PIO_3_INTERRUPT_MAP 0 /* interrupt level controller 3 */
#define PIO_4_INTERRUPT_MAP 0 /* interrupt level controller 4 */
#define SSC_0_INTERRUPT_MAP 7 /* interrupt level controller 5 */
#define ASC_3_INTERRUPT_MAP 7 /* interrupt level controller 6 */
#define ASC_2_INTERRUPT_MAP 7 /* interrupt level controller 7 */
#define ASC_1_INTERRUPT_MAP 7 /* interrupt level controller 8 */
#define ASC_0_INTERRUPT_MAP 7 /* interrupt level controller 9 */
#define PWM_CAPTURE_INTERRUPT_MAP 0 /* interrupt level controller 10 */
/*#define TELETEXT_INTERRUPT_MAP 2*/ /* interrupt level controller 11 */
#define LINK_INTERRUPT_MAP 5 /* interrupt level controller 12 */
#define AVAILABLE_INTERRUPT_MAP 0 /* interrupt level controller 13 */
#define VIDEO_INTERRUPT_MAP 4 /* interrupt level controller 14 */
#define AUDIO_INTERRUPT_MAP 3 /* interrupt level controller 15 */
#define PPC_DMA_INTERRUPT_MAP 0 /* interrupt level controller 16 */
#define PPC_MBOX_INTERRUPT_MAP 0 /* interrupt level controller 17 */
#define EXTERNAL_0_INTERRUPT_MAP 0 /* interrupt level controller 18 */
#define EXTERNAL_1_INTERRUPT_MAP 0 /* interrupt level controller 19 */
#define EXTERNAL_2_INTERRUPT_MAP 0 /* interrupt level controller 20 */
#define CAPTURE_BASED_REMOTE_PULSE_CALC
/* Interrupt handlers stack size */
#define ROOT_INTERRUPT_HANDLER_WS_SIZE 36
#define SSC_0_HANDLER_WS_SIZE 88
#define ASC_3_HANDLER_WS_SIZE 64
#define ASC_2_HANDLER_WS_SIZE 0
#define ASC_1_HANDLER_WS_SIZE 64
#define ASC_0_HANDLER_WS_SIZE 200
#define LINK_HANDLER_WS_SIZE 240
#define MPEG_VIDEO_HANDLER_WS_SIZE 300
#define MPEG_AUDIO_HANDLER_WS_SIZE 200
/*#define TELETEXT_HANDLER_WS_SIZE 200*/
#define OS20_INTERNAL_MEMORY_SIZE /*1564*/1580 /* be afraid ! */
#define FIRMA "GUAMASAT (C) 2007 para HUGHES 6ta y RCA 6ta."
enum{
TRANSPARENTE,
AZUL,
VERDE,
CYAN,
ROJO,
MAGENTA,
MARRON,
GRIS,
BLANCO_TENUE,
NARANJA,
AZUL_PRUSIA,
AZUL_OSCURO,
BLANCO_OSCURO = 255,
AMARILLO = 254,
MAGENTA2 = 253,
ROJO_OSCURO = 252,
CYAN_OSCURO = 251,
VERDE_LIMON = 250,
AZUL_CIELO = 249,
GRIS_OSCURO = 248,
GRIS_CLARO = 247,
BLANCO = 246
};
#endif
/************** end of file *************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -