misc_FM.cpp
上传用户:gelin96
上传日期:2017-01-08
资源大小:20993k
文件大小:3k
源码类别:

MTK

开发平台:

C++ Builder

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2001
  8. *
  9. *****************************************************************************/
  10. /*****************************************************************************
  11.  *
  12.  * Filename:
  13.  * ---------
  14.  *   misc_BT.cpp
  15.  *
  16.  * Project:
  17.  * --------
  18.  *   Maui META APP
  19.  *
  20.  * Description:
  21.  * ------------
  22.  *  BT Misc. function source
  23.  *
  24.  * Author:
  25.  * -------
  26.  *  Andy Ueng (mtk00490)
  27.  *
  28.  *============================================================================
  29.  *             HISTORY
  30.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  31.  *------------------------------------------------------------------------------
  32.  * $Revision$
  33.  * $Modtime$
  34.  * $Log$
  35.  * 
  36.  *------------------------------------------------------------------------------
  37.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  38.  *============================================================================
  39.  ****************************************************************************/
  40. #include <vcl.h>
  41. #include <math.h>
  42.  
  43. #pragma hdrstop
  44. #ifndef META_DLL_H
  45. #include "meta.h"
  46. #endif
  47. #ifndef  _MAN_ERROR_H_
  48. #include "man_error.h"
  49. #endif
  50. #ifndef  _FT_UTILS_H_
  51. #include "ft_utils.h"
  52. #endif
  53. // FM
  54. #ifndef  _FM_COMMON_H_
  55. #include "fm_common.h"
  56. #endif
  57. //==============================================================================
  58. //////////////////////////////   Format transform  /////////////////////////////
  59. //==============================================================================
  60. bool AnsiString_To_FM_Freq(AnsiString ansi_str, short& freq) // unit of freq: 0.1Mhz
  61. {
  62.     float freq_Mhz;
  63.     float f_freq;
  64.     RANGE_CHECK_ERROR(!AnsiString_To_Float(ansi_str, freq_Mhz), RANGE_ERR_FM_FREQ);
  65.     f_freq = freq_Mhz * FM_FREQ_SCALE;
  66.     freq = (short) f_freq;
  67.     return true;
  68. }
  69. //==============================================================================
  70. //////////////////////////////      Range check    /////////////////////////////
  71. //==============================================================================
  72. bool IsValidFMFreq(AnsiString ansi_str, short& freq)
  73. {
  74.     float freq_Mhz;
  75.     RANGE_CHECK_ERROR(!AnsiString_To_Float(ansi_str, freq_Mhz, FM_MIN_FREQ, FM_MAX_FREQ), RANGE_ERR_FM_FREQ);
  76.     freq = freq_Mhz * FM_FREQ_SCALE;
  77.     return true;
  78. }
  79. //------------------------------------------------------------------------------
  80. bool IsValidFMRssiThreshold(AnsiString ansi_str, unsigned int& threshold)
  81. {
  82.     RANGE_CHECK_ERROR(!AnsiString_To_UnsignedInteger(ansi_str, threshold, FM_MIN_RSSI_THRESHOLD, FM_MAX_RSSI_THRESHOLD), RANGE_ERR_FM_RSSI_THRESHOLD);
  83.     return true;
  84. }
  85. //------------------------------------------------------------------------------
  86. bool IsValidFMIfCounterDelta(AnsiString ansi_str, unsigned int& delta)
  87. {
  88.     RANGE_CHECK_ERROR(!AnsiString_To_UnsignedInteger(ansi_str, delta, FM_MIN_IF_COUNTER_DELTA, FM_MAX_IF_COUNTER_DELTA), RANGE_ERR_FM_IF_COUNTER_DELTA);
  89.     if (delta % FM_IF_COUNTER_DELTA_STEP)
  90.     {
  91.         return false;
  92.     }
  93.     return true;    
  94. }