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

📄 hamaro_pwrscan.h

📁 机顶盒Hamaro解调器驱动。包含自动搜台
💻 H
字号:
/* hamaro_pwrscan.h */
/*+++ *******************************************************************\
*
*  Abstract:
*
*       Hamaro power scan FSM header.
*
*  Created: 12/15/2005
*
*
*  Copyright and Disclaimer: 
*  
*     --------------------------------------------------------------- 
*     This software is provided "AS IS" without warranty of any kind, 
*     either expressed or implied, including but not limited to the 
*     implied warranties of noninfringement, merchantability and/or  
*     fitness for a particular purpose.
*     --------------------------------------------------------------- 
*       
*   Author: Amar Puttur
*  
*   Module Revision Id:
*
*       $Header: hamaro_pwrscan.h, 1, 2006-4-8 1:51:56, ShenWei Wang$
*
*     Copyright (c) 2005, 2006 Conexant Systems, Inc. 
*     All rights reserved. 
*
\******************************************************************* ---*/
#ifndef _HAMARO_PWRSCAN_H_
#define _HAMARO_PWRSCAN_H_

#include "hamaro.h"
#include "hamaro_fsm.h"

#if HAMARO_SCAN_THE_SKY

#define PWRSCAN_AGC_THRESHOLD   35
#define PWRSCAN_SAMPLE_RATE     98333333UL /* Fsample = pll_mult*10.000/6=99.42 MHz */

typedef struct _hamaro_pwrscan_input_
{
    unsigned long  tuner_freq_hz; 
    unsigned long  upper_freq_limit_hz;
    unsigned long  symbol_rate_khz;        /* Match filter clock */
    unsigned long  step_size_hz; 
    unsigned char  search_span_mhz;
    unsigned char  bw_symbol_rate_mhz;    /* For tuner BW calculation */
    unsigned short observation_window;
    BOOL           full_scan;
    BOOL           stitch;
    BOOL           smooth;
} HAMARO_PWRSCAN_INPUT;

typedef struct _hamaro_pwrscan_data_
{
    HAMARO_PWRSCAN_INPUT power_scan_input;
    unsigned short number_freq_cnt;

    int center_frequency_hz;
    int total_freq_offset_hz;
    int center_frequency_upperbound_hz;    
    unsigned char offset;
    
    int frequency_step_hz;
    int initial_freq_step;
    int tuner_freq_khz;
    int abs_freq_khz; 
    int curr_abs_freq_khz;
    int delta_abs_freq_khz; 

    unsigned short reg_value;
    unsigned short actual_freq_count;
    unsigned long  power_index;
    unsigned long  abs_freq_index; 
    unsigned short iter;
    unsigned short max_number_of_sets;
    unsigned long  abs_freq_hz;    
    unsigned long  actual_tuner_frequency;
    BOOL           pll_lock;
    BOOL           b_last_set;
    BOOL           b_abort;
    BOOL           read_agc;
    int            forever;
  
    unsigned long  max_index;
    unsigned long  symbol_rate_read;
    unsigned char  number_of_segments;
} HAMARO_PWRSCAN_DATA;

typedef struct _hamaro_pwrscan_buffer_info_
{
    unsigned long  start_freq_hz;
    unsigned long  end_freq_hz;

    unsigned short start_freq_index;
    unsigned short end_freq_index;

    unsigned short filled_buffer_length; /* per segment */

    unsigned short max_power_reading;
    signed char    agcacc;
} HAMARO_PWRSCAN_BUFFER_INFO;

extern FSM pwr_scan_fsm;

/* Main function */
void PWRSCAN_Start(FSM *fsm, HAMARO_PWRSCAN_INPUT* p_power_scan_input);

/* Misc. functions */
unsigned short PWRSCAN_GetMaxRawPowerReading();
BOOL PWRSCAN_IsBufferEmpty();
void PWRSCAN_SetAAGCFilter(BOOL value);
BOOL PWRSCAN_AAGCControl(BOOL freeze);
BOOL PWRSCAN_BTLAccClear();
BOOL PWRSCAN_Enable(BOOL enable);
unsigned short PWRSCAN_FindNearestStartIndex(unsigned long frequency_hz);
unsigned short PWRSCAN_GetScaledMaxPowerReading();

int PWRSCAN_GetAGCFromFreq(unsigned long frequency); /* DEBUG ONLY */

#ifdef __cplusplus
extern "C" {
#endif  /* __cplusplus */ 

extern BOOL PWRSCAN_GetSegmentLength(unsigned char* p_segment_len);
extern BOOL PWRSCAN_GetSegmentData(unsigned char index, HAMARO_PWRSCAN_BUFFER_INFO* p_data);
extern BOOL PWRSCAN_StitchPowerScanSegments(); /* used for main buffer */
extern BOOL PWRSCAN_SmoothingFilter(); /* used for main buffer */

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* HAMARO_SCAN_THE_SKY */

#endif /* _HAMARO_PWRSCAN_H_ */

⌨️ 快捷键说明

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