summaryrefslogtreecommitdiffstats
path: root/api/fc2580.h
diff options
context:
space:
mode:
Diffstat (limited to 'api/fc2580.h')
-rw-r--r--api/fc2580.h191
1 files changed, 191 insertions, 0 deletions
diff --git a/api/fc2580.h b/api/fc2580.h
new file mode 100644
index 0000000..fc3d687
--- /dev/null
+++ b/api/fc2580.h
@@ -0,0 +1,191 @@
+#include "standard.h"
+
+#define FREQ_XTAL 16384 //16.384MHz
+#define BORDER_FREQ 2600000 //2.6GHz : The border frequency which determines whether Low VCO or High VCO is used
+#define USE_EXT_CLK 0 //0 : Use internal XTAL Oscillator / 1 : Use External Clock input
+#define OFS_RSSI 57
+
+extern Demodulator* FCI_FC2580_demodulator;
+extern Byte FCI_FC2580_chip;
+
+typedef enum {
+ UHF_BAND,
+ L_BAND,
+ VHF_BAND,
+ NO_BAND
+} fc2580_band_type;
+
+/*==============================================================================
+ i2c command write EXTERNAL FUNCTION
+
+ This function is a generic function which write a byte into fc2580's
+ specific address.
+
+ <input parameter>
+
+ slave_id
+ i2c id of slave chip
+ type : byte
+
+ addr
+ memory address of slave chip
+ type : byte
+
+ data
+ target data
+ type : byte
+
+==============================================================================*/
+extern void i2c_write( unsigned char slave_id, unsigned char addr, unsigned char data );
+
+/*==============================================================================
+ i2c command write EXTERNAL FUNCTION
+
+ This function is a generic function which gets called to read data from
+ slave chip's target memory address.
+
+ <input parameter>
+
+ slave_id
+ i2c id of slave chip
+ type : byte
+
+ addr
+ memory address of slave chip
+ type : byte
+
+ <return value>
+ data
+ a byte of data read out of target address 'addr' of slave chip
+ type : byte
+
+==============================================================================*/
+extern unsigned char i2c_read( unsigned char slave_id, unsigned char addr );
+
+/*==============================================================================
+ milisecond delay function EXTERNAL FUNCTION
+
+ This function is a generic function which write a byte into fc2580's
+ specific address.
+
+ <input parameter>
+
+ a
+ length of wanted delay in milisecond unit
+
+==============================================================================*/
+extern void wait_msec (unsigned long msec);
+
+
+
+/*==============================================================================
+ fc2580 i2c command write
+
+ This function is a generic function which write a byte into fc2580's
+ specific address.
+
+ <input parameter>
+
+ addr
+ fc2580's memory address
+ type : byte
+
+ data
+ target data
+ type : byte
+
+==============================================================================*/
+void fc2580_i2c_write( unsigned char addr, unsigned char data );
+
+/*==============================================================================
+ fc2580 i2c data read
+
+ This function is a generic function which gets called to read data from
+ fc2580's target memory address.
+
+ <input parameter>
+
+ addr
+ fc2580's memory address
+ type : byte
+
+
+ <return value>
+ data
+ a byte of data read out of target address 'addr'
+ type : byte
+
+==============================================================================*/
+unsigned char fc2580_i2c_read( unsigned char addr );
+
+/*==============================================================================
+ fc2580 initial setting
+
+ This function is a generic function which gets called to initialize
+
+ fc2580 in DVB-H mode or L-Band TDMB mode
+
+ <input parameter>
+
+ ifagc_mode
+ type : integer
+ 1 : Internal AGC
+ 2 : Voltage Control Mode
+
+==============================================================================*/
+void fc2580_set_init( int ifagc_mode );
+
+/*==============================================================================
+ fc2580 frequency setting
+
+ This function is a generic function which gets called to change LO Frequency
+
+ of fc2580 in DVB-H mode or L-Band TDMB mode
+
+ <input parameter>
+
+ f_lo
+ Value of target LO Frequency in 'kHz' unit
+ ex) 2.6GHz = 2600000
+
+==============================================================================*/
+void fc2580_set_freq( unsigned int f_lo );
+
+
+/*==============================================================================
+ fc2580 filter BW setting
+
+ This function is a generic function which gets called to change Bandwidth
+
+ frequency of fc2580's channel selection filter
+
+ <input parameter>
+
+ filter_bw
+ 1 : 1.53MHz(TDMB)
+ 5 : 5MHz
+ 6 : 6MHz
+ 7 : 7MHz
+ 8 : 7.8MHz
+ 9 : 8MHz
+
+==============================================================================*/
+void fc2580_set_filter(unsigned char filter_bw);
+
+/*==============================================================================
+ fc2580 RSSI function
+
+ This function is a generic function which returns fc2580's
+
+ current RSSI value.
+
+ <input parameter>
+ none
+
+ <return value>
+ int
+ rssi : estimated input power.
+
+==============================================================================*/
+int fc2580_get_rssi(void);
+