📄 radio.h
字号:
/**
* @file radio.h
* @brief radio driver header file
* This file provides radio APIs: radio initialization,
* play radio, etc..
* @date 2005-03-07
* @version 1.0
*/
#ifndef __RADIO_H__
#define __RADIO_H__
#include "akdefine.h"
typedef enum {
RADIO_EUROPE = 0,
RADIO_JAPAN,
RADIO_AMERICA
}T_RADIO_AREA;
#if (RADIO_TYPE == 0)
typedef struct{
T_BOOL ReadyFlag; //1:find a station or freq reach band limit 0:not find a station
T_BOOL LimitFlag; //1:reach the band limit 0:not reach band limit
T_U32 CurFreq;
T_U8 IFCounter;
T_U8 AdcLevel; //adc level set:0~15
T_BOOL Stereo; //stereo indicator 1:stereo 0: mono
}T_RADIO_STATUS;
typedef struct{
T_BOOL MuteFlag; //1:mute 0:not mute
T_BOOL SearchFlag; //1:in search mode 0:not search
T_BOOL SearchDir; //1:search up 0:search down
T_BOOL MonoStereo; //1:mono 0:stereo
T_U32 Freq; //
T_U8 StopLevel; //0~3 if not in search mode, 0 is not allowed
T_BOOL BandLimit; // 1: japan FM band 0:us/europe FM band
}T_RADIO_PARM;
typedef struct {
T_U32 FreqMin;
T_U32 FreqMax;
T_U32 FreqIf; //中频
T_U32 FreqRef; //参考频率
T_U32 FreqStep; //步长或波宽
}T_RADIO_AREA_PARM;
const T_RADIO_AREA_PARM RadioAreaParam[MAX_RADIO_AREA];
T_BOOL radio_check(T_VOID);
T_BOOL radio_init(T_U32 Freq, T_RADIO_AREA RadioArea);
#elif (RADIO_TYPE == 1)
typedef struct{
T_BOOL ReadyFlag; //1:find a station or freq reach band limit 0:not find a station
T_BOOL LimitFlag; //1:reach the band limit 0:not reach band limit
T_U32 CurFreq;
T_U8 IFCounter;
T_U8 AdcLevel; //adc level set:0~15
T_BOOL Stereo; //stereo indicator 1:stereo 0: mono
T_BOOL SearchOk; //1:search success 0:search fail
T_U16 Rssi; //for rda5800 mean the channel signal intensity
}T_RADIO_STATUS;
typedef struct{
T_BOOL MuteFlag; //1:mute 0:not mute
T_BOOL SearchFlag; //1:in search mode 0:not search
T_BOOL SearchDir; //1:search up 0:search down
T_BOOL MonoStereo; //1:mono 0:stereo
T_U32 Freq; //
T_U8 StopLevel; //for rea5800 0~0x3f rssi threshold
T_BOOL BandLimit; // 1: japan FM band 0:us/europe FM band
T_U32 FreqStep; //for rda5800 only can be 50k, 100k, 200k
T_U8 Volume;
}T_RADIO_PARM;
typedef struct{
T_RADIO_AREA Area;
T_U32 FreqStep;
T_U8 Rssi;
T_U16 Volume;
}T_RADIO_INIT;
typedef struct {
T_U32 FreqMin;
T_U32 FreqMax;
T_U32 FreqIf; //中频
T_U32 FreqRef; //参考频率
T_U32 FreqStep; //步长或波宽
}T_RADIO_AREA_PARM;
const T_RADIO_AREA_PARM RadioAreaParam[MAX_RADIO_AREA];
T_BOOL radio_check(T_VOID);
T_BOOL radio_init(T_RADIO_INIT Init);
#endif
T_BOOL radio_get_status(T_RADIO_STATUS *Status, T_U32 FreqMin, T_U32 FreqMax);
T_BOOL radio_set_param (T_RADIO_PARM *Param);
T_BOOL radio_exit(T_VOID);
T_VOID radio_line_in(T_BOOL enable);
T_VOID radio_read(T_U8 *DataTmp);
#endif
/* end of __RADIO_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -