diff options
| author | Steve Markgraf <steve@steve-m.de> | 2012-05-25 17:25:13 +0200 |
|---|---|---|
| committer | Steve Markgraf <steve@steve-m.de> | 2012-05-25 17:25:13 +0200 |
| commit | 6d34b04b422192550716233df5b6e479f5c1f268 (patch) | |
| tree | 57ceed34fb1452935a88b6e99e24100e747c4c7c /include | |
| parent | c4c48a69ea6ad944d0b25ac6ebb5a37c8b02f041 (diff) | |
tuner_fc0013: use new cleaned-up driver
The driver was taken from http://git.linuxtv.org/ and adapted
for librtlsdr. Also, fc0013_set_gain() was added.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Diffstat (limited to 'include')
| -rw-r--r-- | include/tuner_fc0013.h | 179 |
1 files changed, 28 insertions, 151 deletions
diff --git a/include/tuner_fc0013.h b/include/tuner_fc0013.h index ed89465..e940919 100644 --- a/include/tuner_fc0013.h +++ b/include/tuner_fc0013.h @@ -1,159 +1,36 @@ -#ifndef __TUNER_FC0013_H -#define __TUNER_FC0013_H +/* + * Fitipower FC0013 tuner driver + * + * Copyright (C) 2012 Hans-Frieder Vogt <hfvogt@gmx.net> + * + * modified for use in librtlsdr + * Copyright (C) 2012 Steve Markgraf <steve@steve-m.de> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ -/** - -@file - -@brief FC0013 tuner module declaration - -One can manipulate FC0013 tuner through FC0013 module. -FC0013 module is derived from tuner module. - - -// The following context is implemented for FC0013 source code. - -**/ +#ifndef _FC0013_H_ +#define _FC0013_H_ #define FC0013_I2C_ADDR 0xc6 #define FC0013_CHECK_ADDR 0x00 #define FC0013_CHECK_VAL 0xa3 -// Definitions -enum FC0013_TRUE_FALSE_STATUS -{ - FC0013_FALSE, - FC0013_TRUE, -}; - - -enum FC0013_I2C_STATUS -{ - FC0013_I2C_SUCCESS, - FC0013_I2C_ERROR, -}; - - -enum FC0013_FUNCTION_STATUS -{ - FC0013_FUNCTION_SUCCESS, - FC0013_FUNCTION_ERROR, -}; - - - -// Functions -int FC0013_Read(void *pTuner, unsigned char RegAddr, unsigned char *pByte); -int FC0013_Write(void *pTuner, unsigned char RegAddr, unsigned char Byte); - -int -fc0013_SetRegMaskBits( - void *pTuner, - unsigned char RegAddr, - unsigned char Msb, - unsigned char Lsb, - const unsigned char WritingValue - ); - -int -fc0013_GetRegMaskBits( - void *pTuner, - unsigned char RegAddr, - unsigned char Msb, - unsigned char Lsb, - unsigned char *pReadingValue - ); - -int FC0013_Open(void *pTuner); -int FC0013_SetFrequency(void *pTuner, unsigned long Frequency, unsigned short Bandwidth); - -// Set VHF Track depends on input frequency -int FC0013_SetVhfTrack(void *pTuner, unsigned long Frequency); - - -// The following context is FC0013 tuner API source code - - -// Definitions - -// Bandwidth mode -enum FC0013_BANDWIDTH_MODE -{ - FC0013_BANDWIDTH_6000000HZ = 6, - FC0013_BANDWIDTH_7000000HZ = 7, - FC0013_BANDWIDTH_8000000HZ = 8, -}; - - -// Default for initialing -#define FC0013_RF_FREQ_HZ_DEFAULT 50000000 -#define FC0013_BANDWIDTH_MODE_DEFAULT FC0013_BANDWIDTH_8000000HZ - - -// Tuner LNA -enum FC0013_LNA_GAIN_VALUE -{ - FC0013_LNA_GAIN_LOW = 0x00, // -6.3dB - FC0013_LNA_GAIN_MIDDLE = 0x08, // 7.1dB - FC0013_LNA_GAIN_HIGH_17 = 0x11, // 19.1dB - FC0013_LNA_GAIN_HIGH_19 = 0x10, // 19.7dB -}; - -// Manipulaing functions -void -fc0013_GetTunerType( - void *pTuner, - int *pTunerType - ); - -void -fc0013_GetDeviceAddr( - void *pTuner, - unsigned char *pDeviceAddr - ); - -int -fc0013_Initialize( - void *pTuner - ); - -int -fc0013_SetRfFreqHz( - void *pTuner, - unsigned long RfFreqHz - ); - -int -fc0013_GetRfFreqHz( - void *pTuner, - unsigned long *pRfFreqHz - ); - -// Extra manipulaing functions -int -fc0013_SetBandwidthMode( - void *pTuner, - int BandwidthMode - ); - -int -fc0013_GetBandwidthMode( - void *pTuner, - int *pBandwidthMode - ); - -int -fc0013_RcCalReset( - void *pTuner - ); - -int -fc0013_RcCalAdd( - void *pTuner, - int RcValue - ); - - - +int fc0013_init(void *dev); +int fc0013_set_params(void *dev, uint32_t frequency, uint32_t bw); +int fc0013_set_gain(void *dev, int gain); #endif |
